X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=cgisimple.c;h=53634c800c5756ebebfe26d31b23536473aabff1;hb=refs%2Ftags%2Fv_2_9_11;hp=fe8c34540a02444bed6257797538f646f608727f;hpb=4b33fba4bc8cd2ea8ef4f07fdc5a0c465facfcf8;p=privoxy.git diff --git a/cgisimple.c b/cgisimple.c index fe8c3454..53634c80 100644 --- a/cgisimple.c +++ b/cgisimple.c @@ -1,4 +1,4 @@ -const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.10 2002/01/17 21:10:37 jongfoster Exp $"; +const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.12 2002/01/23 01:03:32 jongfoster Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $ @@ -36,6 +36,14 @@ const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.10 2002/01/17 21:10:37 jongfo * * Revisions : * $Log: cgisimple.c,v $ + * Revision 1.12 2002/01/23 01:03:32 jongfoster + * Fixing gcc [CygWin] compiler warnings + * + * Revision 1.11 2002/01/23 00:01:04 jongfoster + * Adding cgi_transparent_gif() for http://i.j.b/t + * Adding missing html_encode() to many CGI functions. + * Adding urlmatch.[ch] to http://i.j.b/show-version + * * Revision 1.10 2002/01/17 21:10:37 jongfoster * Changes to cgi_show_url_info to use new matching code from urlmatch.c. * Also fixing a problem in the same function with improperly quoted URLs @@ -303,8 +311,10 @@ jb_err cgi_show_request(struct client_state *csp, * 3 : parameters = map of cgi parameters * * CGI Parameters : - * type : Selects the type of banner between "trans" and "jb". - * Defaults to "jb" if absent or != "trans". + * type : Selects the type of banner between "trans", "logo", + * and "auto". Defaults to "logo" if absent or invalid. + * "auto" means to select as if we were image-blocking. + * (Only the first character really counts). * * Returns : JB_ERR_OK on success * JB_ERR_MEMORY on out-of-memory error. @@ -313,8 +323,29 @@ jb_err cgi_show_request(struct client_state *csp, jb_err cgi_send_banner(struct client_state *csp, struct http_response *rsp, const struct map *parameters) -{ - if (strcmp(lookup(parameters, "type"), "trans")) +{ + char imagetype = lookup(parameters, "type")[0]; + + if (imagetype == 'a') /* auto */ + { + /* Default to logo */ + imagetype = 'l'; +#ifdef FEATURE_IMAGE_BLOCKING + if ((csp->action->flags & ACTION_IMAGE_BLOCKER) != 0) + { + /* determine HOW images should be blocked */ + const char * p = csp->action->string[ACTION_STRING_IMAGE_BLOCKER]; + + /* and handle accordingly: */ + if ((p != NULL) && (0 == strcmpic(p, "blank"))) + { + imagetype = 't'; + } + } +#endif /* def FEATURE_IMAGE_BLOCKING */ + } + + if ((imagetype != 't') && (imagetype != 'b')) /* transparant/blank */ { rsp->body = bindup(image_junkbuster_gif_data, image_junkbuster_gif_length); rsp->content_length = image_junkbuster_gif_length; @@ -674,7 +705,6 @@ jb_err cgi_show_url_info(struct client_state *csp, const struct map *parameters) { char *url_param; - char *host = NULL; struct map *exports; assert(csp);