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
|
|
Local Scopes' table in ppdb files available in sdb. (#4961)"
This reverts commit a88457ac21078aab675d8c2955caf55ed93bce4f.
|
|
Scopes' table in ppdb files available in sdb. (#4961)
|
|
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)
|
|
* 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)
|
|
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 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
|
|
|
|
|
|
_._ like nugets and ignore version mismatch
|
|
errors are correctly dealt with.
Some network errors in iOS are exposed as Stream errors, specially those
related with the lost of the connection. This patch ensures that if such
an issue happens an exception is raised in the async read task.
Fixes bug https://bugzilla.xamarin.com/show_bug.cgi?id=53792
|
|
Backport of #4682 to 2017-04
|
|
System.Reflection.Metadata
To pick up assembly binding redirections from csc.exe.config
|
|
disposed.
|
|
false as this is the default 4.6.0 behavior.
|
|
non toggle-able on mobile.
We change AppContextSwitches to hardcode values on mobile and use the full stack on desktop.
We still have all strings in AppContextDefaultValues as this reduces the ifdef mess in AppContextSwitches.
It's only used on desktop, where an extra kb is not the end of the world.
|
|
This change makes AppContextSwitches usable which allow backwards incompatible settings to be actually toggled.
|
|
We were using the wrong key since dotnet/standard switched to using the new Open key.
(cherry picked from commit 27fd8e5ad86672d1aff1d0cc1b76ba9cc7b76bcf)
|
|
The TrimSpecial() method and Windows-specific code was removed from
xammac 4.5 so reflection can't find it anymore, handle this case.
Also add a workaround for SqlParameterCollectionTest.CopyToTest()
which fails on watchos since the SqlCommand would throw a PNSE.
It's a workaround because it just makes the test ignored since we don't
set the env var that ConnectionManager.Instance.Sql reads in XI tests,
but it makes the test consistent with the other tests in the suite.
We should fix this properly later on.
(cherry picked from commit ceabda8a54b2580a1cd1feb7d01996c083ac92c3)
|