commit 2fce4667a86e42589db8dd84a51c472aa18ac80e from: Florian Westphal date: Wed Feb 04 22:23:12 2009 UTC SSL/TLS: clear all ssl realted flags on shutdown one ssl related flags was not cleared on ssl shutdown. introduce and use CONN_SSL_FLAGS_ALL to zap them all. commit - c6a43fbaf0579741ebf34e88ca7f0586b471062e commit + 2fce4667a86e42589db8dd84a51c472aa18ac80e blob - dc165d79eed41ddc2908174add836ebee1f746fd blob + 1b4da3ce047695a99456f58533a6335631940554 --- src/ngircd/conn-ssl.c +++ src/ngircd/conn-ssl.c @@ -228,7 +228,8 @@ void ConnSSL_Free(CONNECTION *c) } #endif assert(Conn_OPTION_ISSET(c, CONN_SSL)); - Conn_OPTION_DEL(c, (CONN_SSL_CONNECT|CONN_SSL|CONN_SSL_WANT_WRITE)); + /* can't just set bitmask to 0 -- there are other, non-ssl related flags, e.g. CONN_ZIP. */ + Conn_OPTION_DEL(c, CONN_SSL_FLAGS_ALL); } blob - bd332b63b394ef01cc989fcc1b580b419d4d8e9b blob + 450d3d10497c7fffbff4fdf013ff2b680156fa1c --- src/ngircd/conn.h +++ src/ngircd/conn.h @@ -39,6 +39,7 @@ #define CONN_SSL 32 /* this connection is SSL encrypted */ #define CONN_SSL_WANT_WRITE 64 /* SSL/TLS library needs to write protocol data */ #define CONN_SSL_WANT_READ 128 /* SSL/TLS library needs to read protocol data */ +#define CONN_SSL_FLAGS_ALL (CONN_SSL_CONNECT|CONN_SSL|CONN_SSL_WANT_WRITE|CONN_SSL_WANT_READ) #endif typedef int CONN_ID;