Update of /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source
In directory sc8-pr-cvs1:/tmp/cvs-serv24890
Modified Files:
TlsReader.cs TlsSession.cs TlsSessionSettings.cs
Log Message:
- Improved message read
- Improved stream close.
- Removed BufferedStreams use.
Index: TlsReader.cs
===================================================================
RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/TlsReader.cs,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** TlsReader.cs 13 Sep 2003 07:48:49 -0000 1.15
--- TlsReader.cs 13 Sep 2003 10:23:10 -0000 1.16
***************
*** 133,148 ****
else
{
! MemoryStream ms = new MemoryStream();
!
! // This will wait until data is readed
! byte b = base.ReadByte();
! ms.WriteByte(b);
! while (session.NetworkStream.DataAvailable)
! {
! ms.WriteByte(base.ReadByte());
! }
! return ms.ToArray();
}
}
--- 133,153 ----
else
{
! return readFully();
! }
! }
! private byte[] readFully()
! {
! MemoryStream ms = new MemoryStream();
!
! // This will wait until data is readed
! byte b = base.ReadByte();
! ms.WriteByte(b);
! while (session.NetworkStream.DataAvailable)
! {
! ms.WriteByte(base.ReadByte());
}
+
+ return ms.ToArray();
}
***************
*** 332,336 ****
byte[] result = null;
! TlsStreamReader buffer = new TlsStreamReader(this.ReadBytes());
while (!buffer.EOF)
--- 337,341 ----
byte[] result = null;
! TlsStreamReader buffer = new TlsStreamReader(this.readFully());
while (!buffer.EOF)
Index: TlsSession.cs
===================================================================
RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/TlsSession.cs,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** TlsSession.cs 12 Sep 2003 23:49:21 -0000 1.13
--- TlsSession.cs 13 Sep 2003 10:23:10 -0000 1.14
***************
*** 44,47 ****
--- 44,48 ----
private TlsSessionState state;
private bool helloDone;
+ private bool handshakeFinished;
private TlsSessionSettings settings;
private TlsCipherSuiteCollection supportedCiphers;
***************
*** 83,86 ****
--- 84,93 ----
}
+ internal bool HandshakeFinished
+ {
+ get { return handshakeFinished; }
+ set { handshakeFinished = value; }
+ }
+
internal bool IsSecure
{
***************
*** 192,196 ****
// Read server finished
! reader.ReadRecord();
// Clear Key Info
--- 199,206 ----
// Read server finished
! if (!this.handshakeFinished)
! {
! reader.ReadRecord();
! }
// Clear Key Info
***************
*** 306,319 ****
// Create the reader and the writer
! if (settings.UseBufferedStreams)
! {
! reader = new TlsReader(this, new BufferedStream(networkStream), settings.Encoding);
! writer = new TlsWriter(this, new BufferedStream(networkStream), settings.Encoding);
! }
! else
! {
! reader = new TlsReader(this, networkStream, settings.Encoding);
! writer = new TlsWriter(this, networkStream, settings.Encoding);
! }
}
private void closeStreams()
--- 316,321 ----
// Create the reader and the writer
! reader = new TlsReader(this, networkStream, settings.Encoding);
! writer = new TlsWriter(this, networkStream, settings.Encoding);
}
private void closeStreams()
***************
*** 332,335 ****
--- 334,339 ----
// Reset session information
+ this.helloDone = false;
+ this.handshakeFinished = false;
this.state = new TlsSessionState();
this.handshakeHashes = new TlsHandshakeHashes();
Index: TlsSessionSettings.cs
===================================================================
RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/TlsSessionSettings.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** TlsSessionSettings.cs 12 Sep 2003 12:47:11 -0000 1.5
--- TlsSessionSettings.cs 13 Sep 2003 10:23:10 -0000 1.6
***************
*** 32,36 ****
private TlsProtocol protocol;
private X509CertificateCollection certificates;
- private bool useBufferedStreams;
#endregion
--- 32,35 ----
***************
*** 68,77 ****
}
- public bool UseBufferedStreams
- {
- get { return useBufferedStreams; }
- set { useBufferedStreams = value; }
- }
-
#endregion
--- 67,70 ----
***************
*** 85,89 ****
this.serverPort = 443;
this.encoding = Encoding.Default;
- this.useBufferedStreams = true;
}
--- 78,81 ----
|