X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=ssl_common.c;h=add68a2861d4509778ad72fe4bec42455df5f567;hp=20c1b24fc5310de0030c104e49733840fee971c0;hb=283e98e3f6ca776c1a15cd076e6ae1e999d8a6b3;hpb=07d3ffdfb75d55d07fa8fc9e79f7829d9e8e476f diff --git a/ssl_common.c b/ssl_common.c index 20c1b24f..add68a28 100644 --- a/ssl_common.c +++ b/ssl_common.c @@ -323,6 +323,7 @@ extern void ssl_send_certificate_error(struct client_state *csp) size_t message_len = 0; int ret = 0; struct certs_chain *cert = NULL; + const size_t head_length = 63; /* Header of message with certificate information */ const char message_begin[] = @@ -333,7 +334,7 @@ extern void ssl_send_certificate_error(struct client_state *csp) "Server certificate verification failed\n" "

Server certificate verification failed

\n" "

Privoxy was unable " - "to securely connnect to the destination server.

" + "to securely connect to the destination server.

" "

Reason: "; const char message_end[] = "\r\n\r\n"; char reason[INVALID_CERT_INFO_BUF_SIZE]; @@ -409,6 +410,17 @@ extern void ssl_send_certificate_error(struct client_state *csp) ssl_send_data(ssl_attr, (const unsigned char *)message, strlen(message)); free_certificate_chain(csp); + + log_error(LOG_LEVEL_CRUNCH, "Certificate error: %s: https://%s%s", + reason, csp->http->hostport, csp->http->path); + log_error(LOG_LEVEL_CLF, "%s - - [%T] \"%s https://%s%s %s\" 200 %u", + csp->ip_addr_str, csp->http->gpc, csp->http->hostport, csp->http->path, + csp->http->version, message_len-head_length); + +#ifdef FEATURE_CONNECTION_KEEP_ALIVE + csp->flags &= ~CSP_FLAG_CLIENT_CONNECTION_KEEP_ALIVE; + csp->flags |= CSP_FLAG_SERVER_SOCKET_TAINTED; +#endif }