diff --git a/core/od_fe.c b/core/od_fe.c index 69b352f5..78901a91 100644 --- a/core/od_fe.c +++ b/core/od_fe.c @@ -103,15 +103,25 @@ od_festartup_read(od_client_t *client) int od_festartup(od_client_t *client) { + od_pooler_t *pooler = client->pooler; int rc; rc = od_festartup_read(client); if (rc == -1) return -1; so_stream_t *stream = &client->stream; - rc = so_beread_startup(&client->startup, stream->s, + rc = so_beread_startup(&client->startup, + stream->s, so_stream_used(stream)); if (rc == -1) return -1; + /* client ssl request */ + if (client->startup.is_ssl_request) { + od_debug(&pooler->od->log, client->io, "C (tls): ssl request"); + if (pooler->od->scheme.tls_verify == OD_TDISABLE) { + od_log(&pooler->od->log, client->io, "C (tls): is disabled, closing"); + return -1; + } + } return 0; } diff --git a/core/od_router.c b/core/od_router.c index a87d8380..7c6638f8 100644 --- a/core/od_router.c +++ b/core/od_router.c @@ -103,6 +103,7 @@ void od_router(void *arg) od_feclose(client); return; } + /* client cancel request */ if (client->startup.is_cancel) { od_debug(&pooler->od->log, client->io, "C: cancel request");