[Mono-dev] TDS 8.0 and SslClientStream
dmitryskey at hotmail.com
Tue Nov 28 01:57:09 EST 2006
I am working on TDS 8.0 network protocol for the SqlClient and facing with
the problem of the handshaking implementation. The corresponding TDS packet
consists of the TDS header and TDS body with the TLS handshake packet. So to
parse server response we have to read entire TDS packet, analyze its type
and, if necessary, extract TLS part and send it to the SslClientStream
class. But this class uses asynchronous Stream.BeginRead/EndRead methods in
the handshake procedure and it is impossible read data asynchronously from
the internal buffer. I see two methods to resolve such a problem.
1) Rewrite handshake code of the SslClientStream/SslBaseStream in the
synchronous manner. Another reason to do it is the following: SslStream
class from .Net 2.0 uses synchronous methods to make handshake and as far as
I understand Mono version of this class will be implemented on the basis of
2) Implement IAsyncResult interface in such a way that it will be possible
to read data from memory buffer asynchronously. I suppose it can be done as
the extension of the MemoryStream class.
In any case the good knowledge of Mono.Security internals is required. So
could some Mono guru help me to solve my problem?
FREE pop-up blocking with the new MSN Toolbar - get it now!
More information about the Mono-devel-list