From f26b39e9b1a98bb4822eded2995c886effbfab04 Mon Sep 17 00:00:00 2001
From: jongfoster <jongfoster@users.sourceforge.net>
Date: Fri, 25 May 2001 22:33:40 +0000
Subject: [PATCH] CRLF->LF

---
 showargs.c |  62 ++++++-
 w32.rc     | 535 +++++++++++++++++++++++++++--------------------------
 2 files changed, 327 insertions(+), 270 deletions(-)

diff --git a/showargs.c b/showargs.c
index 77172e7a..7bbac02a 100644
--- a/showargs.c
+++ b/showargs.c
@@ -1,4 +1,4 @@
-const char showargs_rcs[] = "$Id: showargs.c,v 1.4 2001/05/20 16:44:47 jongfoster Exp $";
+const char showargs_rcs[] = "$Id: showargs.c,v 1.5 2001/05/22 18:54:49 oes Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/showargs.c,v $
@@ -33,6 +33,50 @@ const char showargs_rcs[] = "$Id: showargs.c,v 1.4 2001/05/20 16:44:47 jongfoste
  *
  * Revisions   :
  *    $Log: showargs.c,v $
+ *    Revision 1.5  2001/05/22 18:54:49  oes
+ *
+ *    - Enabled filtering banners by size rather than URL
+ *      by adding patterns that replace all standard banner
+ *      sizes with the "Junkbuster" gif to the re_filterfile
+ *
+ *    - Enabled filtering WebBugs by providing a pattern
+ *      which kills all 1x1 images
+ *
+ *    - Added support for PCRE_UNGREEDY behaviour to pcrs,
+ *      which is selected by the (nonstandard and therefore
+ *      capital) letter 'U' in the option string.
+ *      It causes the quantifiers to be ungreedy by default.
+ *      Appending a ? turns back to greedy (!).
+ *
+ *    - Added a new interceptor ijb-send-banner, which
+ *      sends back the "Junkbuster" gif. Without imagelist or
+ *      MSIE detection support, or if tinygif = 1, or the
+ *      URL isn't recognized as an imageurl, a lame HTML
+ *      explanation is sent instead.
+ *
+ *    - Added new feature, which permits blocking remote
+ *      script redirects and firing back a local redirect
+ *      to the browser.
+ *      The feature is conditionally compiled, i.e. it
+ *      can be disabled with --disable-fast-redirects,
+ *      plus it must be activated by a "fast-redirects"
+ *      line in the config file, has its own log level
+ *      and of course wants to be displayed by show-proxy-args
+ *      Note: Boy, all the #ifdefs in 1001 locations and
+ *      all the fumbling with configure.in and acconfig.h
+ *      were *way* more work than the feature itself :-(
+ *
+ *    - Because a generic redirect template was needed for
+ *      this, tinygif = 3 now uses the same.
+ *
+ *    - Moved GIFs, and other static HTTP response templates
+ *      to project.h
+ *
+ *    - Some minor fixes
+ *
+ *    - Removed some >400 CRs again (Jon, you really worked
+ *      a lot! ;-)
+ *
  *    Revision 1.4  2001/05/20 16:44:47  jongfoster
  *    Removing last hardcoded JunkBusters.com URLs.
  *
@@ -120,7 +164,7 @@ char *strsav(char *old, const char *text_to_append)
       if ((p = realloc(old, new_len)) == NULL)
       {
          log_error(LOG_LEVEL_FATAL, "realloc(%d) bytes for proxy_args failed!", new_len);
-         /* Never get here - LOG_LEVEL_FATAL causes program exit */
+         /* Never get here - LOG_LEVEL_FATAL causes program exit */
       }
    }
    else
@@ -128,7 +172,7 @@ char *strsav(char *old, const char *text_to_append)
       if ((p = (char *)malloc(new_len)) == NULL)
       {
          log_error(LOG_LEVEL_FATAL, "malloc(%d) bytes for proxy_args failed!", new_len);
-         /* Never get here - LOG_LEVEL_FATAL causes program exit */
+         /* Never get here - LOG_LEVEL_FATAL causes program exit */
       }
    }
 
