Only send server_name extension for TLS (not SSLv3). Fix for #8312
authorSebastien Pouliot <sebastien@xamarin.com>
Tue, 13 Nov 2012 14:30:28 +0000 (09:30 -0500)
committerSebastien Pouliot <sebastien@xamarin.com>
Tue, 13 Nov 2012 14:30:28 +0000 (09:30 -0500)
mcs/class/Mono.Security/Mono.Security.Protocol.Tls.Handshake.Client/TlsClientHello.cs

index 2bb1d7bb8ef203974d79242059f2f5b2251ffd61..535bb89e86900a94f9474fdaf2bc148331774f17 100644 (file)
@@ -63,15 +63,10 @@ namespace Mono.Security.Protocol.Tls.Handshake.Client
                #region Protected Methods
 
                protected override void ProcessAsSsl3()
-               {
-                       this.ProcessAsTls1();
-               }
-
-               protected override void ProcessAsTls1()
                {
                        // Client Version
                        this.Write(this.Context.Protocol);
-                                                               
+
                        // Random bytes - Unix time + Radom bytes [28]
                        TlsStream clientRandom = new TlsStream();
                        clientRandom.Write(this.Context.GetUnixTime());
@@ -111,6 +106,11 @@ namespace Mono.Security.Protocol.Tls.Handshake.Client
                        
                        // Compression methods ( 0 = none )
                        this.Write((byte)this.Context.CompressionMethod);
+               }
+
+               protected override void ProcessAsTls1()
+               {
+                       ProcessAsSsl3 ();
 
                        // http://www.ietf.org/rfc/rfc3546.txt
                        TlsStream extensions = new TlsStream ();