[pgsqlclient-checkins] pgsqlclient_10/PgSqlClient.Security.Tls/source TlsReader.cs,1.13,1.14 TlsSess
Status: Inactive
Brought to you by:
carlosga_fb
From: <car...@us...> - 2003-09-12 23:49:25
|
Update of /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source In directory sc8-pr-cvs1:/tmp/cvs-serv21568 Modified Files: TlsReader.cs TlsSession.cs TlsStreamReader.cs TlsStreamWriter.cs Log Message: Changed received messages parsing, not finished and needs testing Index: TlsReader.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/TlsReader.cs,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** TlsReader.cs 12 Sep 2003 12:47:11 -0000 1.13 --- TlsReader.cs 12 Sep 2003 23:49:21 -0000 1.14 *************** *** 336,340 **** int length = this.ReadShort(); ! byte[] message = base.ReadBytes(length); // Check that the message as a valid protocol version --- 336,340 ---- int length = this.ReadShort(); ! TlsStreamReader message = new TlsStreamReader(base.ReadBytes(length)); // Check that the message as a valid protocol version *************** *** 354,358 **** contentType != TlsContentType.ChangeCipherSpec) { ! message = processCipherTextRecord(contentType, protocol, message); } } --- 354,358 ---- contentType != TlsContentType.ChangeCipherSpec) { ! message = new TlsStreamReader(processCipherTextRecord(contentType, protocol, message.GetBytes())); } } *************** *** 362,366 **** { case TlsContentType.Alert: ! processAlert((TlsAlertLevel)message[0], (TlsAlertDescription)message[1]); break; --- 362,367 ---- { case TlsContentType.Alert: ! processAlert((TlsAlertLevel)message.ReadByte(), ! (TlsAlertDescription)message.ReadByte()); break; *************** *** 371,375 **** case TlsContentType.ApplicationData: ! result = message; break; --- 372,376 ---- case TlsContentType.ApplicationData: ! result = message.GetBytes(); break; *************** *** 397,406 **** #region PRIVATE_METHODS ! private void processHandshakeMessage(byte[] data) { ! TlsHandshakeType handshakeType = (TlsHandshakeType)data[0]; TlsServerHandshakeMessage message = null; ! message = session.CreateServerHandsakeMessage(handshakeType, data); if (message == null) { --- 398,407 ---- #region PRIVATE_METHODS ! private void processHandshakeMessage(TlsStreamReader handMsg) { ! TlsHandshakeType handshakeType = (TlsHandshakeType)handMsg.ReadByte(); TlsServerHandshakeMessage message = null; ! message = session.CreateServerHandsakeMessage(handshakeType, handMsg); if (message == null) { *************** *** 440,445 **** byte[] fragment) { ! byte[] dcrFragment = null; ! byte[] dcrMAC = null; // Decrypt message --- 441,446 ---- byte[] fragment) { ! byte[] dcrFragment = null; ! byte[] dcrMAC = null; // Decrypt message Index: TlsSession.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/TlsSession.cs,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** TlsSession.cs 12 Sep 2003 18:44:30 -0000 1.12 --- TlsSession.cs 12 Sep 2003 23:49:21 -0000 1.13 *************** *** 243,267 **** } ! internal TlsServerHandshakeMessage CreateServerHandsakeMessage(TlsHandshakeType type, byte[] data) { switch (type) { case TlsHandshakeType.Certificate: ! return new TlsServerCertificate(this, data); case TlsHandshakeType.CertificateRequest: ! return new TlsServerCertificateRequest(this, data); case TlsHandshakeType.ServerHello: ! return new TlsServerHello(this, data); case TlsHandshakeType.ServerHelloDone: ! return new TlsServerHelloDone(this, data); case TlsHandshakeType.ServerKeyExchange: ! return new TlsServerKeyExchange(this, data); case TlsHandshakeType.Finished: ! return new TlsServerFinished(this, data); default: --- 243,267 ---- } ! internal TlsServerHandshakeMessage CreateServerHandsakeMessage(TlsHandshakeType type, TlsStreamReader handMsg) { switch (type) { case TlsHandshakeType.Certificate: ! return new TlsServerCertificate(this, handMsg); case TlsHandshakeType.CertificateRequest: ! return new TlsServerCertificateRequest(this, handMsg); case TlsHandshakeType.ServerHello: ! return new TlsServerHello(this, handMsg); case TlsHandshakeType.ServerHelloDone: ! return new TlsServerHelloDone(this, handMsg); case TlsHandshakeType.ServerKeyExchange: ! return new TlsServerKeyExchange(this, handMsg); case TlsHandshakeType.Finished: ! return new TlsServerFinished(this, handMsg); default: Index: TlsStreamReader.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/TlsStreamReader.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TlsStreamReader.cs 1 Sep 2003 10:19:44 -0000 1.2 --- TlsStreamReader.cs 12 Sep 2003 23:49:21 -0000 1.3 *************** *** 26,38 **** internal class TlsStreamReader : BinaryReader { ! #region CONSTRUCTORS ! public TlsStreamReader(Stream input) : base(input) { } ! public TlsStreamReader(Stream input, Encoding encoding) : base(input, encoding) { } public TlsStreamReader(byte[] data) : base(new MemoryStream(data)) --- 26,65 ---- internal class TlsStreamReader : BinaryReader { ! #region PROPERTIES ! public long Position { + get + { + return ((MemoryStream)this.BaseStream).Position; + } } ! public long Length { + get + { + return ((MemoryStream)this.BaseStream).Length; + } } + + public bool EOF + { + get + { + if (this.Position < this.Length) + { + return false; + } + else + { + return true; + } + } + } + + #endregion + + #region CONSTRUCTORS public TlsStreamReader(byte[] data) : base(new MemoryStream(data)) Index: TlsStreamWriter.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PgSqlClient.Security.Tls/source/TlsStreamWriter.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TlsStreamWriter.cs 1 Sep 2003 10:19:44 -0000 1.2 --- TlsStreamWriter.cs 12 Sep 2003 23:49:21 -0000 1.3 *************** *** 32,43 **** } - public TlsStreamWriter(Stream output) : base(output) - { - } - - public TlsStreamWriter(Stream output, Encoding encoding) : base(output, encoding) - { - } - #endregion --- 32,35 ---- |