X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=jcc.c;h=1bca54f7bec720f752ac211dd14f151ba95aa5e5;hp=56c617be52a7972043c71b1a7cdfc2c59fd132d6;hb=a42dbae1a8c4f282809521305bddbac4bf9408e2;hpb=14ef58cc78259adaf8d8f06434937baa2004b823 diff --git a/jcc.c b/jcc.c index 56c617be..1bca54f7 100644 --- a/jcc.c +++ b/jcc.c @@ -855,7 +855,7 @@ static void send_crunch_response(struct client_state *csp, struct http_response http->hostport, http->path); log_error(LOG_LEVEL_CLF, "%s - - [%T] \"%s https://%s%s %s\" %s %llu", csp->ip_addr_str, http->gpc, http->hostport, http->path, - http->ver, status_code, rsp->content_length); + http->version, status_code, rsp->content_length); } else #endif @@ -997,10 +997,10 @@ static void build_request_line(struct client_state *csp, const struct forward_sp * if +downgrade action applies. */ if ((csp->action->flags & ACTION_DOWNGRADE) - && (!strcmpic(http->ver, "HTTP/1.1"))) + && (!strcmpic(http->version, "HTTP/1.1"))) { - freez(http->ver); - http->ver = strdup_or_die("HTTP/1.0"); + freez(http->version); + http->version = strdup_or_die("HTTP/1.0"); } /* @@ -1019,7 +1019,7 @@ static void build_request_line(struct client_state *csp, const struct forward_sp string_append(request_line, http->path); } string_append(request_line, " "); - string_append(request_line, http->ver); + string_append(request_line, http->version); if (*request_line == NULL) { @@ -1619,7 +1619,7 @@ extern int fuzz_client_request(struct client_state *csp, char *fuzz_input_file) if (strcmp(fuzz_input_file, "-") != 0) { log_error(LOG_LEVEL_FATAL, - "Fuzzed client requests can currenty only be read from stdin (-)."); + "Fuzzed client requests can currently only be read from stdin (-)."); } err = receive_client_request(csp); if (err != JB_ERR_OK) @@ -1910,7 +1910,7 @@ static jb_err parse_client_request(struct client_state *csp) #ifdef FEATURE_CONNECTION_KEEP_ALIVE if ((csp->config->feature_flags & RUNTIME_FEATURE_CONNECTION_KEEP_ALIVE) - && (!strcmpic(csp->http->ver, "HTTP/1.1")) + && (!strcmpic(csp->http->version, "HTTP/1.1")) && (csp->http->ssl == 0)) { /* Assume persistence until further notice */ @@ -2049,11 +2049,12 @@ static int send_http_request(struct client_state *csp) * Returns : 0 on success, anything else is an error. * *********************************************************************/ -static jb_err receive_and_send_encrypted_post_data(struct client_state *csp) +static int receive_and_send_encrypted_post_data(struct client_state *csp) { int content_length_known = csp->expected_client_content_length != 0; - while (is_ssl_pending(&(csp->mbedtls_client_attr.ssl))) + while (is_ssl_pending(&(csp->mbedtls_client_attr.ssl)) + || (content_length_known && csp->expected_client_content_length != 0)) { unsigned char buf[BUFFER_SIZE]; int len; @@ -2077,7 +2078,7 @@ static jb_err receive_and_send_encrypted_post_data(struct client_state *csp) /* XXX: Does this actually happen? */ break; } - log_error(LOG_LEVEL_HEADER, "Forwarding %d bytes of encrypted POST data", + log_error(LOG_LEVEL_CONNECT, "Forwarding %d bytes of encrypted POST data", len); len = ssl_send_data(&(csp->mbedtls_server_attr.ssl), buf, (size_t)len); if (len == -1) @@ -2396,6 +2397,8 @@ static jb_err process_encrypted_request(struct client_state *csp) log_error(LOG_LEVEL_HEADER, "Encrypted request processed"); log_applied_actions(csp->action); + log_error(LOG_LEVEL_GPC, "https://%s%s", csp->http->hostport, + csp->http->path); return err; @@ -3457,7 +3460,7 @@ static void handle_established_connection(struct client_state *csp) { log_error(LOG_LEVEL_CLF, "%s - - [%T] \"%s https://%s%s %s\" 200 %llu", csp->ip_addr_str, http->gpc, http->hostport, http->path, - http->ver, csp->content_length); + http->version, csp->content_length); } else #endif @@ -3635,8 +3638,17 @@ static void chat(struct client_state *csp) } log_applied_actions(csp->action); - log_error(LOG_LEVEL_GPC, "%s%s", http->hostport, http->path); - +#ifdef FEATURE_HTTPS_INSPECTION + /* + * Log the request unless we're https inspecting + * in which case we don't have the path yet and + * will log the request later. + */ + if (!client_use_ssl(csp)) +#endif + { + log_error(LOG_LEVEL_GPC, "%s%s", http->hostport, http->path); + } if (fwd->forward_host) { log_error(LOG_LEVEL_CONNECT, "via [%s]:%d to: %s", @@ -3686,7 +3698,7 @@ static void chat(struct client_state *csp) int ret; /* * Creating an SSL proxy. If forwarding is disabled, we must send - * CSUCCEED mesage to client. Then TLS/SSL connection with client + * CSUCCEED message to client. Then TLS/SSL connection with client * is created. */