Please do not reply to this email- if you want to comment on the bug, go to the URL shown below and enter your comments there.
Changed by [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=76254 --- shadow/76254 2006-01-03 14:12:12.000000000 -0500 +++ shadow/76254.tmp.13574 2006-01-18 09:19:21.000000000 -0500 @@ -139,6 +139,64 @@ IPTest.tgz - Files needed to reproduce the bug ( that actually work ) ------- Additional Comments From [EMAIL PROTECTED] 2006-01-03 14:12 ------- The attachment dated "09/28/05 02:32" is bad, please do not use it. Use the "01/03/06 14:03" attachment instead. + +------- Additional Comments From [EMAIL PROTECTED] 2006-01-18 09:19 ------- +A colleague of mine, Brian Kroeker, has come up with a partial +solution to this bug. It will interrupt the infinite loop if the +client closes the socket during the handshake. While this seems to fix +the particular situation we are seeing, this change will not protect +against a client that just stops the handshake process without closing +the socket. + +The following diff is applied to +mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslServerStream.cs +from the 1.1.12.1 version release of Mono. + +--- SslServerStream.cs 2006-01-18 06:44:20.000000000 -0700 ++++ +mono-1.1.12.1/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslServerStream.cs +2005-10-06 07:42:03.000000000 -0600 +@@ -184,12 +184,11 @@ + + // Receive Client Hello message + return +this.protocol.BeginReceiveRecord(this.innerStream, callback, state); ++ + } + + internal override void +OnNegotiateHandshakeCallback(IAsyncResult asyncResult) + { +- byte[] temp; +- + // Receive Client Hello message and ignore it + this.protocol.EndReceiveRecord(asyncResult); + +@@ -230,15 +229,7 @@ + // is received + while (this.context.LastHandshakeMsg != +HandshakeType.Finished) + { +- temp = +this.protocol.ReceiveRecord(this.innerStream); +- if(temp == null || temp.Length == 0) +- { +- System.Console.WriteLine("Got +0 length or null message!!!!!"); +- +- throw new TlsException( +- +AlertDescription.BadCertificate, +- "No certificate +received from client. Zero length message"); +- } ++ +this.protocol.ReceiveRecord(this.innerStream); + } + + if (certRequested && +(this.context.ClientSettings.ClientCertificate == null)) + _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
