[System]: Fix TLS Provider registration and use BTLS instead of Legacy. (#4793)
authorMartin Baulig <mabaul@microsoft.com>
Thu, 4 May 2017 20:51:16 +0000 (16:51 -0400)
committerGitHub <noreply@github.com>
Thu, 4 May 2017 20:51:16 +0000 (16:51 -0400)
mcs/class/System/Mono.Net.Security/MonoTlsProviderFactory.cs

index 4d6f2a62fdc30c0496d6c7f69551f682457da95f..96d81315139bdede6a05c6d2a4b36aeb5701b453 100644 (file)
@@ -210,23 +210,24 @@ namespace Mono.Net.Security
                                providerRegistration.Add ("default", appleTlsEntry);
                                providerRegistration.Add ("apple", appleTlsEntry);
 #else
-                               var legacyEntry = new Tuple<Guid,String> (BtlsId, "Mono.Net.Security.LegacyTlsProvider");
+                               var legacyEntry = new Tuple<Guid,String> (LegacyId, "Mono.Net.Security.LegacyTlsProvider");
+                               providerRegistration.Add ("legacy", legacyEntry);
+
+                               Tuple<Guid,String> btlsEntry = null;
 #if MONO_FEATURE_BTLS
-                               var btlsEntry = new Tuple<Guid,String> (LegacyId, "Mono.Btls.MonoBtlsProvider");
+                               if (IsBtlsSupported ()) {
+                                       btlsEntry = new Tuple<Guid,String> (BtlsId, "Mono.Btls.MonoBtlsProvider");
+                                       providerRegistration.Add ("btls", btlsEntry);
+                               }
 #endif
 
-                               providerRegistration.Add ("legacy", legacyEntry);
-
                                if (Platform.IsMacOS)
                                        providerRegistration.Add ("default", appleTlsEntry);
+                               else if (btlsEntry != null)
+                                       providerRegistration.Add ("default", btlsEntry);
                                else
                                        providerRegistration.Add ("default", legacyEntry);
 
-#if MONO_FEATURE_BTLS
-                               if (IsBtlsSupported ())
-                                       providerRegistration.Add ("btls", btlsEntry);
-#endif
-
                                providerRegistration.Add ("apple", appleTlsEntry);
 #endif
                        }