X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=cgisimple.c;h=527db0eb4e5f4bb4f0547f3515d93a33f05cc825;hb=a8bab99d1b4527bfa55ed0dc8082cbffe17aef31;hp=b100094183f31fb42e25be25f92cd62257d91a5f;hpb=a25b9a702795c0c1e77ef3fe934915003eb685de;p=privoxy.git diff --git a/cgisimple.c b/cgisimple.c index b1000941..527db0eb 100644 --- a/cgisimple.c +++ b/cgisimple.c @@ -1,4 +1,4 @@ -const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.11 2002/01/23 00:01:04 jongfoster Exp $"; +const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.13 2002/02/21 00:10:37 jongfoster Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $ @@ -36,6 +36,12 @@ const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.11 2002/01/23 00:01:04 jongfo * * Revisions : * $Log: cgisimple.c,v $ + * Revision 1.13 2002/02/21 00:10:37 jongfoster + * Adding send-banner?type=auto option + * + * 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. @@ -308,8 +314,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. @@ -319,7 +327,28 @@ 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;