From 103d66227c53dd37060384184a47acfb4415acb8 Mon Sep 17 00:00:00 2001 From: oes Date: Sun, 7 Oct 2001 15:42:41 +0000 Subject: [PATCH] filter_popups now gets a csp pointer so it can raise the new CSP_FLAG_MODIFIED flag. --- killpopup.c | 20 ++++++++++++++------ killpopup.h | 7 +++++-- 2 files changed, 19 insertions(+), 8 deletions(-) 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; } } } diff --git a/killpopup.h b/killpopup.h index 07ff1a75..090e85ca 100644 --- a/killpopup.h +++ b/killpopup.h @@ -1,6 +1,6 @@ #ifndef KILLPOPUP_H_INCLUDED #define KILLPOPUP_H_INCLUDED -#define KILLPOPUP_H_VERSION "$Id: killpopup.h,v 1.4 2001/07/30 22:08:36 jongfoster Exp $" +#define KILLPOPUP_H_VERSION "$Id: killpopup.h,v 1.5 2001/07/31 14:44:22 oes Exp $" /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/killpopup.h,v $ @@ -34,6 +34,9 @@ * * Revisions : * $Log: killpopup.h,v $ + * Revision 1.5 2001/07/31 14:44:22 oes + * Deleted unused size parameter from filter_popups() + * * Revision 1.4 2001/07/30 22:08:36 jongfoster * Tidying up #defines: * - All feature #defines are now of the form FEATURE_xxx @@ -72,7 +75,7 @@ extern "C" { #ifdef FEATURE_KILL_POPUPS -extern void filter_popups(char *buff); +extern void filter_popups(char *buff, struct client_state *csp); #endif /* def FEATURE_KILL_POPUPS */ -- 2.39.2