commit
6bc2d3d06e9cb4da68ea4b63d9b6b219d88ab927
(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.
#include <time.h> /* for time_t, see below */
#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 */
#define CONN_ISCLOSING 1 /* Conn_Close() already called */
#define CONN_ISCONNECTING 2 /* connect() in progress */
#define CONN_RFC1459 4 /* RFC 1459 compatibility mode */
#include "conf-ssl.h"
#ifdef SSL_SUPPORT
#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;
#endif
typedef int CONN_ID;