From 47a1b3e5928d83680126c5ee5afcf430d48ed0b1 Mon Sep 17 00:00:00 2001 From: "Xamarin Public Jenkins (auto-signing)" Date: Wed, 5 Sep 2018 08:26:42 +0000 Subject: [PATCH] Imported Upstream version 5.16.0.144 Former-commit-id: 2b9e8926e7df56dfea2d6991a64c8f5129cfffcb --- configure.REMOVED.git-id | 2 +- configure.ac.REMOVED.git-id | 2 +- .../monodroid/mscorlib.cs.REMOVED.git-id | 2 +- .../monotouch/mscorlib.cs.REMOVED.git-id | 2 +- .../net_4_x/mscorlib.cs.REMOVED.git-id | 2 +- mcs/build/common/Consts.cs | 2 +- .../System/Mono.Btls/MonoBtlsProvider.cs | 139 +++++++++--------- .../MobileAuthenticatedStream.cs | 2 +- .../System/Mono.Net.Security/MonoTlsStream.cs | 11 +- mcs/class/System/System.Net/WebConnection.cs | 8 + mcs/class/System/System.Net/WebReadStream.cs | 2 +- mcs/class/corlib/ReferenceSources/String.cs | 7 + .../Test/System.Reflection/MethodInfoTest.cs | 55 +++++++ .../corlib/Test/System/EnvironmentTest.cs | 7 + .../Mono.Security.dll.REMOVED.git-id | 2 +- .../System.Configuration.dll.REMOVED.git-id | 2 +- .../1051600011/System.IO.Compression.dll | Bin 99328 -> 99328 bytes .../System.Numerics.dll.REMOVED.git-id | 2 +- .../System.Security.dll.REMOVED.git-id | 2 +- .../1051600011/System.Xml.dll.REMOVED.git-id | 2 +- .../1051600011/System.dll.REMOVED.git-id | 2 +- .../1051600011/mcs.exe.REMOVED.git-id | 2 +- .../1051600011/mscorlib.dll.REMOVED.git-id | 2 +- .../Mono.Security.dll.REMOVED.git-id | 2 +- .../System.Configuration.dll.REMOVED.git-id | 2 +- .../1051600011/System.IO.Compression.dll | Bin 99328 -> 99328 bytes .../System.Numerics.dll.REMOVED.git-id | 2 +- .../System.Security.dll.REMOVED.git-id | 2 +- .../1051600011/System.Xml.dll.REMOVED.git-id | 2 +- .../1051600011/System.dll.REMOVED.git-id | 2 +- .../1051600011/mcs.exe.REMOVED.git-id | 2 +- .../1051600011/mscorlib.dll.REMOVED.git-id | 2 +- .../Mono.Security.dll.REMOVED.git-id | 2 +- .../System.Configuration.dll.REMOVED.git-id | 2 +- .../1051600011/System.IO.Compression.dll | Bin 99328 -> 99328 bytes .../System.Numerics.dll.REMOVED.git-id | 2 +- .../System.Security.dll.REMOVED.git-id | 2 +- .../1051600011/System.Xml.dll.REMOVED.git-id | 2 +- .../1051600011/System.dll.REMOVED.git-id | 2 +- .../1051600011/mcs.exe.REMOVED.git-id | 2 +- .../1051600011/mscorlib.dll.REMOVED.git-id | 2 +- mono/metadata/assembly.c.REMOVED.git-id | 2 +- mono/metadata/icall.c.REMOVED.git-id | 2 +- mono/mini/version.h | 2 +- po/mcs/de.gmo | Bin 5406 -> 5406 bytes po/mcs/de.po.REMOVED.git-id | 2 +- po/mcs/es.gmo | Bin 16329 -> 16329 bytes po/mcs/es.po.REMOVED.git-id | 2 +- po/mcs/ja.gmo | Bin 20863 -> 20863 bytes po/mcs/ja.po.REMOVED.git-id | 2 +- po/mcs/mcs.pot | 4 +- po/mcs/pt_BR.gmo | Bin 72806 -> 72806 bytes po/mcs/pt_BR.po.REMOVED.git-id | 2 +- 53 files changed, 201 insertions(+), 108 deletions(-) diff --git a/configure.REMOVED.git-id b/configure.REMOVED.git-id index a5a15ab28c..9c13117e95 100644 --- a/configure.REMOVED.git-id +++ b/configure.REMOVED.git-id @@ -1 +1 @@ -d6e02f659617784f5dc88b30fcd809e5b88e0941 \ No newline at end of file +6a4b68ccb5c3097357e1a2d56cd89ebd9d38a301 \ No newline at end of file diff --git a/configure.ac.REMOVED.git-id b/configure.ac.REMOVED.git-id index 9110959f21..6951cba920 100644 --- a/configure.ac.REMOVED.git-id +++ b/configure.ac.REMOVED.git-id @@ -1 +1 @@ -4ba07eb03127098c4d335226ef0efc214a051b0c \ No newline at end of file +600b9ac309a3b7f10e3d02596d7da316f96dd787 \ No newline at end of file diff --git a/external/api-snapshot/profiles/monodroid/mscorlib.cs.REMOVED.git-id b/external/api-snapshot/profiles/monodroid/mscorlib.cs.REMOVED.git-id index 825cf38d62..26c62f9fa6 100644 --- a/external/api-snapshot/profiles/monodroid/mscorlib.cs.REMOVED.git-id +++ b/external/api-snapshot/profiles/monodroid/mscorlib.cs.REMOVED.git-id @@ -1 +1 @@ -ad3837793c1a54bb1919f1b8685ba5e3c39c301b \ No newline at end of file +3e5fbe0a8e9832a6c1fa10e9e6fcb9b7760767d7 \ No newline at end of file diff --git a/external/api-snapshot/profiles/monotouch/mscorlib.cs.REMOVED.git-id b/external/api-snapshot/profiles/monotouch/mscorlib.cs.REMOVED.git-id index 327657ffcb..91f0aaa37f 100644 --- a/external/api-snapshot/profiles/monotouch/mscorlib.cs.REMOVED.git-id +++ b/external/api-snapshot/profiles/monotouch/mscorlib.cs.REMOVED.git-id @@ -1 +1 @@ -24297e223be1a2ddc160f0b3bdaf01a0b73f3739 \ No newline at end of file +0e5ebabffda13f7e89b4933bf05bcaf7e5d7cdc3 \ No newline at end of file diff --git a/external/api-snapshot/profiles/net_4_x/mscorlib.cs.REMOVED.git-id b/external/api-snapshot/profiles/net_4_x/mscorlib.cs.REMOVED.git-id index 393cae410f..65712244f6 100644 --- a/external/api-snapshot/profiles/net_4_x/mscorlib.cs.REMOVED.git-id +++ b/external/api-snapshot/profiles/net_4_x/mscorlib.cs.REMOVED.git-id @@ -1 +1 @@ -6181969e24280652542eb81a3986d47fe16200f0 \ No newline at end of file +9bca9460d6b9cd74dd3d146987c845648fdb7094 \ No newline at end of file diff --git a/mcs/build/common/Consts.cs b/mcs/build/common/Consts.cs index bd3eee5aa0..e66b31ea59 100644 --- a/mcs/build/common/Consts.cs +++ b/mcs/build/common/Consts.cs @@ -34,7 +34,7 @@ static class Consts // Use these assembly version constants to make code more maintainable. // - public const string MonoVersion = "5.16.0.139"; + public const string MonoVersion = "5.16.0.144"; public const string MonoCompany = "Mono development team"; public const string MonoProduct = "Mono Common Language Infrastructure"; public const string MonoCopyright = "(c) Various Mono authors"; diff --git a/mcs/class/System/Mono.Btls/MonoBtlsProvider.cs b/mcs/class/System/Mono.Btls/MonoBtlsProvider.cs index d3d7e8f8a9..076e058425 100644 --- a/mcs/class/System/Mono.Btls/MonoBtlsProvider.cs +++ b/mcs/class/System/Mono.Btls/MonoBtlsProvider.cs @@ -215,93 +215,100 @@ namespace Mono.Btls bool success, ref MonoSslPolicyErrors errors, ref int status11) { status11 = unchecked((int)0); - if (!success) { - errors = MonoSslPolicyErrors.RemoteCertificateChainErrors; - var error = storeCtx.GetError(); - if (error != Mono.Btls.MonoBtlsX509Error.OK & - error != Mono.Btls.MonoBtlsX509Error.CRL_NOT_YET_VALID) { - chain.Impl.AddStatus(MapVerifyErrorToChainStatus(error)); - status11 = unchecked((int)0x800B010B); - } + if (success) + return; + errors = MonoSslPolicyErrors.RemoteCertificateChainErrors; + if (!wantsChain || storeCtx == null || chain == null) { + status11 = unchecked((int)0x800B010B); + return; + } + var error = storeCtx.GetError(); + if (error != Mono.Btls.MonoBtlsX509Error.OK & + error != Mono.Btls.MonoBtlsX509Error.CRL_NOT_YET_VALID) { + chain.Impl.AddStatus(MapVerifyErrorToChainStatus(error)); + status11 = unchecked((int)0x800B010B); } } - internal static X509ChainStatusFlags MapVerifyErrorToChainStatus(MonoBtlsX509Error code) + internal static X509ChainStatusFlags MapVerifyErrorToChainStatus (MonoBtlsX509Error code) { - switch (code) - { - case Mono.Btls.MonoBtlsX509Error.OK : - return X509ChainStatusFlags.NoError; + switch (code) { + case MonoBtlsX509Error.OK : + return X509ChainStatusFlags.NoError; - case Mono.Btls.MonoBtlsX509Error.CERT_NOT_YET_VALID : - case Mono.Btls.MonoBtlsX509Error.CERT_HAS_EXPIRED: - case Mono.Btls.MonoBtlsX509Error.ERROR_IN_CERT_NOT_BEFORE_FIELD: - case Mono.Btls.MonoBtlsX509Error.ERROR_IN_CERT_NOT_AFTER_FIELD: - return X509ChainStatusFlags.NotTimeValid; + case MonoBtlsX509Error.CERT_NOT_YET_VALID : + case MonoBtlsX509Error.CERT_HAS_EXPIRED: + case MonoBtlsX509Error.ERROR_IN_CERT_NOT_BEFORE_FIELD: + case MonoBtlsX509Error.ERROR_IN_CERT_NOT_AFTER_FIELD: + return X509ChainStatusFlags.NotTimeValid; - case Mono.Btls.MonoBtlsX509Error.CERT_REVOKED: - return X509ChainStatusFlags.Revoked; + case MonoBtlsX509Error.CERT_REVOKED: + return X509ChainStatusFlags.Revoked; - case Mono.Btls.MonoBtlsX509Error.UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: - case Mono.Btls.MonoBtlsX509Error.CERT_SIGNATURE_FAILURE: - return X509ChainStatusFlags.NotSignatureValid; + case MonoBtlsX509Error.UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: + case MonoBtlsX509Error.CERT_SIGNATURE_FAILURE: + return X509ChainStatusFlags.NotSignatureValid; - case Mono.Btls.MonoBtlsX509Error.CERT_UNTRUSTED: - case Mono.Btls.MonoBtlsX509Error.DEPTH_ZERO_SELF_SIGNED_CERT: - case Mono.Btls.MonoBtlsX509Error.SELF_SIGNED_CERT_IN_CHAIN: - return X509ChainStatusFlags.UntrustedRoot; + case MonoBtlsX509Error.CERT_UNTRUSTED: + case MonoBtlsX509Error.DEPTH_ZERO_SELF_SIGNED_CERT: + case MonoBtlsX509Error.SELF_SIGNED_CERT_IN_CHAIN: + return X509ChainStatusFlags.UntrustedRoot; - case Mono.Btls.MonoBtlsX509Error.CRL_HAS_EXPIRED: - return X509ChainStatusFlags.OfflineRevocation; + case MonoBtlsX509Error.CRL_HAS_EXPIRED: + return X509ChainStatusFlags.OfflineRevocation; - case Mono.Btls.MonoBtlsX509Error.CRL_NOT_YET_VALID: - case Mono.Btls.MonoBtlsX509Error.CRL_SIGNATURE_FAILURE: - case Mono.Btls.MonoBtlsX509Error.ERROR_IN_CRL_LAST_UPDATE_FIELD: - case Mono.Btls.MonoBtlsX509Error.ERROR_IN_CRL_NEXT_UPDATE_FIELD: - case Mono.Btls.MonoBtlsX509Error.KEYUSAGE_NO_CRL_SIGN: - case Mono.Btls.MonoBtlsX509Error.UNABLE_TO_DECRYPT_CRL_SIGNATURE: - case Mono.Btls.MonoBtlsX509Error.UNABLE_TO_GET_CRL: - case Mono.Btls.MonoBtlsX509Error.UNABLE_TO_GET_CRL_ISSUER: - case Mono.Btls.MonoBtlsX509Error.UNHANDLED_CRITICAL_CRL_EXTENSION: - return X509ChainStatusFlags.RevocationStatusUnknown; + case MonoBtlsX509Error.CRL_NOT_YET_VALID: + case MonoBtlsX509Error.CRL_SIGNATURE_FAILURE: + case MonoBtlsX509Error.ERROR_IN_CRL_LAST_UPDATE_FIELD: + case MonoBtlsX509Error.ERROR_IN_CRL_NEXT_UPDATE_FIELD: + case MonoBtlsX509Error.KEYUSAGE_NO_CRL_SIGN: + case MonoBtlsX509Error.UNABLE_TO_DECRYPT_CRL_SIGNATURE: + case MonoBtlsX509Error.UNABLE_TO_GET_CRL: + case MonoBtlsX509Error.UNABLE_TO_GET_CRL_ISSUER: + case MonoBtlsX509Error.UNHANDLED_CRITICAL_CRL_EXTENSION: + return X509ChainStatusFlags.RevocationStatusUnknown; - case Mono.Btls.MonoBtlsX509Error.INVALID_EXTENSION: - return X509ChainStatusFlags.InvalidExtension; + case MonoBtlsX509Error.INVALID_EXTENSION: + return X509ChainStatusFlags.InvalidExtension; - case Mono.Btls.MonoBtlsX509Error.UNABLE_TO_GET_ISSUER_CERT: - case Mono.Btls.MonoBtlsX509Error.UNABLE_TO_GET_ISSUER_CERT_LOCALLY: - case Mono.Btls.MonoBtlsX509Error.UNABLE_TO_VERIFY_LEAF_SIGNATURE: - return X509ChainStatusFlags.PartialChain; + case MonoBtlsX509Error.UNABLE_TO_GET_ISSUER_CERT: + case MonoBtlsX509Error.UNABLE_TO_GET_ISSUER_CERT_LOCALLY: + case MonoBtlsX509Error.UNABLE_TO_VERIFY_LEAF_SIGNATURE: + return X509ChainStatusFlags.PartialChain; - case Mono.Btls.MonoBtlsX509Error.INVALID_PURPOSE: - return X509ChainStatusFlags.NotValidForUsage; + case MonoBtlsX509Error.INVALID_PURPOSE: + return X509ChainStatusFlags.NotValidForUsage; - case Mono.Btls.MonoBtlsX509Error.INVALID_CA: - case Mono.Btls.MonoBtlsX509Error.INVALID_NON_CA: - case Mono.Btls.MonoBtlsX509Error.PATH_LENGTH_EXCEEDED: - case Mono.Btls.MonoBtlsX509Error.KEYUSAGE_NO_CERTSIGN: - case Mono.Btls.MonoBtlsX509Error.KEYUSAGE_NO_DIGITAL_SIGNATURE: - return X509ChainStatusFlags.InvalidBasicConstraints; + case MonoBtlsX509Error.INVALID_CA: + case MonoBtlsX509Error.INVALID_NON_CA: + case MonoBtlsX509Error.PATH_LENGTH_EXCEEDED: + case MonoBtlsX509Error.KEYUSAGE_NO_CERTSIGN: + case MonoBtlsX509Error.KEYUSAGE_NO_DIGITAL_SIGNATURE: + return X509ChainStatusFlags.InvalidBasicConstraints; - case Mono.Btls.MonoBtlsX509Error.INVALID_POLICY_EXTENSION: - case Mono.Btls.MonoBtlsX509Error.NO_EXPLICIT_POLICY: - return X509ChainStatusFlags.InvalidPolicyConstraints; + case MonoBtlsX509Error.INVALID_POLICY_EXTENSION: + case MonoBtlsX509Error.NO_EXPLICIT_POLICY: + return X509ChainStatusFlags.InvalidPolicyConstraints; - case Mono.Btls.MonoBtlsX509Error.CERT_REJECTED: - return X509ChainStatusFlags.ExplicitDistrust; + case MonoBtlsX509Error.CERT_REJECTED: + return X509ChainStatusFlags.ExplicitDistrust; - case Mono.Btls.MonoBtlsX509Error.UNHANDLED_CRITICAL_EXTENSION: - return X509ChainStatusFlags.HasNotSupportedCriticalExtension; + case MonoBtlsX509Error.UNHANDLED_CRITICAL_EXTENSION: + return X509ChainStatusFlags.HasNotSupportedCriticalExtension; - case Mono.Btls.MonoBtlsX509Error.CERT_CHAIN_TOO_LONG: - throw new CryptographicException(); + case MonoBtlsX509Error.HOSTNAME_MISMATCH: + // FIXME: we should have a better error flag for this. + return X509ChainStatusFlags.UntrustedRoot; - case Mono.Btls.MonoBtlsX509Error.OUT_OF_MEM: - throw new OutOfMemoryException(); + case MonoBtlsX509Error.CERT_CHAIN_TOO_LONG: + throw new CryptographicException (); + + case MonoBtlsX509Error.OUT_OF_MEM: + throw new OutOfMemoryException (); default: - throw new CryptographicException("Unrecognized X509VerifyStatusCode:" + code); - } + throw new CryptographicException ("Unrecognized X509VerifyStatusCode:" + code); + } } internal static void SetupCertificateStore (MonoBtlsX509Store store, MonoTlsSettings settings, bool server) diff --git a/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs b/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs index 47692d4344..b89a982cfa 100644 --- a/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs +++ b/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs @@ -77,7 +77,7 @@ namespace Mono.Net.Security Settings = settings; Provider = provider; - readBuffer = new BufferOffsetSize2 (16834); + readBuffer = new BufferOffsetSize2 (16500); writeBuffer = new BufferOffsetSize2 (16384); operation = Operation.None; } diff --git a/mcs/class/System/Mono.Net.Security/MonoTlsStream.cs b/mcs/class/System/Mono.Net.Security/MonoTlsStream.cs index 52d1be27ee..ef9ebead1d 100644 --- a/mcs/class/System/Mono.Net.Security/MonoTlsStream.cs +++ b/mcs/class/System/Mono.Net.Security/MonoTlsStream.cs @@ -50,7 +50,7 @@ using System.Security.Cryptography; namespace Mono.Net.Security { - class MonoTlsStream + class MonoTlsStream : IDisposable { #if SECURITY_DEP readonly MonoTlsProvider provider; @@ -136,6 +136,7 @@ namespace Mono.Net.Security request.ServicePoint.UpdateClientCertificate (sslStream.InternalLocalCertificate); else { request.ServicePoint.UpdateClientCertificate (null); + sslStream.Dispose (); sslStream = null; } } @@ -154,5 +155,13 @@ namespace Mono.Net.Security throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); #endif } + + public void Dispose () + { + if (sslStream != null) { + sslStream.Dispose (); + sslStream = null; + } + } } } diff --git a/mcs/class/System/System.Net/WebConnection.cs b/mcs/class/System/System.Net/WebConnection.cs index b79b481ea7..5fd7e013a9 100644 --- a/mcs/class/System/System.Net/WebConnection.cs +++ b/mcs/class/System/System.Net/WebConnection.cs @@ -405,6 +405,7 @@ namespace System.Net void CloseSocket () { lock (this) { + Debug ($"WC CLOSE SOCKET: Cnc={ID} NS={networkStream} TLS={monoTlsStream}"); if (networkStream != null) { try { networkStream.Dispose (); @@ -412,6 +413,13 @@ namespace System.Net networkStream = null; } + if (monoTlsStream != null) { + try { + monoTlsStream.Dispose (); + } catch { } + monoTlsStream = null; + } + if (socket != null) { try { socket.Dispose (); diff --git a/mcs/class/System/System.Net/WebReadStream.cs b/mcs/class/System/System.Net/WebReadStream.cs index 41d37297ea..a9842de44a 100644 --- a/mcs/class/System/System.Net/WebReadStream.cs +++ b/mcs/class/System/System.Net/WebReadStream.cs @@ -41,7 +41,7 @@ namespace System.Net } #if MONO_WEB_DEBUG - internal string ME => $"WRS({GetType ().Name}:Op={operation.ID})"; + internal string ME => $"WRS({GetType ().Name}:Op={Operation.ID})"; #else internal string ME => null; #endif diff --git a/mcs/class/corlib/ReferenceSources/String.cs b/mcs/class/corlib/ReferenceSources/String.cs index 6d8866a058..f194b7c0f8 100644 --- a/mcs/class/corlib/ReferenceSources/String.cs +++ b/mcs/class/corlib/ReferenceSources/String.cs @@ -86,6 +86,13 @@ namespace System return -1; } + [CLSCompliant(false)] + public static String Concat(Object arg0, Object arg1, Object arg2, Object arg3, __arglist) + { + // Added to maintain backward compatibility, see https://github.com/mono/mono/issues/9996 + throw new PlatformNotSupportedException(); + } + internal unsafe int IndexOfUncheckedIgnoreCase (string value, int startIndex, int count) { int valueLen = value.Length; diff --git a/mcs/class/corlib/Test/System.Reflection/MethodInfoTest.cs b/mcs/class/corlib/Test/System.Reflection/MethodInfoTest.cs index c68116ea0e..ef6b571451 100644 --- a/mcs/class/corlib/Test/System.Reflection/MethodInfoTest.cs +++ b/mcs/class/corlib/Test/System.Reflection/MethodInfoTest.cs @@ -31,6 +31,7 @@ using NUnit.Framework; using System; +using System.Linq; using System.Threading; using System.Reflection; #if !MONOTOUCH && !FULL_AOT_RUNTIME @@ -890,6 +891,60 @@ namespace MonoTests.System.Reflection } } + static void EnsureMethodExists (Type type, string name, params Type[] parameterTypes) + { + var method = type.GetTypeInfo ().GetDeclaredMethods (name) + .SingleOrDefault (m => m.GetParameters ().Select (p => p.ParameterType).SequenceEqual (parameterTypes)); + Assert.IsNotNull (method, $"{type}.{name}"); + } + + public void EnsureEntityFrameworkMethodsExist () + { + // EntityFramework6 relies on the following methods + // see https://github.com/aspnet/EntityFramework6/blob/master/src/EntityFramework/Core/Objects/ELinq/MethodCallTranslator.cs#L846 + // also https://github.com/mono/mono/pull/10452 + EnsureMethodExists (typeof (Math), "Ceiling", typeof (decimal)); + EnsureMethodExists (typeof (Math), "Ceiling", typeof (double)); + EnsureMethodExists (typeof (Math), "Floor", typeof (decimal)); + EnsureMethodExists (typeof (Math), "Floor", typeof (double)); + EnsureMethodExists (typeof (Math), "Round", typeof (decimal)); + EnsureMethodExists (typeof (Math), "Round", typeof (double)); + EnsureMethodExists (typeof (Math), "Round", typeof (decimal), typeof (int)); + EnsureMethodExists (typeof (Math), "Round", typeof (double), typeof (int)); + EnsureMethodExists (typeof (Decimal), "Floor", typeof (decimal)); + EnsureMethodExists (typeof (Decimal), "Ceiling", typeof (decimal)); + EnsureMethodExists (typeof (Decimal), "Round", typeof (decimal)); + EnsureMethodExists (typeof (Decimal), "Round", typeof (decimal), typeof (int)); + EnsureMethodExists (typeof (String), "Replace", typeof (String), typeof (String)); + EnsureMethodExists (typeof (String), "ToLower"); + EnsureMethodExists (typeof (String), "ToUpper"); + EnsureMethodExists (typeof (String), "Trim"); + EnsureMethodExists (typeof (Math), "Truncate", typeof (decimal)); + EnsureMethodExists (typeof (Math), "Truncate", typeof (double)); + EnsureMethodExists (typeof (Math), "Pow", typeof (double), typeof (double)); + EnsureMethodExists (typeof (Guid), "NewGuid"); + EnsureMethodExists (typeof (String), "Contains", typeof (string)); + EnsureMethodExists (typeof (String), "IndexOf", typeof (string)); + EnsureMethodExists (typeof (String), "StartsWith", typeof (string)); + EnsureMethodExists (typeof (String), "EndsWith", typeof (string)); + EnsureMethodExists (typeof (String), "Substring", typeof (int)); + EnsureMethodExists (typeof (String), "Substring", typeof (int), typeof (int)); + EnsureMethodExists (typeof (String), "Remove", typeof (int)); + EnsureMethodExists (typeof (String), "Remove", typeof (int), typeof (int)); + EnsureMethodExists (typeof (String), "IsNullOrEmpty", typeof (string)); + EnsureMethodExists (typeof (String), "Concat", typeof (string), typeof (string)); + EnsureMethodExists (typeof (String), "Concat", typeof (string), typeof (string), typeof (string)); + EnsureMethodExists (typeof (String), "Concat", typeof (string), typeof (string), typeof (string), typeof (string)); + EnsureMethodExists (typeof (String), "Concat", typeof (object), typeof (object)); + EnsureMethodExists (typeof (String), "Concat", typeof (object), typeof (object), typeof (object)); + EnsureMethodExists (typeof (String), "Concat", typeof (object), typeof (object), typeof (object), typeof (object)); + EnsureMethodExists (typeof (String), "Concat", typeof (object[])); + EnsureMethodExists (typeof (String), "Concat", typeof (string[])); + EnsureMethodExists (typeof (String), "Trim", typeof (Char[])); + EnsureMethodExists (typeof (String), "TrimStart", typeof (Char[])); + EnsureMethodExists (typeof (String), "TrimEnd", typeof (Char[])); + } + [Test] public void TestLocalVariableTypes () { diff --git a/mcs/class/corlib/Test/System/EnvironmentTest.cs b/mcs/class/corlib/Test/System/EnvironmentTest.cs index fb547931b2..8a6997699e 100644 --- a/mcs/class/corlib/Test/System/EnvironmentTest.cs +++ b/mcs/class/corlib/Test/System/EnvironmentTest.cs @@ -231,6 +231,13 @@ namespace MonoTests.System Environment.SetEnvironmentVariable ("A3", "\0"); Assert.IsNull (Environment.GetEnvironmentVariables ()["A3"]); } + + [Test] // github issue #9839 + public void MachineNameIsNotFullyQualifiedDomainName () + { + Assert.IsNotNull (Environment.MachineName); + Assert.AreEqual (-1, Environment.MachineName.IndexOf(".")); + } #endif } } diff --git a/mcs/class/lib/monolite-darwin/1051600011/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051600011/Mono.Security.dll.REMOVED.git-id index c3b4b30de8..c467fb3b27 100644 --- a/mcs/class/lib/monolite-darwin/1051600011/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051600011/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -7fd0f29b958ae09cd0886bcc03cce09e6499d6f9 \ No newline at end of file +b476d66491f42ba9702070a95bda42f29d948f1f \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051600011/System.Configuration.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051600011/System.Configuration.dll.REMOVED.git-id index baa7314655..7098bd399f 100644 --- a/mcs/class/lib/monolite-darwin/1051600011/System.Configuration.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051600011/System.Configuration.dll.REMOVED.git-id @@ -1 +1 @@ -b1968f4963438e02eb6652af5656726534053110 \ No newline at end of file +878faffe984e068a944a2fc43126094532feeb1d \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051600011/System.IO.Compression.dll b/mcs/class/lib/monolite-darwin/1051600011/System.IO.Compression.dll index f7b96f37d2ec06f3eee0c496e7149df026b27e17..331f101a6a2b53d2a6b75c5a9dc7320322a02234 100644 GIT binary patch delta 60 zcmV-C0K@-)hz5X&29SsZIZl$-fsD0`0W=H{5rI7f5u?0Im1U2>JN|06x6lj$Xa)r| S05kw9m!N$CDz|470hw^HP8F*F delta 60 zcmV-C0K@-)hz5X&29SsZr6Y#UfsD0`0W=H{jw+D4+!!%SmXX5e<}q!px6lj$Xa)r{ S0673Em!N$CDz|470hw^JN|06x6lj$Xa)r| S05kw9m!N$CDz|470hw^HP8F*F delta 60 zcmV-C0K@-)hz5X&29SsZr6Y#UfsD0`0W=H{jw+D4+!!%SmXX5e<}q!px6lj$Xa)r{ S0673Em!N$CDz|470hw^JN|06x6lj$Xa)r| S05kw9m!N$CDz|470hw^HP8F*F delta 60 zcmV-C0K@-)hz5X&29SsZr6Y#UfsD0`0W=H{jw+D4+!!%SmXX5e<}q!px6lj$Xa)r{ S0673Em!N$CDz|470hw^1p^B!1Cz~fxQw^}N{I${ delta 20 bcmbQIHBW29Q!aL61p^B!L&ME)xQw^}N@fOg diff --git a/po/mcs/de.po.REMOVED.git-id b/po/mcs/de.po.REMOVED.git-id index 16a3b8eabf..0f0bda7952 100644 --- a/po/mcs/de.po.REMOVED.git-id +++ b/po/mcs/de.po.REMOVED.git-id @@ -1 +1 @@ -a40af7352861cc759251316dcb455c37ad02fd8f \ No newline at end of file +be123fc7658826e3e7efed533003394e23cfd91e \ No newline at end of file diff --git a/po/mcs/es.gmo b/po/mcs/es.gmo index cc6efdb2b08e1abf4d9297449531ed4cc42811e0..2e7f2651edb1362c8f9d664ec40e7b0ed973495a 100644 GIT binary patch delta 20 bcmX?Ef3kjqo+7)cf`NsVfyri5#VK+CQK<&4 delta 20 bcmX?Ef3kjqo+7)kf`NsVq2Xpz#VK+CQHBPo diff --git a/po/mcs/es.po.REMOVED.git-id b/po/mcs/es.po.REMOVED.git-id index 204d84a86c..d0948afc21 100644 --- a/po/mcs/es.po.REMOVED.git-id +++ b/po/mcs/es.po.REMOVED.git-id @@ -1 +1 @@ -89c427a304fb3f85344a94d4e8dbc936c0d078e2 \ No newline at end of file +03d3d8ccd03b644bc480a129d18799ccfd95ed12 \ No newline at end of file diff --git a/po/mcs/ja.gmo b/po/mcs/ja.gmo index bdfcff73ff538d71fb1b8a6a72c14d06017ae3b0..43cb9b10639edbf9b1536dab5539605d15ac3644 100644 GIT binary patch delta 22 dcmeyri1Gg-#tj_m?4}9^7FGr(oB7oXv;biH2MGWG delta 22 dcmeyri1Gg-#tj_m?8XWP7FLFaoB7oXv;bh(2L%8C diff --git a/po/mcs/ja.po.REMOVED.git-id b/po/mcs/ja.po.REMOVED.git-id index 632eb751dd..8d281c6f83 100644 --- a/po/mcs/ja.po.REMOVED.git-id +++ b/po/mcs/ja.po.REMOVED.git-id @@ -1 +1 @@ -383658d48ee847a5dba73adba2dd5f9159c46a63 \ No newline at end of file +ed3a2aaadeded63a615ac0868250186820e62b34 \ No newline at end of file diff --git a/po/mcs/mcs.pot b/po/mcs/mcs.pot index 7ee15ff2fb..ca1cf69d98 100644 --- a/po/mcs/mcs.pot +++ b/po/mcs/mcs.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: mono 5.16.0.139\n" +"Project-Id-Version: mono 5.16.0.144\n" "Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n" -"POT-Creation-Date: 2018-09-03 08:11+0000\n" +"POT-Creation-Date: 2018-09-05 08:04+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/po/mcs/pt_BR.gmo b/po/mcs/pt_BR.gmo index 9c76d04ce797431ef6a070c97976a9eda5819f3d..5c299cf89d4fc4c60a8965d90160627e50539600 100644 GIT binary patch delta 22 ecmaF1gXP%{mJM-J*-aG;EUXMnHm6QyYzF{s@(6zb delta 22 ecmaF1gXP%{mJM-J*^LzpEUXL-H>XZzYzF{s&j@<} diff --git a/po/mcs/pt_BR.po.REMOVED.git-id b/po/mcs/pt_BR.po.REMOVED.git-id index 4feeb7c6b4..7b4fa37099 100644 --- a/po/mcs/pt_BR.po.REMOVED.git-id +++ b/po/mcs/pt_BR.po.REMOVED.git-id @@ -1 +1 @@ -a18e7c398cc78a5b0b4eb6b457140a908abb3693 \ No newline at end of file +98981781e9e2e8a2f059a1d667a7b5b67b15539b \ No newline at end of file