X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=killpopup.c;h=22f44e27585e9401d282ec59e7a8d1efc9bda848;hb=24cdb66ed8cc95a3731010e6de12bb3d2d3a36bc;hp=7043deff98f7b48f932ee3fc59336881157845f0;hpb=83c2b618ceef790210d5d5a9247ef3adae5f28a6;p=privoxy.git diff --git a/killpopup.c b/killpopup.c index 7043deff..22f44e27 100644 --- a/killpopup.c +++ b/killpopup.c @@ -1,4 +1,4 @@ -const char killpopup_rcs[] = "$Id: killpopup.c,v 1.9 2001/07/31 14:44:22 oes Exp $"; +const char killpopup_rcs[] = "$Id: killpopup.c,v 1.10 2001/09/22 16:34:44 jongfoster Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/killpopup.c,v $ @@ -32,6 +32,9 @@ const char killpopup_rcs[] = "$Id: killpopup.c,v 1.9 2001/07/31 14:44:22 oes Exp * * Revisions : * $Log: killpopup.c,v $ + * Revision 1.10 2001/09/22 16:34:44 jongfoster + * Removing unneeded #includes + * * Revision 1.9 2001/07/31 14:44:22 oes * Deleted unused size parameter from filter_popups() * @@ -107,18 +110,19 @@ const char killpopup_h_rcs[] = KILLPOPUP_H_VERSION; * * Function : filter_popups * - * Description : Filter the block of data that's been read from the server. - * Caller is responsible for checking permissons list - * to determine if this function should be called. - * Remember not to change the content length (substitute char by char) + * Description : Filter the block of data that's been read from the server + * for javascript popup code and replace by syntactically + * neutral code of the same size. + * Raise the CSP_FLAG_MODIFIED flag on success. * * Parameters : * 1 : buff = Buffer to scan and modify. Null terminated. + * 2 : csp = Client state pointer * * Returns : void * *********************************************************************/ -void filter_popups(char *buff) +void filter_popups(char *buff, struct client_state *csp) { char *popup = NULL; char *close = NULL; @@ -134,6 +138,7 @@ void filter_popups(char *buff) */ strncpy(popup, "1;''.concat(", 12); log_error(LOG_LEVEL_POPUPS, "Blocked popup window open"); + csp->flags |= CSP_FLAG_MODIFIED; } } @@ -147,6 +152,7 @@ void filter_popups(char *buff) */ strncpy(popup, ".scrollTo(", 10); log_error(LOG_LEVEL_POPUPS, "Blocked popup window resize"); + csp->flags |= CSP_FLAG_MODIFIED; } } @@ -165,11 +171,13 @@ void filter_popups(char *buff) if (p) { strncpy(p,"_nU_",4); + csp->flags |= CSP_FLAG_MODIFIED; } p=strstr(popup, "onExit"); if (p) { strncpy(p,"_nE_",4); + csp->flags |= CSP_FLAG_MODIFIED; } } }