X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=filters.c;h=18ef5b35a5f1669bbe50645e3bb6d17df19918ac;hb=aa6ce89b0a708175c8ebeefe599aba5431841d7a;hp=4a959751baf995b11e5a569ca0d89953c38f2af4;hpb=b8e4d2f10d54ba6e020c89f7b980062bc3ab028b;p=privoxy.git diff --git a/filters.c b/filters.c index 4a959751..18ef5b35 100644 --- a/filters.c +++ b/filters.c @@ -1,4 +1,4 @@ -const char filters_rcs[] = "$Id: filters.c,v 1.105 2008/03/28 15:13:39 fabiankeil Exp $"; +const char filters_rcs[] = "$Id: filters.c,v 1.112 2009/03/01 18:28:23 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/filters.c,v $ @@ -40,6 +40,33 @@ const char filters_rcs[] = "$Id: filters.c,v 1.105 2008/03/28 15:13:39 fabiankei * * Revisions : * $Log: filters.c,v $ + * Revision 1.112 2009/03/01 18:28:23 fabiankeil + * Help clang understand that we aren't dereferencing + * NULL pointers here. + * + * Revision 1.111 2008/12/04 18:13:46 fabiankeil + * Fix a cparser warning. + * + * Revision 1.110 2008/11/10 16:40:25 fabiankeil + * Fix a gcc44 warning. + * + * Revision 1.109 2008/11/08 15:48:41 fabiankeil + * Mention actual values when complaining about + * the chunk size exceeding the buffer size. + * + * Revision 1.108 2008/05/21 15:35:08 fabiankeil + * - Mark csp as immutable for block_acl(). + * - Remove an obsolete complaint about filter_popups(). + * + * Revision 1.107 2008/05/04 17:52:56 fabiankeil + * Adjust parse_http_url() call to new prototype. + * + * Revision 1.106 2008/05/03 16:40:44 fabiankeil + * Change content_filters_enabled()'s parameter from + * csp->action to action so it can be also used in the + * CGI code. Don't bother checking if there are filters + * loaded, as that's somewhat besides the point. + * * Revision 1.105 2008/03/28 15:13:39 fabiankeil * Remove inspect-jpegs action. * @@ -697,7 +724,7 @@ static jb_err prepare_for_filtering(struct client_state *csp); * Returns : 0 = FALSE (don't block) and 1 = TRUE (do block) * *********************************************************************/ -int block_acl(struct access_control_addr *dst, struct client_state *csp) +int block_acl(const struct access_control_addr *dst, const struct client_state *csp) { struct access_control_list *acl = csp->config->acl; @@ -821,7 +848,7 @@ int acl_addr(const char *aspec, struct access_control_addr *aca) aca->mask = 0; for (i=1; i <= masklength ; i++) { - aca->mask |= (1 << (32 - i)); + aca->mask |= (1U << (32 - i)); } /* now mask off the host portion of the ip address @@ -1735,7 +1762,7 @@ int is_untrusted_url(const struct client_state *csp) /* * If not, do we maybe trust its referrer? */ - err = parse_http_url(referer, rhttp, csp); + err = parse_http_url(referer, rhttp, REQUIRE_PROTOCOL); if (err) { return 1; @@ -1768,7 +1795,7 @@ int is_untrusted_url(const struct client_state *csp) /* since this path points into a user's home space * be sure to include this spec in the trustfile. */ - int path_len = path_end - path; /* save offset */ + long path_len = path_end - path; /* save offset */ path = strdup(path); /* Copy string */ if (path != NULL) { @@ -2070,12 +2097,6 @@ static char *gif_deanimate_response(struct client_state *csp) * Description : Decides which content filter function has * to be applied (if any). * - * XXX: Doesn't handle filter_popups() - * because of the different prototype. Probably - * we should ditch filter_popups() anyway, it's - * even less reliable than popup blocking based - * on pcrs filters. - * * Parameters : * 1 : csp = Current client state (buffers, headers, etc...) * @@ -2171,7 +2192,7 @@ static jb_err remove_chunked_transfer_coding(char *buffer, size_t *size) return JB_ERR_PARSE; } - while (chunksize > 0) + while (chunksize > 0U) { if (NULL == (from_p = strstr(from_p, "\r\n"))) { @@ -2181,7 +2202,9 @@ static jb_err remove_chunked_transfer_coding(char *buffer, size_t *size) if ((newsize += chunksize) >= *size) { - log_error(LOG_LEVEL_ERROR, "Chunksize exceeds buffer in \"chunked\" transfer coding"); + log_error(LOG_LEVEL_ERROR, + "Chunk size %d exceeds buffer size %d in \"chunked\" transfer coding", + chunksize, *size); return JB_ERR_PARSE; } from_p += 2; @@ -2459,6 +2482,7 @@ const static struct forward_spec *get_forward_override_settings(struct client_st log_error(LOG_LEVEL_FATAL, "can't allocate memory for forward-override{%s}", forward_override_line); /* Never get here - LOG_LEVEL_FATAL causes program exit */ + return NULL; } vec_count = ssplit(forward_settings, " \t", vec, SZ(vec), 1, 1); @@ -2498,7 +2522,7 @@ const static struct forward_spec *get_forward_override_settings(struct client_st if (NULL != (socks_proxy = strchr(fwd->gateway_host, ':'))) { *socks_proxy++ = '\0'; - fwd->gateway_port = strtol(socks_proxy, NULL, 0); + fwd->gateway_port = (int)strtol(socks_proxy, NULL, 0); } if (fwd->gateway_port <= 0) @@ -2525,7 +2549,7 @@ const static struct forward_spec *get_forward_override_settings(struct client_st if (NULL != (http_parent = strchr(fwd->forward_host, ':'))) { *http_parent++ = '\0'; - fwd->forward_port = strtol(http_parent, NULL, 0); + fwd->forward_port = (int)strtol(http_parent, NULL, 0); } if (fwd->forward_port <= 0)