+2006-03-02 Sebastien Pouliot <sebastien@ximian.com>
+
+ * RecordProtocol.cs: Fix possible endless loop (#77663). Remove hack
+ for an old, fixed, MCS bug (#67711).
+
2005-10-06 Sebastien Pouliot <sebastien@ximian.com>
* ClientRecordProtocol.cs: Update HandshakeMessages after each
}
break;
- // FIXME / MCS bug - http://bugzilla.ximian.com/show_bug.cgi?id=67711
- // case (ContentType)0x80:
- // this.context.HandshakeMessages.Write (result);
- // break;
+ case (ContentType)0x80:
+ this.context.HandshakeMessages.Write (buffer);
+ break;
default:
- if (contentType != (ContentType)0x80)
- {
- throw new TlsException(
- AlertDescription.UnexpectedMessage,
- "Unknown record received from server.");
- }
- this.context.HandshakeMessages.Write (buffer);
+ throw new TlsException(
+ AlertDescription.UnexpectedMessage,
+ "Unknown record received from server.");
break;
}
short fragmentLength = 0;
byte[] fragment;
- if ((count - position) > Context.MAX_FRAGMENT_SIZE)
+ if ((count + offset - position) > Context.MAX_FRAGMENT_SIZE)
{
fragmentLength = Context.MAX_FRAGMENT_SIZE;
}
else
{
- fragmentLength = (short)(count - position);
+ fragmentLength = (short)(count + offset - position);
}
// Fill the fragment data