Age | Commit message (Collapse) | Author |
|
Apple states clearly in their documentation about SecTrustResult.Proceed [1]:
The user explicitly chose to trust a certificate in the chain (usually by
clicking a button in a certificate trust panel).
Your app should trust the chain.
This fixes bug #[58411][2], where SecTrustEvaluate returns
SecTrustResult.Proceed starting with iOS 11.
[1]: https://developer.apple.com/documentation/security/1394363-sectrustevaluate
[2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58411
|
|
* [System]: Fix minor leaks in AppleTls. (#5369)
These should be automatically collected by the GC, but explicitly disposing
will keep memory usage more stable over time and keep pressure off the GC.
(cherry picked from commit 093915cf834e7a3242529acae76d11d8a10c7c3d)
(cherry picked from commit 9b8bb0edbef4f3e3f8dda52965c42307caf0f888)
* Make it build.
|
|
(cherry picked from commit c74f44126efe14f933ddc77dc0778f5142be0ec2)
|
|
an exception which is what the calling code expects (#5246)
|
|
is done writing data. (#5226) (#5231)
(cherry picked from commit d1555c7c72e280bcdc1b61ea42266042107dc749)
|
|
This was breaking the hybrid AOT build.
|
|
Windows doesn't like deleting the file, and the original bug was a problem in
SRE, not in the AssemblyBuilder.Save ()
|
|
- Create a unique temporary directory for each test in TypeBuilderTest and delete
it on TearDown.
- Change tests to use tempDir instead of Path.GetTempPath ()
- Change IsSerializable () test to how it was 11 years ago and have it write to a
file with a simple name (but now in a directory where noone else is writing)
- Change FieldsWithSameName (), FieldsWithSameNameAndType () and
MethodsWithSameNameAndSig () to use the default temp assembly (now in a
unique tempDir) instead of using the CreateTempAssembly ()
- Remove CreateTempAssembly function. It is dead code.
|
|
Regression test for https://bugzilla.xamarin.com/show_bug.cgi?id=57222
Although methods aren't affected by this bug, I added a regression test for
this case anyway in case the implementation changes.
Currently MethodBuilder.RuntimeResolve() goes through a different codepath - it
calls RuntimeType.GetMethod (MethodInfo) which calls into an icall which looks
for a method with a matching token rather than a matching name.
|
|
RuntimeType:GetField (FieldInfo) looks up the field by name and attributes,
which doesn't work for SRE because it is legal to create multiple fields with
the same name and type and attributes. So lookup using the
RuntimeFieldHandle (aka MonoClassField*) instead.
|
|
Regression test for https://bugzilla.xamarin.com/show_bug.cgi?id=57222
|
|
When creating a bundle on Windows to run on Android, macOS/iOS or Linux we need
to use the target system's path separator when storing satellite assemblies in
the bundle instead of the host system's one. Failing to do so will embed (on
Windows) the satellite assemblies with paths like
fr_FR\myassembly.resources.dll
while at runtime Mono will try to look up the assembly by
fr_FR/myassembly.resources.dll
and fail to find it, obviously. The `--style` parameter is now consulted to see
what path separator character should be used.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55603
|
|
Local Scopes' table in ppdb files available in sdb. (#4961)"
This reverts commit a88457ac21078aab675d8c2955caf55ed93bce4f.
|
|
Scopes' table in ppdb files available in sdb. (#4961)
|
|
operands. Fixes #53202
|
|
After looking at https://github.com/mono/mono/pull/4949 I did a
quick pass through the other config sections and found two more
cases where we missed adding to the properties list.
(cherry picked from commit cbd180afe66dbe3da18a22c5260e171a82dc207e)
|
|
(cherry picked from commit 45e66c5362ea37b5135269edc93c365304b85294)
|
|
[2017-04][metadata] expand uninstantiated generic type definitions used as generic type args (Fixes #54485)
|
|
* [S.R.I.RuntimeInformation] Fix FrameworkDescription on Android
It turns out using `DllImport ["__Internal"]` doesn't work on
XA (and other cases where Mono is embedded) because it searches
for the method in the host which embeds Mono and doesn't find it,
resulting in an EntryPointNotFoundException.
We need to switch to an icall instead. However there's already
an existing icall+BCL wrapper: Mono.Runtime.GetDisplayName().
Added IVT from corlib to S.R.I.RuntimeInformation so we can call it.
* Update API snapshot
(cherry picked from commit 37fe83f6eaf073ae7ecd470bf3d2541af5829652)
|
|
Regression test for https://bugzilla.xamarin.com/show_bug.cgi?id=54485
|
|
|
|
SocketAsyncEventArgs.FinishWrapperConnectSuccess(). (#4894)
(cherry picked from commit d62228e521645a00a653d3049b37b5dbd8b86486)
|
|
* [Facades] Update to match latest contracts
* Update API snapshot
(cherry picked from commit 966d8f2a574bb81950bc577b4c8badfc287da496)
|
|
(cherry picked from commit a2c9df561740b035631f32c516e03bd5fcc03aa0)
|
|
(cherry picked from commit 07b8eaa68fa48d57c04fdeb1a8a7472061280c05)
|
|
(cherry picked from commit 08c7d3c1203827cc92ed0642d91e0652dd83550a)
|
|
Fixes #56081
|
|
* Bug #56499: unreadable /etc/localtime should not cause an exception
* Fix build
(cherry picked from commit 940944dcdefb56f7952cd35a43bcbd5f70ba78ef)
|
|
|
|
Follow-up to https://github.com/mono/mono/pull/4899. I audited
all the places in BCL where we made use of Cecil's AssemblyDefinition
and made sure we're properly disposing them and not keeping files
unnecessarily open.
I used InMemory=true in cases where tracking the lifetime would
be complicated. There are also some tests in mcs/tests which I
didn't bother to fix.
(cherry picked from commit 3637f8cddf52608a6f7f865ab8e7419c8d98e851)
|
|
Context: https://bugzilla.xamarin.com/show_bug.cgi?id=56275
Recent Cecil 0.10 changed to not reading the assembly in memory but
instead reads directly from the underlying stream [0]. This however
means that the file handle is not freed until the AssemblyDefinition
is disposed.
Xamarin.Android is using the pdb2mdb source as part of
Xamarin.Android.Build.Tasks.dll and hit an issue where the file
would be locked inside of VS.
[0] http://cecil.pe/post/149243207656/mono-cecil-010-beta-1
(cherry picked from commit 5077205a44a7dc97edf6b67072bea53f043cf815)
|
|
See https://bugzilla.xamarin.com/show_bug.cgi?id=56493.
Backport of PR #4877.
|
|
It was #ifdef'ed to only be available on monotouch before,
but the testing_aot_full profile in CI runs into this test failure:
```
MESSAGE:
System.ExecutionEngineException : Attempting to JIT compile method '(wrapper native-to-managed) Mono.Btls.MonoBtlsSslCtx:NativeVerifyCallback (intptr,int,intptr)' while running in aot-only mode. See https://developer.xamarin.com/guides/ios/advanced_topics/limitations/ for more information.
+++++++++++++++++++
STACK TRACE:
at (wrapper managed-to-native) System.Object:__icall_wrapper_mono_thread_interruption_checkpoint ()
at (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:GetFunctionPointerForDelegateInternal (System.Delegate)
at System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate[TDelegate] (TDelegate d) [0x00013] in <fa55a8c31ba0490383239e5850d81686>:0
at Mono.Btls.MonoBtlsSslCtx..ctor (Mono.Btls.MonoBtlsSslCtx+BoringSslCtxHandle handle) [0x00059] in <18810f39bffc41dcb0263eb2043cc10e>:0
at Mono.Btls.MonoBtlsSslCtx..ctor () [0x0000b] in <18810f39bffc41dcb0263eb2043cc10e>:0
at Mono.Btls.MonoBtlsContext.InitializeConnection () [0x00000] in <18810f39bffc41dcb0263eb2043cc10e>:0
at Mono.Btls.MonoBtlsContext.StartHandshake () [0x00000] in <18810f39bffc41dcb0263eb2043cc10e>:0
at Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Mono.Net.Security.AsyncProtocolRequest asyncRequest, Mono.Net.Security.AsyncOperationStatus status) [0x00004] in <18810f39bffc41dcb0263eb2043cc10e>:0
at Mono.Net.Security.AsyncProtocolRequest.ProcessOperation (Mono.Net.Security.AsyncOperationStatus status) [0x0006b] in <18810f39bffc41dcb0263eb2043cc10e>:0
at Mono.Net.Security.AsyncProtocolRequest.ProcessOperation () [0x0000d] in <18810f39bffc41dcb0263eb2043cc10e>:0
at Mono.Net.Security.AsyncProtocolRequest.StartOperation () [0x0003c] in <18810f39bffc41dcb0263eb2043cc10e>:0
at Mono.Net.Security.AsyncProtocolRequest.StartOperation (Mono.Net.Security.AsyncOperation operation) [0x00024] in <18810f39bffc41dcb0263eb2043cc10e>:0
at Mono.Net.Security.MobileAuthenticatedStream.ProcessAuthentication (System.Net.LazyAsyncResult lazyResult) [0x00057] in <18810f39bffc41dcb0263eb2043cc10e>:0
```
The attribute itself is already conditional on MONOTOUCH and
FULL_AOT_RUNTIME so simply removing the ifdef should fix the issue.
(cherry picked from commit f4ce23e0b74688a0c2fe68ff9d9e6650e72775bb)
|
|
We previously recursed through the entire directed cyclic graph
of the type passed to SRE. When given a (legal) circular type reference,
we encountered stack overflows. This was particularly easy to trigger
with fsharpi and with FAKE.
By creating everything about the type before searching for the parent,
and by defering all type hierarchy establishment until the type must be
surfaced to manage code, we tease out the data dependencies caught up in
the cycle.
Note the bounded lifetime of the unmanaged object hidden in the SRE
module, which acts as a global reference for all types reachable from
the TypeBuilder passed to the runtime through the icall.
|
|
(cherry picked from commit 8077ff5da774bb771c896d6fdb40740f649975af)
|
|
(cherry picked from commit 2324773fbb7ffa6e86fafb39c11ac724cc1ccd50)
|
|
constructor accesses Encoding.Default which causes infinite recursion on Windows for codepages supported via I18N. While trying to load I18N assemblies, assembly names are marshaled in managed code now hitting this code path. Fixes Xamarin bug 43988.
|
|
Use 'ObjCRuntimeInternal' as the namespace instead of 'ObjCRuntime' to avoid
these compiler-warnings when building xamarin-macios assemblies (which defines
the same types in the ObjCRuntime namespace, and to whom System.dll has an
InternalsVisibleTo attribute):
> xamarin-macios/src/build/watch/watch/Foundation/NSExtensionRequestHandling.g.cs(28,49): warning CS0436: The type `ObjCRuntime.INativeObject' conflicts with the imported type of same name'. Ignoring the imported type definition
> xamarin-macios/src/ObjCRuntime/INativeObject.cs(6,19): (Location of the symbol related to previous warning)
> xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.WatchOS/repl/System.dll (Location of the symbol related to previous warning)
|
|
|
|
|
|
|
|
(cherry picked from commit 9667aa6485bfc59ba257e9fb73f5e2cfbc9a2e50)
|
|
Move the call to SslStream.AuthenticateAsServer() into the constructor because
we don't want to call it again when Init() is called from Close().
(cherry picked from commit 5e08742b5c299c0503d11ea44d115c32a6b7c68f)
|
|
(cherry picked from commit 9667b4ef59cf8ce2617dadebb08fe1b85f1ac33d)
|
|
(cherry picked from commit 49bb738eb2298c5a5388d22e2d6176cf798a1f05)
|
|
Regression tests for https://bugzilla.xamarin.com/show_bug.cgi?id=55681
|
|
|
|
|
|
runtime (#4728)
monodroid used to build its own version of mkbundle since it
requires slightly different code than the desktop. This
logic was protected in a #if block. Now that monodroid is
trying to make use of the shipped mkbundle rather than use
its own we need to turn this logic on at runtime.
A new parameter has been added
--bundled-header
When this option is passed, the code which skips including
mono/metadata/mono-config.h
will be skipped in favour of defining the required structures
and entry points directly.
(cherry picked from commit 59737b2a477874315059ed83ad4dd2ca9f8b19e8)
|
|
_._ like nugets and ignore version mismatch
|