@@ -351,8 +395,8 @@ void end_proxy_args(void)
    SHOW_RCS(showargs_rcs)
    SHOW_RCS(ssplit_h_rcs)
    SHOW_RCS(ssplit_rcs)
-#ifdef _WIN32
-#ifndef _WIN_CONSOLE
+#ifdef _WIN32
+#ifndef _WIN_CONSOLE
    SHOW_RCS(w32log_h_rcs)
    SHOW_RCS(w32log_rcs)
    SHOW_RCS(w32res_h_rcs)
@@ -360,7 +404,7 @@ void end_proxy_args(void)
    SHOW_RCS(w32rulesdlg_rcs)
    SHOW_RCS(w32taskbar_h_rcs)
    SHOW_RCS(w32taskbar_rcs)
-#endif /* ndef _WIN_CONSOLE */
+#endif /* ndef _WIN_CONSOLE */
    SHOW_RCS(win32_h_rcs)
    SHOW_RCS(win32_rcs)
 #endif /* def _WIN32 */
@@ -471,9 +515,9 @@ void end_proxy_args(void)
 
    b = strsav(b,
       "<small><small><p>\n"
-      "The " BANNER " Proxy - \n"
-      "<a href=\"" HOME_PAGE_URL "\">" HOME_PAGE_URL "</a><p>\n"
-      "Copyright &#169; 2001 <a href=\"" HOME_PAGE_URL "\">the SourceForge IJBSWA team</a><br>\n"
+      "The " BANNER " Proxy - \n"
+      "<a href=\"" HOME_PAGE_URL "\">" HOME_PAGE_URL "</a><p>\n"
+      "Copyright &#169; 2001 <a href=\"" HOME_PAGE_URL "\">the SourceForge IJBSWA team</a><br>\n"
       "Copyright &#169; 1997 <a href=\"http://www.junkbusters.com/\">\n" "Junkbusters Corporation</a><br>\n"
       "Copying and distribution permitted under the "
       "<a href=\"http://www.gnu.org/copyleft/gpl.html\">GNU General Public License.</a>\n"
diff --git a/w32.rc b/w32.rc
index 5d991a44..2bf24ef5 100644
--- a/w32.rc
+++ b/w32.rc
@@ -1,264 +1,277 @@
-/*********************************************************************
- *
- * File        :  $Source: /cvsroot/ijbswa/current/w32.rc,v $
- *
- * Purpose     :  Windows GUI resource script.
- *
- * Copyright   :  Written by and Copyright (C) 2001 the SourceForge
- *                IJBSWA team.  http://ijbswa.sourceforge.net
- *
- *                Based on the Internet Junkbuster originally written
- *                by and Copyright (C) 1997 Anonymous Coders and 
- *                Junkbusters Corporation.  http://www.junkbusters.com
- *
- *                This program is free software; you can redistribute it 
- *                and/or modify it under the terms of the GNU General
- *                Public License as published by the Free Software
- *                Foundation; either version 2 of the License, or (at
- *                your option) any later version.
- *
- *                This program is distributed in the hope that it will
- *                be useful, but WITHOUT ANY WARRANTY; without even the
- *                implied warranty of MERCHANTABILITY or FITNESS FOR A
- *                PARTICULAR PURPOSE.  See the GNU General Public
- *                License for more details.
- *
- *                The GNU General Public License should be included with
- *                this file.  If not, you can view it at
- *                http://www.gnu.org/copyleft/gpl.html
- *                or write to the Free Software Foundation, Inc., 59
- *                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- *
- * Revisions   :
+/*********************************************************************
+ *
+ * File        :  $Source: /cvsroot/ijbswa/current/w32.rc,v $
+ *
+ * Purpose     :  Windows GUI resource script.
+ *
+ * Copyright   :  Written by and Copyright (C) 2001 the SourceForge
+ *                IJBSWA team.  http://ijbswa.sourceforge.net
+ *
+ *                Based on the Internet Junkbuster originally written
+ *                by and Copyright (C) 1997 Anonymous Coders and 
+ *                Junkbusters Corporation.  http://www.junkbusters.com
+ *
+ *                This program is free software; you can redistribute it 
+ *                and/or modify it under the terms of the GNU General
+ *                Public License as published by the Free Software
+ *                Foundation; either version 2 of the License, or (at
+ *                your option) any later version.
+ *
+ *                This program is distributed in the hope that it will
+ *                be useful, but WITHOUT ANY WARRANTY; without even the
+ *                implied warranty of MERCHANTABILITY or FITNESS FOR A
+ *                PARTICULAR PURPOSE.  See the GNU General Public
+ *                License for more details.
+ *
+ *                The GNU General Public License should be included with
+ *                this file.  If not, you can view it at
+ *                http://www.gnu.org/copyleft/gpl.html
+ *                or write to the Free Software Foundation, Inc., 59
+ *                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ *
+ * Revisions   :
  *    $Log: w32.rc,v $
+ *    Revision 1.2  2001/05/20 01:21:20  jongfoster
+ *    Version 2.9.4 checkin.
+ *    - Merged popupfile and cookiefile, and added control over PCRS
+ *      filtering, in new "permissionsfile".
+ *    - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
+ *      file error you now get a message box (in the Win32 GUI) rather
+ *      than the program exiting with no explanation.
+ *    - Made killpopup use the PCRS MIME-type checking and HTTP-header
+ *      skipping.
+ *    - Removed tabs from "config"
+ *    - Moved duplicated url parsing code in "loaders.c" to a new funcition.
+ *    - Bumped up version number.
+ *
  *    Revision 1.1.1.1  2001/05/15 13:59:07  oes
  *    Initial import of version 2.9.3 source tree
- *
- *
- *********************************************************************/
-
-#include <windows.h>
-#include "config.h"
-#include "w32res.h"
-
-#ifdef __MINGW32__
-#include "cygwin.h"
-#endif
-
-/****************************************************************************
- *  Language-neutral resources
- ****************************************************************************/
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
-#ifdef _WIN32
-/* LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL */
-#pragma code_page(1252)
-#endif /* _WIN32 */
-
-/*
- * Icons
- *
- * Icon with lowest ID value placed first to ensure application icon
- * remains consistent on all systems.
- */
-IDI_JUNKBUSTER          ICON    DISCARDABLE     "icons/junkbust.ico"
-IDI_JUNKBUSTER1         ICON    DISCARDABLE     "icons/ico00001.ico"
-IDI_JUNKBUSTER2         ICON    DISCARDABLE     "icons/ico00002.ico"
-IDI_JUNKBUSTER3         ICON    DISCARDABLE     "icons/ico00003.ico"
-IDI_JUNKBUSTER4         ICON    DISCARDABLE     "icons/ico00004.ico"
-IDI_JUNKBUSTER5         ICON    DISCARDABLE     "icons/ico00005.ico"
-IDI_JUNKBUSTER6         ICON    DISCARDABLE     "icons/ico00006.ico"
-IDI_JUNKBUSTER7         ICON    DISCARDABLE     "icons/ico00007.ico"
-IDI_JUNKBUSTER8         ICON    DISCARDABLE     "icons/ico00008.ico"
-IDI_IDLE                ICON    DISCARDABLE     "icons/idle.ico"
-
-#endif /* Neutral resources */
-
-
-/****************************************************************************
- *  English (U.S.) resources
- ****************************************************************************/
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-/* LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US */
-#pragma code_page(1252)
-#endif //_WIN32
-
-/*
- * Menus
- */
-
-IDR_TRAYMENU MENU DISCARDABLE
-BEGIN
-    POPUP "Popup"
-    BEGIN
-        MENUITEM "E&xit JunkBuster",   ID_FILE_EXIT
-        MENUITEM                       SEPARATOR
-        POPUP "&Options"
-        BEGIN
-            MENUITEM "&Junkbuster...",              ID_TOOLS_EDITJUNKBUSTER
-            MENUITEM                                SEPARATOR
-            MENUITEM "&Blockers...",                ID_TOOLS_EDITBLOCKERS
-            MENUITEM "&Permissions...",             ID_TOOLS_EDITPERMISSIONS
-            MENUITEM "&Forward...",                 ID_TOOLS_EDITFORWARD
-#ifdef ACL_FILES
-            MENUITEM "&Access Control Lists...",    ID_TOOLS_EDITACLS
-#endif /* def ACL_FILES */
-#ifdef USE_IMAGE_LIST
-            MENUITEM "&Images...",                  ID_TOOLS_EDITIMAGE
-#endif /* def USE_IMAGE_LIST */
-#ifdef PCRS
-            MENUITEM "Perl &Regexps...",            ID_TOOLS_EDITPERLRE
-#endif /* def PCRS */
-#ifdef TRUST_FILES
-            MENUITEM "&Trust...",                   ID_TOOLS_EDITTRUST
-#endif /* def TRUST_FILES */
-        END
-        MENUITEM                              SEPARATOR
-#ifdef TOGGLE
-        MENUITEM "&Enable",                   ID_TOGGLE_IJB, CHECKED
-#endif
-        MENUITEM "&Reload config",            ID_RELOAD_CONFIG
-        MENUITEM "Show &JunkBuster Window",   ID_SHOWWINDOW
-    END
-END
-
-IDR_LOGVIEW MENU DISCARDABLE
-BEGIN
-    POPUP "&File"
-    BEGIN
-        MENUITEM "E&xit",                       ID_FILE_EXIT
-    END
-    POPUP "&Edit"
-    BEGIN
-        MENUITEM "Copy",                        ID_EDIT_COPY
-    END
-    POPUP "&View"
-    BEGIN
-        MENUITEM "&Clear Log",                  ID_VIEW_CLEARLOG
-        MENUITEM                                SEPARATOR
-        MENUITEM "&Log Messages",               ID_VIEW_LOGMESSAGES, CHECKED
-        MENUITEM "Message &Highlighting",       ID_VIEW_MESSAGEHIGHLIGHTING, CHECKED
-        MENUITEM "Limit &Buffer Size",          ID_VIEW_LIMITBUFFERSIZE, CHECKED
-        MENUITEM "&Activity Animation",         ID_VIEW_ACTIVITYANIMATION, CHECKED
-    END
-    POPUP "&Options"
-    BEGIN
-#ifdef TOGGLE
-        MENUITEM "&Enable",                     ID_TOGGLE_IJB, CHECKED
-        MENUITEM "&Reload config",              ID_RELOAD_CONFIG
-        MENUITEM                                SEPARATOR
-#endif
-        MENUITEM "&Junkbuster...",              ID_TOOLS_EDITJUNKBUSTER
-        MENUITEM                                SEPARATOR
-        MENUITEM "&Blockers...",                ID_TOOLS_EDITBLOCKERS
-        MENUITEM "&Permissions...",             ID_TOOLS_EDITPERMISSIONS
-        MENUITEM "&Forward...",                 ID_TOOLS_EDITFORWARD
-#ifdef ACL_FILES
-            MENUITEM "&Access Control Lists...",ID_TOOLS_EDITACLS
-#endif /* def ACL_FILES */
-#ifdef USE_IMAGE_LIST
-            MENUITEM "&Images...",              ID_TOOLS_EDITIMAGE
-#endif /* def USE_IMAGE_LIST */
-#ifdef PCRS
-            MENUITEM "Perl &Regexps...",        ID_TOOLS_EDITPERLRE
-#endif /* def PCRS */
-#ifdef TRUST_FILES
-            MENUITEM "&Trust...",               ID_TOOLS_EDITTRUST
-#endif /* def TRUST_FILES */
-    END
-    POPUP "&Help"
-    BEGIN
-        MENUITEM "Junkbuster &FAQ",             ID_HELP_FAQ
-        MENUITEM "Junkbuster &Manual",          ID_HELP_MANUAL
-        MENUITEM "GNU &General Public Licence", ID_HELP_GPL
-        MENUITEM                                SEPARATOR
-        MENUITEM "Junkbuster Status...",        ID_HELP_STATUS
-        MENUITEM                                SEPARATOR
-        MENUITEM "About Junkbuster...",         ID_HELP_ABOUTJUNKBUSTER
-    END
-END
-
-IDR_POPUP_SELECTION MENU DISCARDABLE
-BEGIN
-    POPUP "Popup"
-    BEGIN
-        MENUITEM "&Copy",                       ID_EDIT_COPY
-    END
-END
-
-
-/*
- * Accelerators
- */
-
-IDR_ACCELERATOR ACCELERATORS DISCARDABLE
-BEGIN
-    "C",            ID_EDIT_COPY,           VIRTKEY, CONTROL, NOINVERT
-END
-
-/*
- * Icons
- *
- * Icon with lowest ID value placed first to ensure application icon
- * remains consistent on all systems.
- */
-IDI_DENYRULE            ICON    DISCARDABLE     "icons/denyrule.ico"
-IDI_ALLOWRULE           ICON    DISCARDABLE     "icons/icon1.ico"
-
-/*
- * Dialog
- */
-
-IDD_RULES DIALOG DISCARDABLE  0, 0, 239, 225
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Blockers"
-FONT 8, "MS Sans Serif"
-BEGIN
-    GROUPBOX        "New Rule",IDC_STATIC,5,5,230,55
-    LTEXT           "For:",IDC_STATIC,10,15,13,8
-    EDITTEXT        IDC_NEW,10,25,220,12,ES_AUTOHSCROLL
-    COMBOBOX        IDC_ACTION,10,40,75,37,CBS_DROPDOWNLIST | CBS_SORT |
-                    WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "C&reate!",IDC_CREATE,90,40,50,14
-    GROUPBOX        "Rules",IDC_STATIC,5,65,230,135
-    CONTROL         "List1",IDC_RULES,"SysListView32",LVS_REPORT |
-                    LVS_SHOWSELALWAYS | LVS_EDITLABELS | WS_BORDER |
-                    WS_TABSTOP,10,75,220,100
-    PUSHBUTTON      "Move &Up",IDC_MOVEUP,10,180,50,14,WS_DISABLED
-    PUSHBUTTON      "Move &Down",IDC_MOVEDOWN,65,180,50,14,WS_DISABLED
-    PUSHBUTTON      "&Delete",IDC_DELETE,120,180,50,14,WS_DISABLED
-    PUSHBUTTON      "&Save",IDC_SAVE,130,205,50,14
-    PUSHBUTTON      "&Cancel",IDCANCEL,185,205,50,14
-END
-
-
-/*
- * DESIGNINFO
- */
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
-    IDD_RULES, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 232
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 218
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/*
- * String Table
- */
-
-STRINGTABLE DISCARDABLE
-BEGIN
-    IDS_NEW_BLOCKER         "Create rule for ""%s""..."
-END
-
-#endif /* English (U.S.) resources */
+ *
+ *
+ *********************************************************************/
+
+#include <windows.h>
+#include "config.h"
+#include "w32res.h"
+
+#ifdef __MINGW32__
+#include "cygwin.h"
+#endif
+
+/****************************************************************************
+ *  Language-neutral resources
+ ****************************************************************************/
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
+#ifdef _WIN32
+/* LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL */
+#pragma code_page(1252)
+#endif /* _WIN32 */
+
+/*
+ * Icons
+ *
+ * Icon with lowest ID value placed first to ensure application icon
+ * remains consistent on all systems.
+ */
+IDI_JUNKBUSTER          ICON    DISCARDABLE     "icons/junkbust.ico"
+IDI_JUNKBUSTER1         ICON    DISCARDABLE     "icons/ico00001.ico"
+IDI_JUNKBUSTER2         ICON    DISCARDABLE     "icons/ico00002.ico"
+IDI_JUNKBUSTER3         ICON    DISCARDABLE     "icons/ico00003.ico"
+IDI_JUNKBUSTER4         ICON    DISCARDABLE     "icons/ico00004.ico"
+IDI_JUNKBUSTER5         ICON    DISCARDABLE     "icons/ico00005.ico"
+IDI_JUNKBUSTER6         ICON    DISCARDABLE     "icons/ico00006.ico"
+IDI_JUNKBUSTER7         ICON    DISCARDABLE     "icons/ico00007.ico"
+IDI_JUNKBUSTER8         ICON    DISCARDABLE     "icons/ico00008.ico"
+IDI_IDLE                ICON    DISCARDABLE     "icons/idle.ico"
+
+#endif /* Neutral resources */
+
+
+/****************************************************************************
+ *  English (U.S.) resources
+ ****************************************************************************/
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+/* LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US */
+#pragma code_page(1252)
+#endif //_WIN32
+
+/*
+ * Menus
+ */
+
+IDR_TRAYMENU MENU DISCARDABLE
+BEGIN
+    POPUP "Popup"
+    BEGIN
+        MENUITEM "E&xit JunkBuster",   ID_FILE_EXIT
+        MENUITEM                       SEPARATOR
+        POPUP "&Options"
+        BEGIN
+            MENUITEM "&Junkbuster...",              ID_TOOLS_EDITJUNKBUSTER
+            MENUITEM                                SEPARATOR
+            MENUITEM "&Blockers...",                ID_TOOLS_EDITBLOCKERS
+            MENUITEM "&Permissions...",             ID_TOOLS_EDITPERMISSIONS
+            MENUITEM "&Forward...",                 ID_TOOLS_EDITFORWARD
+#ifdef ACL_FILES
+            MENUITEM "&Access Control Lists...",    ID_TOOLS_EDITACLS
+#endif /* def ACL_FILES */
+#ifdef USE_IMAGE_LIST
+            MENUITEM "&Images...",                  ID_TOOLS_EDITIMAGE
+#endif /* def USE_IMAGE_LIST */
+#ifdef PCRS
+            MENUITEM "Perl &Regexps...",            ID_TOOLS_EDITPERLRE
+#endif /* def PCRS */
+#ifdef TRUST_FILES
+            MENUITEM "&Trust...",                   ID_TOOLS_EDITTRUST
+#endif /* def TRUST_FILES */
+        END
+        MENUITEM                              SEPARATOR
+#ifdef TOGGLE
+        MENUITEM "&Enable",                   ID_TOGGLE_IJB, CHECKED
+#endif
+        MENUITEM "&Reload config",            ID_RELOAD_CONFIG
+        MENUITEM "Show &JunkBuster Window",   ID_SHOWWINDOW
+    END
+END
+
+IDR_LOGVIEW MENU DISCARDABLE
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM "E&xit",                       ID_FILE_EXIT
+    END
+    POPUP "&Edit"
+    BEGIN
+        MENUITEM "Copy",                        ID_EDIT_COPY
+    END
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Clear Log",                  ID_VIEW_CLEARLOG
+        MENUITEM                                SEPARATOR
+        MENUITEM "&Log Messages",               ID_VIEW_LOGMESSAGES, CHECKED
+        MENUITEM "Message &Highlighting",       ID_VIEW_MESSAGEHIGHLIGHTING, CHECKED
+        MENUITEM "Limit &Buffer Size",          ID_VIEW_LIMITBUFFERSIZE, CHECKED
+        MENUITEM "&Activity Animation",         ID_VIEW_ACTIVITYANIMATION, CHECKED
+    END
+    POPUP "&Options"
+    BEGIN
+#ifdef TOGGLE
+        MENUITEM "&Enable",                     ID_TOGGLE_IJB, CHECKED
+        MENUITEM "&Reload config",              ID_RELOAD_CONFIG
+        MENUITEM                                SEPARATOR
+#endif
+        MENUITEM "&Junkbuster...",              ID_TOOLS_EDITJUNKBUSTER
+        MENUITEM                                SEPARATOR
+        MENUITEM "&Blockers...",                ID_TOOLS_EDITBLOCKERS
+        MENUITEM "&Permissions...",             ID_TOOLS_EDITPERMISSIONS
+        MENUITEM "&Forward...",                 ID_TOOLS_EDITFORWARD
+#ifdef ACL_FILES
+            MENUITEM "&Access Control Lists...",ID_TOOLS_EDITACLS
+#endif /* def ACL_FILES */
+#ifdef USE_IMAGE_LIST
+            MENUITEM "&Images...",              ID_TOOLS_EDITIMAGE
+#endif /* def USE_IMAGE_LIST */
+#ifdef PCRS
+            MENUITEM "Perl &Regexps...",        ID_TOOLS_EDITPERLRE
+#endif /* def PCRS */
+#ifdef TRUST_FILES
+            MENUITEM "&Trust...",               ID_TOOLS_EDITTRUST
+#endif /* def TRUST_FILES */
+    END
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "Junkbuster &FAQ",             ID_HELP_FAQ
+        MENUITEM "Junkbuster &Manual",          ID_HELP_MANUAL
+        MENUITEM "GNU &General Public Licence", ID_HELP_GPL
+        MENUITEM                                SEPARATOR
+        MENUITEM "Junkbuster Status...",        ID_HELP_STATUS
+        MENUITEM                                SEPARATOR
+        MENUITEM "About Junkbuster...",         ID_HELP_ABOUTJUNKBUSTER
+    END
+END
+
+IDR_POPUP_SELECTION MENU DISCARDABLE
+BEGIN
+    POPUP "Popup"
+    BEGIN
+        MENUITEM "&Copy",                       ID_EDIT_COPY
+    END
+END
+
+
+/*
+ * Accelerators
+ */
+
+IDR_ACCELERATOR ACCELERATORS DISCARDABLE
+BEGIN
+    "C",            ID_EDIT_COPY,           VIRTKEY, CONTROL, NOINVERT
+END
+
+/*
+ * Icons
+ *
+ * Icon with lowest ID value placed first to ensure application icon
+ * remains consistent on all systems.
+ */
+IDI_DENYRULE            ICON    DISCARDABLE     "icons/denyrule.ico"
+IDI_ALLOWRULE           ICON    DISCARDABLE     "icons/icon1.ico"
+
+/*
+ * Dialog
+ */
+
+IDD_RULES DIALOG DISCARDABLE  0, 0, 239, 225
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Blockers"
+FONT 8, "MS Sans Serif"
+BEGIN
+    GROUPBOX        "New Rule",IDC_STATIC,5,5,230,55
+    LTEXT           "For:",IDC_STATIC,10,15,13,8
+    EDITTEXT        IDC_NEW,10,25,220,12,ES_AUTOHSCROLL
+    COMBOBOX        IDC_ACTION,10,40,75,37,CBS_DROPDOWNLIST | CBS_SORT |
+                    WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "C&reate!",IDC_CREATE,90,40,50,14
+    GROUPBOX        "Rules",IDC_STATIC,5,65,230,135
+    CONTROL         "List1",IDC_RULES,"SysListView32",LVS_REPORT |
+                    LVS_SHOWSELALWAYS | LVS_EDITLABELS | WS_BORDER |
+                    WS_TABSTOP,10,75,220,100
+    PUSHBUTTON      "Move &Up",IDC_MOVEUP,10,180,50,14,WS_DISABLED
+    PUSHBUTTON      "Move &Down",IDC_MOVEDOWN,65,180,50,14,WS_DISABLED
+    PUSHBUTTON      "&Delete",IDC_DELETE,120,180,50,14,WS_DISABLED
+    PUSHBUTTON      "&Save",IDC_SAVE,130,205,50,14
+    PUSHBUTTON      "&Cancel",IDCANCEL,185,205,50,14
+END
+
+
+/*
+ * DESIGNINFO
+ */
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO DISCARDABLE
+BEGIN
+    IDD_RULES, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 232
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 218
+    END
+END
+#endif    // APSTUDIO_INVOKED
+
+
+/*
+ * String Table
+ */
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_NEW_BLOCKER         "Create rule for ""%s""..."
+END
+
+#endif /* English (U.S.) resources */
-- 
2.49.0