[pgsqlclient-checkins] pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Protocol.Tls.Alerts
Status: Inactive
Brought to you by:
carlosga_fb
From: <car...@us...> - 2004-02-24 16:11:11
|
Update of /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Protocol.Tls.Alerts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15388 Modified Files: TlsAlert.cs Removed Files: TlsCloseNotifyAlert.cs Log Message: 2004-02-24 Carlos Guzman Alvarez <car...@te...> * Mono.Security.Protocol.Tls.Alerts/TlsClosNotifyAlert.cs: - Removed File. * Mono.Security.Protocol.Tls.Alerts/TlsAlerts.cs: * Mono.Security.Protocol.Tls/RecordProtocol.cs: * Mono.Security.Protocol.Tls/SslClientStream.cs: * Mono.Security.Protocol.Tls/SslServerStream.cs: - Reimplementation of TLS/SSL Alert Protocol. Index: TlsAlert.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Protocol.Tls.Alerts/TlsAlert.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TlsAlert.cs 23 Feb 2004 12:17:25 -0000 1.3 --- TlsAlert.cs 24 Feb 2004 16:04:40 -0000 1.4 *************** *** 67,75 **** #endregion ! internal abstract class TlsAlert : TlsStream { #region Fields ! private Context context; private TlsAlertLevel level; private TlsAlertDescription description; --- 67,75 ---- #endregion ! internal class TlsAlert : TlsStream { #region Fields ! private Context context; private TlsAlertLevel level; private TlsAlertDescription description; *************** *** 77,95 **** #endregion ! #region Properties ! public Context Context { ! get { return this.context; } ! } ! ! #endregion ! #region Constructors public TlsAlert( Context context, ! TlsAlertLevel level, ! TlsAlertDescription description) : base() { this.context = context; --- 77,98 ---- #endregion ! #region Constructors ! public TlsAlert( ! Context context, ! TlsAlertDescription description) : base() { ! this.context = context; ! this.description = description; ! ! this.inferAlertLevel(); ! this.fill(); ! } public TlsAlert( Context context, ! TlsAlertLevel level, ! TlsAlertDescription description) : base() { this.context = context; *************** *** 102,111 **** #endregion - #region Abstract Methods - - public abstract void Update(); - - #endregion - #region Properties --- 105,108 ---- *************** *** 147,150 **** --- 144,168 ---- #endregion + #region Methods + + public void Update() + { + if ( this.description == TlsAlertDescription.CloseNotify ) + { + this.context.ConnectionEnd = true; + } + + if (this.IsFatal) + { + this.context.ConnectionEnd = true; + if (this.context is ServerContext) + { + ((ServerContext)this.context).SslStream.Close(); + } + } + } + + #endregion + #region Private Methods *************** *** 155,158 **** --- 173,212 ---- } + private void inferAlertLevel() + { + switch (description) + { + case TlsAlertDescription.CloseNotify: + this.level = TlsAlertLevel.Warning; + break; + + case TlsAlertDescription.AccessDenied: + case TlsAlertDescription.BadCertificate: + case TlsAlertDescription.BadRecordMAC: + case TlsAlertDescription.CertificateExpired: + case TlsAlertDescription.CertificateRevoked: + case TlsAlertDescription.CertificateUnknown: + case TlsAlertDescription.DecodeError: + case TlsAlertDescription.DecompressionFailiure: + case TlsAlertDescription.DecryptError: + case TlsAlertDescription.DecryptionFailed: + case TlsAlertDescription.ExportRestriction: + case TlsAlertDescription.HandshakeFailiure: + case TlsAlertDescription.IlegalParameter: + case TlsAlertDescription.InsuficientSecurity: + case TlsAlertDescription.InternalError: + case TlsAlertDescription.NoRenegotiation: + case TlsAlertDescription.ProtocolVersion: + case TlsAlertDescription.RecordOverflow: + case TlsAlertDescription.UnexpectedMessage: + case TlsAlertDescription.UnknownCA: + case TlsAlertDescription.UnsupportedCertificate: + case TlsAlertDescription.UserCancelled: + default: + this.level = TlsAlertLevel.Fatal; + break; + } + } + #endregion --- TlsCloseNotifyAlert.cs DELETED --- |