X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=w32log.c;h=13e84690cb0dced4b511a4bf3508680689215b89;hp=15a3383877abf95e6cd638dcc772b5d7dbe2bb23;hb=5e64295a7ed3662f734abfb34d50a0f1a9dc5377;hpb=6d1554928803b8cceb91a8e82de8ae3418c896f4 diff --git a/w32log.c b/w32log.c index 15a33838..13e84690 100644 --- a/w32log.c +++ b/w32log.c @@ -1,4 +1,4 @@ -const char w32log_rcs[] = "$Id: w32log.c,v 1.3 2001/05/20 15:07:54 jongfoster Exp $"; +const char w32log_rcs[] = "$Id: w32log.c,v 1.9 2001/05/31 17:33:13 oes Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/w32log.c,v $ @@ -32,6 +32,51 @@ const char w32log_rcs[] = "$Id: w32log.c,v 1.3 2001/05/20 15:07:54 jongfoster Ex * * Revisions : * $Log: w32log.c,v $ + * Revision 1.9 2001/05/31 17:33:13 oes + * + * CRLF -> LF + * + * Revision 1.8 2001/05/29 09:50:24 jongfoster + * Unified blocklist/imagelist/permissionslist. + * File format is still under discussion, but the internal changes + * are (mostly) done. + * + * Also modified interceptor behaviour: + * - We now intercept all URLs beginning with one of the following + * prefixes (and *only* these prefixes): + * * http://i.j.b/ + * * http://ijbswa.sf.net/config/ + * * http://ijbswa.sourceforge.net/config/ + * - New interceptors "home page" - go to http://i.j.b/ to see it. + * - Internal changes so that intercepted and fast redirect pages + * are not replaced with an image. + * - Interceptors now have the option to send a binary page direct + * to the client. (i.e. ijb-send-banner uses this) + * - Implemented show-url-info interceptor. (Which is why I needed + * the above interceptors changes - a typical URL is + * "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif". + * The previous mechanism would not have intercepted that, and + * if it had been intercepted then it then it would have replaced + * it with an image.) + * + * Revision 1.7 2001/05/26 01:26:34 jongfoster + * New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor. + * This #define cannot be set from ./configure - there's no point, it + * doesn't work yet. See feature request # 425722 + * + * Revision 1.6 2001/05/26 00:31:30 jongfoster + * Fixing compiler warning about comparing signed/unsigned. + * + * Revision 1.5 2001/05/26 00:28:36 jongfoster + * Automatic reloading of config file. + * Removed obsolete SIGHUP support (Unix) and Reload menu option (Win32). + * Most of the global variables have been moved to a new + * struct configuration_spec, accessed through csp->config->globalname + * Most of the globals remaining are used by the Win32 GUI. + * + * Revision 1.4 2001/05/22 18:56:28 oes + * CRLF -> LF + * * Revision 1.3 2001/05/20 15:07:54 jongfoster * File is now ignored if _WIN_CONSOLE is defined. * @@ -147,6 +192,23 @@ char g_szFontFaceName[255] = DEFAULT_LOG_FONT_NAME; int g_nFontSize = DEFAULT_LOG_FONT_SIZE; +/* FIXME: this is a kludge */ + +const char * g_actions_file = NULL; +const char * g_forwardfile = NULL; +#ifdef ACL_FILES +const char * g_aclfile = NULL; +#endif /* def ACL_FILES */ +#ifdef PCRS +const char * g_re_filterfile = NULL; +#endif +#ifdef TRUST_FILES +const char * g_trustfile = NULL; +#endif /* def TRUST_FILES */ + +/* FIXME: end kludge */ + + #ifdef REGEX /* Regular expression for detected URLs */ #define RE_URL "http:[^ \n\r]*" @@ -469,7 +531,7 @@ int LogPutString(const char *pszText) memset(pszBefore, 0, (match.rm_so + 1) * sizeof(char)); strncpy(pszBefore, pszText, match.rm_so); } - if (match.rm_eo < strlen(pszText)) + if (match.rm_eo < (regoff_t)strlen(pszText)) { pszAfter = strdup(&pszText[match.rm_eo]); } @@ -920,7 +982,9 @@ void OnLogRButtonUp(int nModifier, int x, int y) if (hMenu != NULL) { HMENU hMenuPopup = GetSubMenu(hMenu, 0); +#ifdef WIN_GUI_EDIT char *szURL; +#endif /* def WIN_GUI_EDIT */ /* Check if there is a selection */ CHARRANGE range; @@ -934,6 +998,7 @@ void OnLogRButtonUp(int nModifier, int x, int y) EnableMenuItem(hMenuPopup, ID_EDIT_COPY, MF_BYCOMMAND | MF_ENABLED); } +#ifdef WIN_GUI_EDIT /* Check if cursor is over a link */ szURL = LogGetURLUnderCursor(); if (szURL) @@ -965,6 +1030,7 @@ void OnLogRButtonUp(int nModifier, int x, int y) free(szURL); } +#endif /* def WIN_GUI_EDIT */ /* Display the popup */ TrackPopupMenu(hMenuPopup, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RIGHTBUTTON, x, y, 0, g_hwndLogFrame, NULL); @@ -1041,63 +1107,41 @@ void OnLogCommand(int nCommand) break; #endif - case ID_RELOAD_CONFIG: - configret = 0; - load_config( 1 ); - - if ( configret ) - { - log_error(LOG_LEVEL_ERROR, "load_config encountered a problem! You should probably restart IJB."); - } - else - { - log_error(LOG_LEVEL_INFO, "Configuration has been reloaded."); - } - break; - case ID_TOOLS_EDITJUNKBUSTER: EditFile(configfile); break; - case ID_TOOLS_EDITBLOCKERS: - EditFile(blockfile); - break; - - case ID_TOOLS_EDITPERMISSIONS: - EditFile(permissions_file); + case ID_TOOLS_EDITACTIONS: + EditFile(g_actions_file); break; case ID_TOOLS_EDITFORWARD: - EditFile(forwardfile); + EditFile(g_forwardfile); break; #ifdef ACL_FILES case ID_TOOLS_EDITACLS: - EditFile(aclfile); + EditFile(g_aclfile); break; #endif /* def ACL_FILES */ -#ifdef USE_IMAGE_LIST - case ID_TOOLS_EDITIMAGE: - EditFile(imagefile); - break; -#endif /* def USE_IMAGE_LIST */ - #ifdef PCRS case ID_TOOLS_EDITPERLRE: - EditFile(re_filterfile); + EditFile(g_re_filterfile); break; #endif #ifdef TRUST_FILES case ID_TOOLS_EDITTRUST: - EditFile(trustfile); + EditFile(g_trustfile); break; #endif /* def TRUST_FILES */ +#ifdef WIN_GUI_EDIT case ID_NEW_BLOCKER: ShowRulesDialog(g_hwndLogFrame); break; +#endif /* def WIN_GUI_EDIT */ case ID_HELP_GPL: ShellExecute(g_hwndLogFrame, "open", "gpl.html", NULL, NULL, SW_SHOWNORMAL); @@ -1143,20 +1187,16 @@ void OnLogCommand(int nCommand) void OnLogInitMenu(HMENU hmenu) { /* Only enable editors if there is a file to edit */ - EnableMenuItem(hmenu, ID_TOOLS_EDITPERMISSIONS, MF_BYCOMMAND | (permissions_file ? MF_ENABLED : MF_GRAYED)); - EnableMenuItem(hmenu, ID_TOOLS_EDITBLOCKERS, MF_BYCOMMAND | (blockfile ? MF_ENABLED : MF_GRAYED)); - EnableMenuItem(hmenu, ID_TOOLS_EDITFORWARD, MF_BYCOMMAND | (forwardfile ? MF_ENABLED : MF_GRAYED)); + EnableMenuItem(hmenu, ID_TOOLS_EDITACTIONS, MF_BYCOMMAND | (g_actions_file ? MF_ENABLED : MF_GRAYED)); + EnableMenuItem(hmenu, ID_TOOLS_EDITFORWARD, MF_BYCOMMAND | (g_forwardfile ? MF_ENABLED : MF_GRAYED)); #ifdef ACL_FILES - EnableMenuItem(hmenu, ID_TOOLS_EDITACLS, MF_BYCOMMAND | (aclfile ? MF_ENABLED : MF_GRAYED)); + EnableMenuItem(hmenu, ID_TOOLS_EDITACLS, MF_BYCOMMAND | (g_aclfile ? MF_ENABLED : MF_GRAYED)); #endif /* def ACL_FILES */ -#ifdef USE_IMAGE_LIST - EnableMenuItem(hmenu, ID_TOOLS_EDITIMAGE, MF_BYCOMMAND | (imagefile ? MF_ENABLED : MF_GRAYED)); -#endif /* def USE_IMAGE_LIST */ #ifdef PCRS - EnableMenuItem(hmenu, ID_TOOLS_EDITPERLRE, MF_BYCOMMAND | (re_filterfile ? MF_ENABLED : MF_GRAYED)); + EnableMenuItem(hmenu, ID_TOOLS_EDITPERLRE, MF_BYCOMMAND | (g_re_filterfile ? MF_ENABLED : MF_GRAYED)); #endif #ifdef TRUST_FILES - EnableMenuItem(hmenu, ID_TOOLS_EDITTRUST, MF_BYCOMMAND | (trustfile ? MF_ENABLED : MF_GRAYED)); + EnableMenuItem(hmenu, ID_TOOLS_EDITTRUST, MF_BYCOMMAND | (g_trustfile ? MF_ENABLED : MF_GRAYED)); #endif /* def TRUST_FILES */ /* Check/uncheck options */