TLS/SSL: fix memory leak when using compressed server links with ssl

commit 6bc2d3d06e
(New connection option CONN_RFC1459) forgot to adjust the ssl bitmasks.

The result is that when a compressed AND encrypted server link goes down
the memory allocated by zlib and the r/w buffers are no longer
free'd as the previous ConnSSL_Free() would then also remove the CONN_ZIP flag
from the flag mask.
This commit is contained in:
Florian Westphal 2009-02-04 23:01:53 +01:00
parent 3be9c477be
commit c6a43fbaf0
1 changed files with 11 additions and 5 deletions

View File

@ -18,7 +18,13 @@
#include <time.h> /* for time_t, see below */
/*
* connection state flags. this is a bitmask -- all values must
* be unique and a power of two.
*
* If you introduce new ones in between, make sure to adjust all
* remaining ones.
*/
#define CONN_ISCLOSING 1 /* Conn_Close() already called */
#define CONN_ISCONNECTING 2 /* connect() in progress */
#define CONN_RFC1459 4 /* RFC 1459 compatibility mode */
@ -29,10 +35,10 @@
#include "conf-ssl.h"
#ifdef SSL_SUPPORT
#define CONN_SSL_CONNECT 8 /* wait for ssl connect to finish */
#define CONN_SSL 16 /* this connection is SSL encrypted */
#define CONN_SSL_WANT_WRITE 32 /* SSL/TLS library needs to write protocol data */
#define CONN_SSL_WANT_READ 64 /* SSL/TLS library needs to read protocol data */
#define CONN_SSL_CONNECT 16 /* wait for ssl connect to finish */
#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 */
#endif
typedef int CONN_ID;