Update Csocket to aefa339

> Support ECDHE exchange if available in OpenSSL
> add openssl's fix for POODLE bug in server mode.
> Give Csocket consumers the ability to disable less desirable protocols
This commit is contained in:
J-P Nurmi
2014-10-26 11:53:18 +01:00
parent a888d38511
commit 9a8786377b
2 changed files with 60 additions and 0 deletions
+14
View File
@@ -603,6 +603,15 @@ public:
TLS12 = 6
};
enum EDisableProtocol
{
EDP_None = 0, //!< disable nothing
EDP_SSLv2 = 1, //!< disable SSL verion 2
EDP_SSLv3 = 2, //!< disable SSL verion 3
EDP_TLSv1 = 4, //!< disable TLS verion 1
EDP_SSL = (EDP_SSLv2|EDP_SSLv3)
};
enum ECONState
{
CST_START = 0,
@@ -840,6 +849,8 @@ public:
void SetSSL( bool b );
#ifdef HAVE_LIBSSL
//! bitwise setter, @see EDisableProtocol
void DisableSSLProtocols( u_int uDisableOpts ) { m_uDisableProtocols = uDisableOpts; }
//! Set the cipher type ( openssl cipher [to see ciphers available] )
void SetCipher( const CS_STRING & sCipher );
const CS_STRING & GetCipher() const;
@@ -1078,6 +1089,8 @@ private:
//! shrink sendbuff by removing m_uSendBufferPos bytes from m_sSend
void ShrinkSendBuff();
void IncBuffPos( size_t uBytes );
//! checks for configured protocol disabling
void CheckDisabledProtocols();
// NOTE! if you add any new members, be sure to add them to Copy()
uint16_t m_uPort;
@@ -1106,6 +1119,7 @@ private:
SSL * m_ssl;
SSL_CTX * m_ssl_ctx;
uint32_t m_iRequireClientCertFlags;
u_int m_uDisableProtocols;
FPCertVerifyCB m_pCerVerifyCB;