diff --git a/src/client.c b/src/client.c index 3430727..ac45624 100644 --- a/src/client.c +++ b/src/client.c @@ -238,7 +238,11 @@ free_local_client(struct Client *client_p) if (client_p->localClient->privset) privilegeset_unref(client_p->localClient->privset); - ssld_decrement_clicount(client_p->localClient->ssl_ctl); + if(IsSSL(client_p)) + ssld_decrement_clicount(client_p->localClient->ssl_ctl); + + if(IsCapable(client_p, CAP_ZIP)) + ssld_decrement_clicount(client_p->localClient->z_ctl); rb_bh_free(lclient_heap, client_p->localClient); client_p->localClient = NULL; diff --git a/src/newconf.c b/src/newconf.c index f2ccf68..9e929f3 100644 --- a/src/newconf.c +++ b/src/newconf.c @@ -1243,13 +1243,6 @@ conf_end_connect(struct TopConf *tc) yy_server->flags &= ~SERVER_COMPRESSED; } #endif - if(ServerConfCompressed(yy_server) && ServerConfSSL(yy_server)) - { - conf_report_error("Ignoring compressed for connect block %s -- " - "ssl and compressed are mutually exclusive (OpenSSL does its own compression)", - yy_server->name); - yy_server->flags &= ~SERVER_COMPRESSED; - } add_server_conf(yy_server); rb_dlinkAdd(yy_server, &yy_server->node, &server_conf_list); diff --git a/src/sslproc.c b/src/sslproc.c index 01f5ea0..f050538 100644 --- a/src/sslproc.c +++ b/src/sslproc.c @@ -766,9 +766,10 @@ start_zlib_session(void *data) /* need to redo as what we did before isn't valid now */ int32_to_buf(&buf[1], rb_get_fd(server->localClient->F)); add_to_cli_fd_hash(server); - server->localClient->ssl_ctl = which_ssld(); - server->localClient->ssl_ctl->cli_count++; - ssl_cmd_write_queue(server->localClient->ssl_ctl, F, 2, buf, len); + + server->localClient->z_ctl = which_ssld(); + server->localClient->z_ctl->cli_count++; + ssl_cmd_write_queue(server->localClient->z_ctl, F, 2, buf, len); rb_free(buf); } @@ -796,7 +797,7 @@ collect_zipstats(void *unused) int32_to_buf(&buf[1], rb_get_fd(target_p->localClient->F)); rb_strlcpy(odata, target_p->name, (sizeof(buf) - len)); len += strlen(odata) + 1; /* Get the \0 as well */ - ssl_cmd_write_queue(target_p->localClient->ssl_ctl, NULL, 0, buf, len); + ssl_cmd_write_queue(target_p->localClient->z_ctl, NULL, 0, buf, len); } } }