X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=jcc.c;h=07f97de0c41b620b6d8c65bedf3783e051fc547c;hp=414e5fc09612539bbd91d60ed9af2937f50a03eb;hb=bf18b40dd30e0c16392285408cad379c2ead11d7;hpb=9fe3265701787ccb1865ed5aaa05d164ce9559b7 diff --git a/jcc.c b/jcc.c index 414e5fc0..07f97de0 100644 --- a/jcc.c +++ b/jcc.c @@ -1,4 +1,4 @@ -const char jcc_rcs[] = "$Id: jcc.c,v 1.225 2009/02/19 18:09:32 fabiankeil Exp $"; +const char jcc_rcs[] = "$Id: jcc.c,v 1.229 2009/03/07 11:17:01 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/jcc.c,v $ @@ -33,6 +33,20 @@ const char jcc_rcs[] = "$Id: jcc.c,v 1.225 2009/02/19 18:09:32 fabiankeil Exp $" * * Revisions : * $Log: jcc.c,v $ + * Revision 1.229 2009/03/07 11:17:01 fabiankeil + * Fix compiler warning. + * + * Revision 1.228 2009/03/06 20:30:13 fabiankeil + * Log unsigned values as such. + * + * Revision 1.227 2009/03/02 19:18:11 fabiankeil + * Streamline parse_http_request()'s prototype. As + * cparser pointed out it doesn't actually use csp. + * + * Revision 1.226 2009/03/01 18:28:24 fabiankeil + * Help clang understand that we aren't dereferencing + * NULL pointers here. + * * Revision 1.225 2009/02/19 18:09:32 fabiankeil * Unbreak build without FEATURE_CONNECTION_KEEP_ALIVE. * Noticed by David. @@ -1887,7 +1901,7 @@ static void send_crunch_response(const struct client_state *csp, struct http_res /* Log that the request was crunched and why. */ log_error(LOG_LEVEL_CRUNCH, "%s: %s", crunch_reason(rsp), http->url); - log_error(LOG_LEVEL_CLF, "%s - - [%T] \"%s\" %s %d", + log_error(LOG_LEVEL_CLF, "%s - - [%T] \"%s\" %s %u", csp->ip_addr_str, http->ocmd, status_code, rsp->content_length); /* Clean up and return */ @@ -1944,7 +1958,7 @@ static int request_contains_null_bytes(const struct client_state *csp, char *buf } while (tmp_len < len); log_error(LOG_LEVEL_ERROR, "%s\'s request contains at least one NULL byte " - "(length=%d, strlen=%d).", csp->ip_addr_str, len, c_len); + "(length=%d, strlen=%u).", csp->ip_addr_str, len, c_len); log_error(LOG_LEVEL_HEADER, "Offending request data with NULL bytes turned into \'°\' characters: %s", buf); @@ -2113,7 +2127,7 @@ static jb_err change_request_destination(struct client_state *csp) log_error(LOG_LEVEL_INFO, "Rewrite detected: %s", csp->headers->first->str); free_http_request(http); - err = parse_http_request(csp->headers->first->str, http, csp); + err = parse_http_request(csp->headers->first->str, http); if (JB_ERR_OK != err) { log_error(LOG_LEVEL_ERROR, "Couldn't parse rewritten request: %s.", @@ -2150,9 +2164,10 @@ static jb_err change_request_destination(struct client_state *csp) * FALSE otherwise. * *********************************************************************/ -static int server_response_is_complete(struct client_state *csp, size_t content_length) +static int server_response_is_complete(struct client_state *csp, + unsigned long long content_length) { - int content_length_known = (csp->flags & CSP_FLAG_CONTENT_LENGTH_SET); + int content_length_known = !!(csp->flags & CSP_FLAG_CONTENT_LENGTH_SET); if (!strcmpic(csp->http->gpc, "HEAD")) { @@ -2351,7 +2366,7 @@ static jb_err receive_client_request(struct client_state *csp) } #endif /* def FEATURE_FORCE_LOAD */ - err = parse_http_request(req, http, csp); + err = parse_http_request(req, http); freez(req); if (JB_ERR_OK != err) { @@ -2560,7 +2575,7 @@ static void chat(struct client_state *csp) jb_socket maxfd; int server_body; int ms_iis5_hack = 0; - size_t byte_count = 0; + unsigned long long byte_count = 0; int forwarded_connect_retries = 0; int max_forwarded_connect_retries = csp->config->forwarded_connect_retries; const struct forward_spec *fwd; @@ -2799,15 +2814,15 @@ static void chat(struct client_state *csp) log_error(LOG_LEVEL_CONNECT, "Looks like we read the last chunk together with " "the server headers. We better stop reading."); - byte_count = (size_t)(csp->iob->eod - csp->iob->cur); + byte_count = (unsigned long long)(csp->iob->eod - csp->iob->cur); csp->expected_content_length = byte_count; csp->flags |= CSP_FLAG_CONTENT_LENGTH_SET; } if (server_body && server_response_is_complete(csp, byte_count)) { log_error(LOG_LEVEL_CONNECT, - "Done reading from server. Expected content length: %d. " - "Actual content length: %d. Most recently received: %d.", + "Done reading from server. Expected content length: %llu. " + "Actual content length: %llu. Most recently received: %d.", csp->expected_content_length, byte_count, len); len = 0; /* @@ -2921,7 +2936,7 @@ static void chat(struct client_state *csp) log_error(LOG_LEVEL_CONNECT, "Looks like we reached the end of the last chunk. " "We better stop reading."); - csp->expected_content_length = byte_count + (size_t)len; + csp->expected_content_length = byte_count + (unsigned long long)len; csp->flags |= CSP_FLAG_CONTENT_LENGTH_SET; } } @@ -2990,7 +3005,8 @@ static void chat(struct client_state *csp) } if (write_socket(csp->cfd, hdr, strlen(hdr)) - || write_socket(csp->cfd, p != NULL ? p : csp->iob->cur, csp->content_length)) + || write_socket(csp->cfd, + ((p != NULL) ? p : csp->iob->cur), (size_t)csp->content_length)) { log_error(LOG_LEVEL_ERROR, "write modified content to client failed: %E"); freez(hdr); @@ -3074,7 +3090,7 @@ static void chat(struct client_state *csp) * we just flushed. len will be added a few lines below, * hdrlen doesn't matter for LOG_LEVEL_CLF. */ - byte_count = (size_t)flushed; + byte_count = (unsigned long long)flushed; freez(hdr); content_filter = NULL; server_body = 1; @@ -3089,7 +3105,7 @@ static void chat(struct client_state *csp) return; } } - byte_count += (size_t)len; + byte_count += (unsigned long long)len; continue; } else @@ -3133,9 +3149,9 @@ static void chat(struct client_state *csp) */ int header_offset = csp->iob->cur - header_start; assert(csp->iob->cur >= header_start); - byte_count += (size_t)(len - header_offset); + byte_count += (unsigned long long)(len - header_offset); log_error(LOG_LEVEL_CONNECT, "Continuing buffering headers. " - "byte_count: %d. header_offset: %d. len: %d.", + "byte_count: %llu. header_offset: %d. len: %d.", byte_count, header_offset, len); continue; } @@ -3235,7 +3251,7 @@ static void chat(struct client_state *csp) return; } - byte_count += (size_t)len; + byte_count += (unsigned long long)len; } else { @@ -3245,7 +3261,7 @@ static void chat(struct client_state *csp) */ int header_length = csp->iob->cur - header_start; assert(csp->iob->cur > header_start); - byte_count += (size_t)(len - header_length); + byte_count += (unsigned long long)(len - header_length); } /* we're finished with the server's header */ @@ -3285,13 +3301,13 @@ static void chat(struct client_state *csp) && (csp->expected_content_length != byte_count)) { log_error(LOG_LEVEL_CONNECT, - "Received %d bytes while expecting %d.", + "Received %llu bytes while expecting %llu.", byte_count, csp->expected_content_length); mark_server_socket_tainted(csp); } #endif - log_error(LOG_LEVEL_CLF, "%s - - [%T] \"%s\" 200 %d", + log_error(LOG_LEVEL_CLF, "%s - - [%T] \"%s\" 200 %llu", csp->ip_addr_str, http->ocmd, csp->content_length); }