Remove kill-popups action.
authorFabian Keil <fk@fabiankeil.de>
Thu, 27 Mar 2008 18:31:21 +0000 (18:31 +0000)
committerFabian Keil <fk@fabiankeil.de>
Thu, 27 Mar 2008 18:31:21 +0000 (18:31 +0000)
24 files changed:
ChangeLog
GNUmakefile.in
actionlist.h
actions.c
cgisimple.c
configure.in
default.action.master
doc/source/p-config.sgml
doc/source/privoxy-man-page.sgml
doc/source/user-manual.sgml
errlog.c
errlog.h
filters.c
jcc.c
killpopup.c [deleted file]
killpopup.h [deleted file]
project.h
regression-tests.action
templates/show-status
user.action
vc_config_pthreads.h
vc_config_winthreads.h
vc_console.dsp
vc_privoxy.dsp

index 0f05d30..568640d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -37,6 +37,9 @@ ChangeLog for Privoxy
   "Content-Type: application/x-shockwave-flash" headers up.
 - In the show-url-info page's "Final results" section active and
   inactive actions are listed separately. Patch provided by Lee.
+- The obsolete kill-popups action has been removed as the
+  PCRS-based popup filters can do the same and are less
+  unreliable.
 
 *** Version 3.0.8 ***
 
index 35a721f..1aa43ac 100644 (file)
@@ -1,6 +1,6 @@
 # Note:  Makefile is built automatically from Makefile.in
 #
-# $Id: GNUmakefile.in,v 1.158 2007/12/11 21:29:25 fabiankeil Exp $
+# $Id: GNUmakefile.in,v 1.159 2008/03/21 11:13:53 fabiankeil Exp $
 #
 # Written by and Copyright (C) 2001 - 2007 the SourceForge
 # Privoxy team. http://www.privoxy.org/
@@ -185,7 +185,7 @@ DOC_FILES = AUTHORS LICENSE README ChangeLog INSTALL \
 #############################################################################
 
 C_SRC  = actions.c cgi.c cgiedit.c cgisimple.c deanimate.c encode.c \
-         errlog.c filters.c gateway.c jbsockets.c jcc.c killpopup.c \
+         errlog.c filters.c gateway.c jbsockets.c jcc.c \
          list.c loadcfg.c loaders.c miscutil.c parsers.c ssplit.c \
          urlmatch.c
 
@@ -964,10 +964,9 @@ errlog.@OBJEXT@:    errlog.c    errlog.h    config.h $(PROJECT_H_DEPS) @WIN_ONLY
 filters.@OBJEXT@:   filters.c   filters.h   config.h $(PROJECT_H_DEPS) errlog.h encode.h gateway.h jbsockets.h jcc.h loadcfg.h parsers.h ssplit.h cgi.h deanimate.h @WIN_ONLY@win32.h 
 gateway.@OBJEXT@:   gateway.c   gateway.h   config.h $(PROJECT_H_DEPS) errlog.h jbsockets.h jcc.h loadcfg.h
 jbsockets.@OBJEXT@: jbsockets.c jbsockets.h config.h $(PROJECT_H_DEPS) filters.h
-jcc.@OBJEXT@:       jcc.c       jcc.h       config.h $(PROJECT_H_DEPS) errlog.h filters.h gateway.h jbsockets.h killpopup.h loadcfg.h loaders.h miscutil.h parsers.h @WIN_ONLY@w32log.h win32.h w32svrapi.h cgi.h
-killpopup.@OBJEXT@: killpopup.c killpopup.h config.h $(PROJECT_H_DEPS) jcc.h loadcfg.h
+jcc.@OBJEXT@:       jcc.c       jcc.h       config.h $(PROJECT_H_DEPS) errlog.h filters.h gateway.h jbsockets.h loadcfg.h loaders.h miscutil.h parsers.h @WIN_ONLY@w32log.h win32.h w32svrapi.h cgi.h
 list.@OBJEXT@:      list.c      list.h      config.h $(PROJECT_H_DEPS) list.h miscutil.h
-loadcfg.@OBJEXT@:   loadcfg.c   loadcfg.h   config.h $(PROJECT_H_DEPS) errlog.h filters.h gateway.h jbsockets.h jcc.h killpopup.h loaders.h miscutil.h parsers.h @WIN_ONLY@w32log.h win32.h
+loadcfg.@OBJEXT@:   loadcfg.c   loadcfg.h   config.h $(PROJECT_H_DEPS) errlog.h filters.h gateway.h jbsockets.h jcc.h loaders.h miscutil.h parsers.h @WIN_ONLY@w32log.h win32.h
 loaders.@OBJEXT@:   loaders.c   loaders.h   config.h $(PROJECT_H_DEPS) errlog.h encode.h filters.h gateway.h jcc.h loadcfg.h miscutil.h parsers.h ssplit.h
 miscutil.@OBJEXT@:  miscutil.c  miscutil.h  config.h
 parsers.@OBJEXT@:   parsers.c   parsers.h   config.h $(PROJECT_H_DEPS) errlog.h encode.h filters.h jbsockets.h jcc.h loadcfg.h loaders.h miscutil.h ssplit.h
@@ -1364,6 +1363,11 @@ coffee:
 ## end:
 
 # $Log: GNUmakefile.in,v $
+# Revision 1.159  2008/03/21 11:13:53  fabiankeil
+# Only gather host information if it's actually needed.
+# Also move the code out of accept_connection() so it's less likely
+# to delay other incoming connections if the host is misconfigured.
+#
 # Revision 1.158  2007/12/11 21:29:25  fabiankeil
 # Fix dependency list for cgiedit.c.
 #
index 2bb8917..69188e3 100644 (file)
  *
  * Revisions   :
  *    $Log: actionlist.h,v $
+ *    Revision 1.30  2008/03/04 18:30:34  fabiankeil
+ *    Remove the treat-forbidden-connects-like-blocks action. We now
+ *    use the "blocked" page for forbidden CONNECT requests by default.
+ *
  *    Revision 1.29  2008/03/01 14:00:43  fabiankeil
  *    Let the block action take the reason for the block
  *    as argument and show it on the "blocked" page.
@@ -222,7 +226,6 @@ DEFINE_CGI_PARAM_CUSTOM  ("hide-referrer",              ACTION_HIDE_REFERER,
 DEFINE_ACTION_STRING     ("hide-user-agent",            ACTION_HIDE_USER_AGENT, ACTION_STRING_USER_AGENT)
 DEFINE_CGI_PARAM_NO_RADIO("hide-user-agent",            ACTION_HIDE_USER_AGENT, ACTION_STRING_USER_AGENT,    "Privoxy " VERSION)
 DEFINE_ACTION_BOOL       ("inspect-jpegs",              ACTION_JPEG_INSPECT)
-DEFINE_ACTION_BOOL       ("kill-popups",                ACTION_NO_POPUPS)
 DEFINE_ACTION_STRING     ("limit-connect",              ACTION_LIMIT_CONNECT,   ACTION_STRING_LIMIT_CONNECT)
 DEFINE_CGI_PARAM_NO_RADIO("limit-connect",              ACTION_LIMIT_CONNECT,   ACTION_STRING_LIMIT_CONNECT,  "443")
 DEFINE_ACTION_STRING     ("overwrite-last-modified",    ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED)
@@ -247,7 +250,6 @@ DEFINE_CGI_PARAM_CUSTOM  ("set-image-blocker",          ACTION_IMAGE_BLOCKER,
 /* 
  * Alternative spellings
  */
-DEFINE_ACTION_BOOL       ("kill-popup",      ACTION_NO_POPUPS)
 DEFINE_ACTION_STRING     ("hide-referer",   ACTION_HIDE_REFERER,    ACTION_STRING_REFERER)
 DEFINE_ACTION_BOOL       ("prevent-keeping-cookies", ACTION_NO_COOKIE_KEEP)
 
@@ -273,7 +275,6 @@ DEFINE_ACTION_BOOL       ("no-compression",          ACTION_NO_COMPRESSION)
 DEFINE_ACTION_BOOL       ("no-cookies-keep",         ACTION_NO_COOKIE_KEEP)
 DEFINE_ACTION_BOOL       ("no-cookies-read",         ACTION_NO_COOKIE_READ)
 DEFINE_ACTION_BOOL       ("no-cookies-set",          ACTION_NO_COOKIE_SET)
-DEFINE_ACTION_BOOL       ("no-popups",               ACTION_NO_POPUPS)
 DEFINE_ACTION_BOOL       ("vanilla-wafer",           ACTION_VANILLA_WAFER)
 DEFINE_ACTION_MULTI      ("wafer",                   ACTION_MULTI_WAFER)
 #endif /* if DEFINE_ACTION_ALIAS */
index b4904c9..4257acc 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -1,4 +1,4 @@
-const char actions_rcs[] = "$Id: actions.c,v 1.44 2008/03/04 18:30:34 fabiankeil Exp $";
+const char actions_rcs[] = "$Id: actions.c,v 1.45 2008/03/24 11:21:02 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/actions.c,v $
@@ -33,6 +33,11 @@ const char actions_rcs[] = "$Id: actions.c,v 1.44 2008/03/04 18:30:34 fabiankeil
  *
  * Revisions   :
  *    $Log: actions.c,v $
+ *    Revision 1.45  2008/03/24 11:21:02  fabiankeil
+ *    Share the action settings for multiple patterns in the same
+ *    section so we waste less memory for gigantic block lists
+ *    (and load them slightly faster). Reported by Franz Schwartau.
+ *
  *    Revision 1.44  2008/03/04 18:30:34  fabiankeil
  *    Remove the treat-forbidden-connects-like-blocks action. We now
  *    use the "blocked" page for forbidden CONNECT requests by default.
@@ -643,7 +648,8 @@ jb_err get_action_token(char **line, char **name, char **value)
  *********************************************************************/
 static int action_used_to_be_valid(const char *action)
 {
-   return (0 == strcmpic(action, "treat-forbidden-connects-like-blocks"));
+   return (0 == strcmpic(action, "treat-forbidden-connects-like-blocks")
+        || 0 == strcmpic(action, "kill-popups"));
 }
 
 /*********************************************************************
index 3d5eed5..5eb8931 100644 (file)
@@ -1,4 +1,4 @@
-const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.66 2008/02/23 16:57:12 fabiankeil Exp $";
+const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.67 2008/03/27 17:00:05 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/cgisimple.c,v $
@@ -36,6 +36,9 @@ const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.66 2008/02/23 16:57:12 fabian
  *
  * Revisions   :
  *    $Log: cgisimple.c,v $
+ *    Revision 1.67  2008/03/27 17:00:05  fabiankeil
+ *    Turn the favicon blobs into locals.
+ *
  *    Revision 1.66  2008/02/23 16:57:12  fabiankeil
  *    Rename url_actions() to get_url_actions() and let it
  *    use the standard parameter ordering.
@@ -1867,12 +1870,6 @@ static jb_err show_defines(struct map *exports)
    if (!err) err = map_conditional(exports, "FEATURE_IMAGE_DETECT_MSIE", 0);
 #endif /* ndef FEATURE_IMAGE_DETECT_MSIE */
 
-#ifdef FEATURE_KILL_POPUPS
-   if (!err) err = map_conditional(exports, "FEATURE_KILL_POPUPS", 1);
-#else /* ifndef FEATURE_KILL_POPUPS */
-   if (!err) err = map_conditional(exports, "FEATURE_KILL_POPUPS", 0);
-#endif /* ndef FEATURE_KILL_POPUPS */
-
 #ifdef FEATURE_NO_GIFS
    if (!err) err = map_conditional(exports, "FEATURE_NO_GIFS", 1);
 #else /* ifndef FEATURE_NO_GIFS */
@@ -1985,10 +1982,6 @@ static char *show_rcs(void)
    SHOW_RCS(jbsockets_rcs)
    SHOW_RCS(jcc_h_rcs)
    SHOW_RCS(jcc_rcs)
-#ifdef FEATURE_KILL_POPUPS
-   SHOW_RCS(killpopup_h_rcs)
-   SHOW_RCS(killpopup_rcs)
-#endif /* def FEATURE_KILL_POPUPS */
    SHOW_RCS(list_h_rcs)
    SHOW_RCS(list_rcs)
    SHOW_RCS(loadcfg_h_rcs)
index 944a35e..dbd2ec2 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl 
-dnl $Id: configure.in,v 1.110 2008/01/26 10:52:13 fabiankeil Exp $
+dnl $Id: configure.in,v 1.111 2008/02/03 14:40:47 fabiankeil Exp $
 dnl 
 dnl Written by and Copyright (C) 2001 - 2007 the SourceForge
 dnl Privoxy team. http://www.privoxy.org/
@@ -28,6 +28,9 @@ dnl or write to the Free Software Foundation, Inc., 59
 dnl Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 dnl 
 dnl $Log: configure.in,v $
+dnl Revision 1.111  2008/02/03 14:40:47  fabiankeil
+dnl Remove unused OSX_DARWIN macro. Reported by Mark Miller in #1852529.
+dnl
 dnl Revision 1.110  2008/01/26 10:52:13  fabiankeil
 dnl Change version to 3.0.9 UNRELEASED.
 dnl
@@ -511,7 +514,7 @@ dnl =================================================================
 dnl AutoConf Initialization
 dnl =================================================================
 
-AC_REVISION($Revision: 1.110 $)
+AC_REVISION($Revision: 1.111 $)
 AC_INIT(jcc.c)
 
 if test ! -f config.h.in; then
@@ -1246,12 +1249,6 @@ AC_ARG_ENABLE(fast-redirects,
   AC_DEFINE(FEATURE_FAST_REDIRECTS)
 fi], AC_DEFINE(FEATURE_FAST_REDIRECTS))
 
-AC_ARG_ENABLE(killpopup,
-[  --disable-killpopup             Never block popups],
-[if test $enableval = yes; then
-  AC_DEFINE(FEATURE_KILL_POPUPS)
-fi],AC_DEFINE(FEATURE_KILL_POPUPS))
-
 AC_ARG_ENABLE(stats,
 [  --disable-stats                 Don't keep statistics],
 [if test $enableval = yes; then
index c19d26d..c963b1e 100644 (file)
@@ -9,7 +9,7 @@
 # 
 #  File        :  $Source: /cvsroot/ijbswa/current/default.action.master,v $
 # 
-#  $Id: default.action.master,v 1.118 2008/03/24 11:31:10 fabiankeil Exp $
+#  $Id: default.action.master,v 1.119 2008/03/26 17:42:24 fabiankeil Exp $
 #
 #  Requires    :  This version requires Privoxy v3.0.9 or later due to 
 #                 syntax changes.
 #  
 # +prevent-compression
 #    Prevent the website from compressing the data. Some websites do
-#    that, which is a problem for Privoxy, since +filter, +kill-popups
-#    and +gif-deanimate will not work on compressed data. Will slow down
-#    connections to those websites, though.
+#    that, which is a problem for Privoxy when build without zlib support,
+#    since +filter and +gif-deanimate will not work on compressed data.
+#    Will slow down connections to those websites, though.
 #
 # +server-header-filter{name}
 #    All server headers to which this action applies are filtered on-the-fly
 # +crunch-incoming-cookies
 #    Prevent the website from setting cookies
 #
-# +kill-popups (deprecated)
-#    Filter the website through a built-in filter to disable
-#    window.open() etc.  The two alternative spellings are
-#    equivalent.
-#
 # +redirect{<URL>}
 # +redirect{<pcrs command>}
 #    Convinces the browser that the requested document has been moved to
@@ -529,14 +524,14 @@ for-privoxy-version=3.0.9
 +crunch-all-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
 -crunch-all-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
  allow-all-cookies  = -crunch-all-cookies -session-cookies-only 
- allow-popups       = -filter{all-popups} -kill-popups -filter{unsolicited-popups}
+ allow-popups       = -filter{all-popups} -filter{unsolicited-popups}
 +block-as-image     = +block{Blocked image request.} +handle-as-image
 -block-as-image     = -block
 
 # These aliases define combinations of actions
 # that are useful for certain types of sites:
 #
-fragile     = -block -crunch-all-cookies -filter -fast-redirects -hide-referer -kill-popups -prevent-compression
+fragile     = -block -crunch-all-cookies -filter -fast-redirects -hide-referer -prevent-compression
 shop        = -crunch-all-cookies allow-popups
 
 # Your favourite blend of filters:
@@ -1502,7 +1497,7 @@ mail.google.
 #----------------------------------------------------------------------------
 # Semi-fragile, allow for blocks.
 #----------------------------------------------------------------------------
-{ -crunch-all-cookies -filter -fast-redirects -hide-referer -kill-popups -prevent-compression }
+{ -crunch-all-cookies -filter -fast-redirects -hide-referer -prevent-compression }
 #MASTER# REMARKS: Problem URL: adserver.yahoo.com 10/01/06
 #MASTER# REMARKS: This is much too broad for my taste. It forces me to add
 #MASTER# REMARKS: a special yahoo section in my user.action file, just to
index 0d96945..0e47644 100644 (file)
@@ -3,7 +3,7 @@
 
  Purpose     :  Used with other docs and files only.
 
- $Id: p-config.sgml,v 2.28 2008/02/03 19:15:54 fabiankeil Exp $
+ $Id: p-config.sgml,v 2.29 2008/03/26 18:07:18 fabiankeil Exp $
 
  Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
  See LICENSE.
@@ -95,7 +95,7 @@
  Sample Configuration File for Privoxy v&p-version;
 </title>
 <para>
- $Id: p-config.sgml,v 2.28 2008/02/03 19:15:54 fabiankeil Exp $
+ $Id: p-config.sgml,v 2.29 2008/03/26 18:07:18 fabiankeil Exp $
 </para>
 <para>
 Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
@@ -1068,7 +1068,7 @@ actionsfile
   debug       128 # debug redirects
   debug       256 # debug GIF de-animation
   debug       512 # Common Log Format
-  debug      1024 # debug kill pop-ups
+  debug      1024 # Unused
   debug      2048 # CGI user interface
   debug      4096 # Startup banner and warnings.
   debug      8192 # Non-fatal errors
index ad87a22..3cd29fe 100644 (file)
@@ -5,7 +5,7 @@
                 This file belongs into
                 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
                 
- $Id: privoxy-man-page.sgml,v 2.16 2008/01/17 01:49:51 hal9 Exp $
+ $Id: privoxy-man-page.sgml,v 2.17 2008/01/19 15:03:05 hal9 Exp $
 
  Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
  See LICENSE.
 
  # Fragile sites should have the minimum changes
  fragile     = -block -deanimate-gifs -fast-redirects -filter \
-               -hide-referer -prevent-cookies -kill-popups
+               -hide-referer -prevent-cookies
 
  ## Turn some actions on ################################
  ## NOTE: Actions are off by default, unless explictily turned on 
index 46ca739..a94d1d2 100644 (file)
@@ -33,7 +33,7 @@
                 This file belongs into
                 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
 
- $Id: user-manual.sgml,v 2.65 2008/03/04 18:30:40 fabiankeil Exp $
+ $Id: user-manual.sgml,v 2.66 2008/03/06 16:33:47 fabiankeil Exp $
 
  Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
  See LICENSE.
@@ -59,7 +59,7 @@
  </subscript>
 </pubdate>
 
-<pubdate>$Id: user-manual.sgml,v 2.65 2008/03/04 18:30:40 fabiankeil Exp $</pubdate>
+<pubdate>$Id: user-manual.sgml,v 2.66 2008/03/06 16:33:47 fabiankeil Exp $</pubdate>
 
 <!--
 
@@ -1456,11 +1456,9 @@ must find a better place for this paragraph
 
 <para>
  Another feature where you will probably want to define exceptions for trusted
- sites is the popup-killing (through the <ulink
- url="actions-file.html#KILL-POPUPS"><quote>+kill-popups</quote></ulink> and
- <ulink
- url="actions-file.html#FILTER-POPUPS"><quote>+filter{popups}</quote></ulink>
- actions), because your favorite shopping, banking, or leisure site may need
+ sites is the popup-killing (through  <ulink
+ url="actions-file.html#FILTER-POPUPS"><quote>+filter{popups}</quote></ulink>),
+ because your favorite shopping, banking, or leisure site may need
  popups (explained below). 
 </para>
 
@@ -5066,101 +5064,6 @@ new action
 </sect3>
 
 
-<!--   ~~~~~       New section      ~~~~~     -->
-<sect3 renderas="sect4" id="kill-popups">
-<title>kill-popups<anchor id="kill-popup"></title>
-
-<variablelist>
- <varlistentry>
-  <term>Typical use:</term>
-  <listitem>
-   <para>Eliminate those annoying pop-up windows (deprecated)</para>
-  </listitem>
- </varlistentry>
-
- <varlistentry>
-  <term>Effect:</term>
-  <listitem>
-   <para>
-    While loading the document, replace JavaScript code that opens
-    pop-up windows with (syntactically neutral) dummy code on the fly.
-   </para>
-  </listitem>
- </varlistentry>
-
- <varlistentry>
-  <term>Type:</term>
-  <!-- Boolean, Parameterized, Multi-value -->
-  <listitem>
-   <para>Boolean.</para>
-  </listitem>
- </varlistentry>
-
- <varlistentry>
-  <term>Parameter:</term>
-  <listitem>
-   <para>
-    N/A
-   </para>
-  </listitem>
- </varlistentry>
- <varlistentry>
-  <term>Notes:</term>
-  <listitem>
-   <para>
-    This action is basically a built-in, hardwired special-purpose filter
-    action, but there are important differences: For <literal>kill-popups</literal>,
-    the document need not be buffered, so it can be incrementally rendered while
-    downloading. But <literal>kill-popups</literal> doesn't catch as many pop-ups as
-    <literal><link
-    linkend="FILTER-ALL-POPUPS">filter{<replaceable>all-popups</replaceable>}</link></literal>
-    does and is not as smart as <literal><link
-    linkend="FILTER-UNSOLICITED-POPUPS">filter{<replaceable>unsolicited-popups</replaceable>}</link>
-    </literal>is.
-   </para>
-   <para>
-    Think of it as a fast and efficient replacement for a filter that you
-    can use if you don't want any filtering at all. Note that it doesn't make
-    sense to combine it with any <literal><link linkend="filter">filter</link></literal> action,
-    since as soon as one <literal><link linkend="filter">filter</link></literal> applies,
-    the whole document needs to be buffered anyway, which destroys the advantage of
-    the <literal>kill-popups</literal> action over its filter equivalent.
-   </para>
-   <para>
-    Killing all pop-ups unconditionally is problematic. Many shops and banks rely on
-    pop-ups to display forms, shopping carts etc, and the <literal><link
-    linkend="FILTER-UNSOLICITED-POPUPS">filter{<replaceable>unsolicited-popups</replaceable>}</link>
-    </literal> does a better job of catching only the unwanted ones.
-   </para>
-   <para>
-    If the only kind of pop-ups that you want to kill are exit consoles (those
-    <emphasis>really nasty</emphasis> windows that appear when you close an other
-    one), you might want to use
-    <literal><link
-    linkend="filter">filter</link>{<replaceable>js-annoyances</replaceable>}</literal>
-    instead. 
-   </para>
-   <para>
-    This action is most appropriate for browsers that don't have any controls 
-    for unwanted pop-ups. Not recommended for general usage.
-   </para>
-   <para>
-    This action doesn't work very reliable and may be removed in future releases.
-   </para>
-  </listitem>
- </varlistentry>
-
- <varlistentry>
-  <term>Example usage:</term>
-  <listitem>
-   <para><screen>+kill-popups</screen></para>
-  </listitem>
- </varlistentry>
-</variablelist>
-</sect3>
-
-
 <!--   ~~~~~       New section      ~~~~~     -->
 <sect3 renderas="sect4" id="limit-connect">
 <title>limit-connect</title>
@@ -5289,9 +5192,9 @@ new action
    <para>
     More and more websites send their content compressed by default, which
     is generally a good idea and saves bandwidth. But the <literal><link
-    linkend="filter">filter</link></literal>, <literal><link linkend="deanimate-gifs">deanimate-gifs</link></literal>
-    and <literal><link linkend="kill-popups">kill-popups</link></literal> actions need
-    access to the uncompressed data.
+    linkend="filter">filter</link></literal> and
+    <literal><link linkend="deanimate-gifs">deanimate-gifs</link></literal>
+    actions need access to the uncompressed data.
    </para>
    <para>
     When compiled with zlib support (available since &my-app; 3.0.7), content that should be
@@ -6124,9 +6027,9 @@ example.org/instance-that-is-delivered-as-xml-but-is-not
  # These aliases define combinations of actions
  # that are useful for certain types of sites:
  #
- fragile     = -<link linkend="BLOCK">block</link> -<link linkend="FILTER">filter</link> -crunch-all-cookies -<link linkend="FAST-REDIRECTS">fast-redirects</link> -<link linkend="HIDE-REFERER">hide-referrer</link> -<link linkend="KILL-POPUPS">kill-popups</link> -<link linkend="PREVENT-COMPRESSION">prevent-compression</link>
+ fragile     = -<link linkend="BLOCK">block</link> -<link linkend="FILTER">filter</link> -crunch-all-cookies -<link linkend="FAST-REDIRECTS">fast-redirects</link> -<link linkend="HIDE-REFERER">hide-referrer</link> -<link linkend="PREVENT-COMPRESSION">prevent-compression</link>
 
- shop        = -crunch-all-cookies -<link linkend="FILTER-ALL-POPUPS">filter{all-popups}</link> -<link linkend="KILL-POPUPS">kill-popups</link>
+ shop        = -crunch-all-cookies -<link linkend="FILTER-ALL-POPUPS">filter{all-popups}</link>
 
  # Short names for other aliases, for really lazy people ;-)
  #
@@ -6161,7 +6064,7 @@ example.org/instance-that-is-delivered-as-xml-but-is-not
 
  # These shops require pop-ups:
  #
- {-kill-popups -filter{all-popups} -filter{unsolicited-popups}}
+ {-filter{all-popups} -filter{unsolicited-popups}}
   .dabs.com
   .overclockers.co.uk</screen>
 </para>
@@ -6238,8 +6141,8 @@ that also explains why and how aliases are used:
  # These aliases define combinations of actions
  # that are useful for certain types of sites:
  #
- fragile     = -<link linkend="BLOCK">block</link> -<link linkend="FILTER">filter</link> -crunch-all-cookies -<link linkend="FAST-REDIRECTS">fast-redirects</link> -<link linkend="HIDE-REFERER">hide-referrer</link> -<link linkend="KILL-POPUPS">kill-popups</link>
- shop        = -crunch-all-cookies -<link linkend="FILTER-ALL-POPUPS">filter{all-popups}</link> -<link linkend="KILL-POPUPS">kill-popups</link></screen>
+ fragile     = -<link linkend="BLOCK">block</link> -<link linkend="FILTER">filter</link> -crunch-all-cookies -<link linkend="FAST-REDIRECTS">fast-redirects</link> -<link linkend="HIDE-REFERER">hide-referrer</link>
+ shop        = -crunch-all-cookies -<link linkend="FILTER-ALL-POPUPS">filter{all-popups}</link></screen>
 </para>
 
 <para>
@@ -6352,8 +6255,7 @@ mail.google.com</screen>
  now. <ulink url="http://www.mozilla.org/">Mozilla</ulink> users, who
  can turn on smart handling of unwanted pop-ups in their browsers, can
  safely choose
- -<literal><link linkend="FILTER-ALL-POPUPS">filter{popups}</link></literal> (and
- -<literal><link linkend="KILL-POPUPS">kill-popups</link></literal>) above
+ -<literal><link linkend="FILTER-ALL-POPUPS">filter{popups}</link></literal> above
  and hence don't need this section. Anyway, disabling an already disabled
  action doesn't hurt, so we'll define our exceptions regardless of what was
  chosen in the defaults section:
@@ -6363,7 +6265,7 @@ mail.google.com</screen>
  <screen>
 # These sites require pop-ups too :( 
 #
-{ -<link linkend="KILL-POPUPS">kill-popups</link> -<link linkend="FILTER-ALL-POPUPS">filter{popups}</link> }
+{ -<link linkend="FILTER-ALL-POPUPS">filter{popups}</link> }
 .dabs.com
 .overclockers.co.uk
 .deutsche-bank-24.de</screen>
@@ -6612,14 +6514,14 @@ wiki.
 +crunch-all-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
 -crunch-all-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
  allow-all-cookies  = -crunch-all-cookies -session-cookies-only
- allow-popups       = -filter{all-popups} -kill-popups
+ allow-popups       = -filter{all-popups}
 +block-as-image     = +block{Blocked as image.} +handle-as-image
 -block-as-image     = -block
 
 # These aliases define combinations of actions that are useful for
 # certain types of sites:
 #
-fragile     = -block -crunch-all-cookies -filter -fast-redirects -hide-referrer -kill-popups
+fragile     = -block -crunch-all-cookies -filter -fast-redirects -hide-referrer
 shop        = -crunch-all-cookies allow-popups
 
 # Allow ads for selected useful free sites:
@@ -8312,13 +8214,6 @@ Requests</title>
    actions.
   </para>
  </listitem> 
- <listitem>
-  <para>
-   If the <link linkend="KILL-POPUPS"><quote>+kill-popups</quote></link>
-   action applies, and it is an HTML or JavaScript document, the popup-code in the
-   response is filtered on-the-fly as it is received.
-  </para>
- </listitem> 
  <listitem>
   <para>
    If any <link linkend="FILTER"><quote>+filter</quote></link> action
@@ -8573,7 +8468,6 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
  +hide-referrer {forge}
  -hide-user-agent
  -inspect-jpegs
- -kill-popups
  -limit-connect
  -overwrite-last-modified
  -prevent-compression
@@ -8696,7 +8590,6 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
   +hide-referer{forge} 
   -hide-user-agent 
   -inspect-jpegs
-  -kill-popups 
   -overwrite-last-modified
   +prevent-compression 
   -redirect
@@ -8866,6 +8759,9 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
  USA
 
  $Log: user-manual.sgml,v $
+ Revision 2.66  2008/03/06 16:33:47  fabiankeil
+ If limit-connect isn't used, don't limit CONNECT requests to port 443.
+
  Revision 2.65  2008/03/04 18:30:40  fabiankeil
  Remove the treat-forbidden-connects-like-blocks action. We now
  use the "blocked" page for forbidden CONNECT requests by default.
index 2f4238b..12f542e 100644 (file)
--- a/errlog.c
+++ b/errlog.c
@@ -1,4 +1,4 @@
-const char errlog_rcs[] = "$Id: errlog.c,v 1.65 2008/01/31 14:44:33 fabiankeil Exp $";
+const char errlog_rcs[] = "$Id: errlog.c,v 1.66 2008/01/31 15:38:14 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/errlog.c,v $
@@ -33,6 +33,12 @@ const char errlog_rcs[] = "$Id: errlog.c,v 1.65 2008/01/31 14:44:33 fabiankeil E
  *
  * Revisions   :
  *    $Log: errlog.c,v $
+ *    Revision 1.66  2008/01/31 15:38:14  fabiankeil
+ *    - Make the logfp assertion more strict. As of 1.63, the "||" could
+ *      have been an "&&", which means we can use two separate assertions
+ *      and skip on of them on Windows.
+ *    - Break a long commit message line in two.
+ *
  *    Revision 1.65  2008/01/31 14:44:33  fabiankeil
  *    Use (a != b) instead of !(a == b) so the sanity check looks less insane.
  *
@@ -856,11 +862,6 @@ static inline const char *get_log_level_string(int loglevel)
       case LOG_LEVEL_DEANIMATE:
          log_level_string = "Gif-Deanimate";
          break;
-#ifdef FEATURE_KILL_POPUPS
-      case LOG_LEVEL_POPUPS:
-         log_level_string = "Kill-Popups";
-         break;
-#endif /* def FEATURE_KILL_POPUPS */
       case LOG_LEVEL_CGI:
          log_level_string = "CGI";
          break;
index def55f5..ee08d53 100644 (file)
--- a/errlog.h
+++ b/errlog.h
@@ -1,6 +1,6 @@
 #ifndef ERRLOG_H_INCLUDED
 #define ERRLOG_H_INCLUDED
-#define ERRLOG_H_VERSION "$Id: errlog.h,v 1.18 2007/07/14 07:28:47 fabiankeil Exp $"
+#define ERRLOG_H_VERSION "$Id: errlog.h,v 1.19 2007/10/14 14:12:41 fabiankeil Exp $"
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/errlog.h,v $
  *
  * Revisions   :
  *    $Log: errlog.h,v $
+ *    Revision 1.19  2007/10/14 14:12:41  fabiankeil
+ *    When in daemon mode, close stderr after the configuration file has been
+ *    parsed the first time. If logfile isn't set, stop logging. Fixes BR#897436.
+ *
  *    Revision 1.18  2007/07/14 07:28:47  fabiankeil
  *    Add translation function for JB_ERR_FOO codes.
  *
@@ -164,12 +168,7 @@ extern "C" {
 #define LOG_LEVEL_RE_FILTER  0x0040
 #define LOG_LEVEL_REDIRECTS  0x0080
 #define LOG_LEVEL_DEANIMATE  0x0100
-
 #define LOG_LEVEL_CLF        0x0200 /* Common Log File format */
-#ifdef FEATURE_KILL_POPUPS
-#define LOG_LEVEL_POPUPS     0x0400 /* Kill Popups */
-#endif /* def FEATURE_KILL_POPUPS */
-
 #define LOG_LEVEL_CGI        0x0800 /* CGI / templates */
 
 /* Following are always on: */
index 7a223dc..b2940c1 100644 (file)
--- a/filters.c
+++ b/filters.c
@@ -1,4 +1,4 @@
-const char filters_rcs[] = "$Id: filters.c,v 1.102 2008/03/01 14:00:44 fabiankeil Exp $";
+const char filters_rcs[] = "$Id: filters.c,v 1.103 2008/03/06 16:33:45 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/filters.c,v $
@@ -40,6 +40,9 @@ const char filters_rcs[] = "$Id: filters.c,v 1.102 2008/03/01 14:00:44 fabiankei
  *
  * Revisions   :
  *    $Log: filters.c,v $
+ *    Revision 1.103  2008/03/06 16:33:45  fabiankeil
+ *    If limit-connect isn't used, don't limit CONNECT requests to port 443.
+ *
  *    Revision 1.102  2008/03/01 14:00:44  fabiankeil
  *    Let the block action take the reason for the block
  *    as argument and show it on the "blocked" page.
@@ -2730,7 +2733,7 @@ inline int content_filters_enabled(const struct client_state *csp)
 {
    return (((csp->rlist != NULL) &&
       (!list_is_empty(csp->action->multi[ACTION_MULTI_FILTER]))) ||
-      (csp->action->flags & (ACTION_DEANIMATE|ACTION_JPEG_INSPECT|ACTION_NO_POPUPS)));
+      (csp->action->flags & (ACTION_DEANIMATE|ACTION_JPEG_INSPECT)));
 }
 
 /*
diff --git a/jcc.c b/jcc.c
index 65bfc93..61ee70a 100644 (file)
--- a/jcc.c
+++ b/jcc.c
@@ -1,4 +1,4 @@
-const char jcc_rcs[] = "$Id: jcc.c,v 1.169 2008/03/04 18:30:39 fabiankeil Exp $";
+const char jcc_rcs[] = "$Id: jcc.c,v 1.170 2008/03/06 16:33:46 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/jcc.c,v $
@@ -6,7 +6,7 @@ const char jcc_rcs[] = "$Id: jcc.c,v 1.169 2008/03/04 18:30:39 fabiankeil Exp $"
  * Purpose     :  Main file.  Contains main() method, main loop, and
  *                the main connection-handling function.
  *
- * Copyright   :  Written by and Copyright (C) 2001-2007 the SourceForge
+ * Copyright   :  Written by and Copyright (C) 2001-2008 the SourceForge
  *                Privoxy team. http://www.privoxy.org/
  *
  *                Based on the Internet Junkbuster originally written
@@ -33,6 +33,9 @@ const char jcc_rcs[] = "$Id: jcc.c,v 1.169 2008/03/04 18:30:39 fabiankeil Exp $"
  *
  * Revisions   :
  *    $Log: jcc.c,v $
+ *    Revision 1.170  2008/03/06 16:33:46  fabiankeil
+ *    If limit-connect isn't used, don't limit CONNECT requests to port 443.
+ *
  *    Revision 1.169  2008/03/04 18:30:39  fabiankeil
  *    Remove the treat-forbidden-connects-like-blocks action. We now
  *    use the "blocked" page for forbidden CONNECT requests by default.
@@ -1044,7 +1047,6 @@ http://www.fabiankeil.de/sourcecode/privoxy/
 #include "filters.h"
 #include "loaders.h"
 #include "parsers.h"
-#include "killpopup.h"
 #include "miscutil.h"
 #include "errlog.h"
 #include "jbsockets.h"
@@ -1916,9 +1918,6 @@ static void chat(struct client_state *csp)
    struct http_request *http;
    int len; /* for buffer sizes (and negative error codes) */
    jb_err err;
-#ifdef FEATURE_KILL_POPUPS
-   int block_popups_now = 0; /* bool, 1==currently blocking popups */
-#endif /* def FEATURE_KILL_POPUPS */
 
    /* Function that does the content filtering for the current request */
    filter_function_ptr content_filter = NULL;
@@ -2443,14 +2442,6 @@ static void chat(struct client_state *csp)
           */
          buf[len] = '\0';
 
-#ifdef FEATURE_KILL_POPUPS
-         /* Filter the popups on this read. */
-         if (block_popups_now)
-         {
-            filter_popups(buf, csp);
-         }
-#endif /* def FEATURE_KILL_POPUPS */
-
          /* Normally, this would indicate that we've read
           * as much as the server has sent us and we can
           * close the client connection.  However, Microsoft
@@ -2697,20 +2688,6 @@ static void chat(struct client_state *csp)
 
             if (!http->ssl) /* We talk plaintext */
             {
-
-#ifdef FEATURE_KILL_POPUPS
-               /* Start blocking popups if appropriate. */
-               if ((csp->content_type & CT_TEXT) &&               /* It's a text / * MIME-Type */
-                   (csp->action->flags & ACTION_NO_POPUPS) != 0)  /* Policy allows */
-               {
-                  block_popups_now = 1;
-                  /*
-                   * Filter the part of the body that came in the same read
-                   * as the last headers:
-                   */
-                  filter_popups(csp->iob->cur, csp);
-               }
-#endif /* def FEATURE_KILL_POPUPS */
                content_filter = get_filter_function(csp);
             }
             /*
diff --git a/killpopup.c b/killpopup.c
deleted file mode 100644 (file)
index e021900..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-const char killpopup_rcs[] = "$Id: killpopup.c,v 1.16 2002/03/26 22:29:55 swa Exp $";
-/*********************************************************************
- *
- * File        :  $Source: /cvsroot/ijbswa/current/Attic/killpopup.c,v $
- *
- * Purpose     :  Handles the filtering of popups.
- *
- * Copyright   :  Written by and Copyright (C) 2001 the SourceForge
- *                Privoxy team. http://www.privoxy.org/
- *
- *                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: killpopup.c,v $
- *    Revision 1.16  2002/03/26 22:29:55  swa
- *    we have a new homepage!
- *
- *    Revision 1.15  2002/03/24 13:25:43  swa
- *    name change related issues
- *
- *    Revision 1.14  2002/03/07 03:46:53  oes
- *    Fixed compiler warnings etc
- *
- *    Revision 1.13  2001/11/13 00:16:40  jongfoster
- *    Replacing references to malloc.h with the standard stdlib.h
- *    (See ANSI or K&R 2nd Ed)
- *
- *    Revision 1.12  2001/10/25 03:40:48  david__schmidt
- *    Change in porting tactics: OS/2's EMX porting layer doesn't allow multiple
- *    threads to call select() simultaneously.  So, it's time to do a real, live,
- *    native OS/2 port.  See defines for __EMX__ (the porting layer) vs. __OS2__
- *    (native). Both versions will work, but using __OS2__ offers multi-threading.
- *
- *    Revision 1.11  2001/10/07 15:42:41  oes
- *    filter_popups now gets a csp pointer so it can raise the new
- *      CSP_FLAG_MODIFIED flag.
- *
- *    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()
- *
- *    Revision 1.8  2001/07/30 22:08:36  jongfoster
- *    Tidying up #defines:
- *    - All feature #defines are now of the form FEATURE_xxx
- *    - Permanently turned off WIN_GUI_EDIT
- *    - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
- *
- *    Revision 1.7  2001/07/20 19:29:25  haroon
- *    - In v1.5 forgot to add that I implemented LOG_LEVEL_POPUPS in errlog.c,
- *      errlog.h and killpopup.c. In that case, it is superfluous to have define for
- *      POPUP_VERBOSE, so I removed the defines and logging is now done
- *      via log_error(LOG_LEVEL_POPUPS, ....)
- *
- *    Revision 1.6  2001/07/19 19:11:35  haroon
- *    - Implemented Guy's idea of replacing window.open( with 1;''.concat(
- *    - Implemented Guy's idea of replacing .resizeTo( with .scrollTo(
- *
- *    Revision 1.5  2001/07/18 15:02:52  haroon
- *    improved nuking of window.open
- *
- *    Revision 1.4  2001/06/29 13:29:55  oes
- *    Added FIXMEs (and didn't repair, hehe)
- *
- *    Revision 1.3  2001/05/22 18:56:28  oes
- *    CRLF -> LF
- *
- *    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:58:58  oes
- *    Initial import of version 2.9.3 source tree
- *
- *
- *********************************************************************/
-\f
-
-#include "config.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <ctype.h>
-
-#if !defined(_WIN32) && !defined(__OS2__)
-#include <unistd.h>
-#endif
-
-#include "project.h"
-#include "killpopup.h"
-#include "errlog.h"
-
-const char killpopup_h_rcs[] = KILLPOPUP_H_VERSION;
-
-#ifdef FEATURE_KILL_POPUPS
-
-/*********************************************************************
- *
- * Function    :  filter_popups
- *
- * 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, struct client_state *csp)
-{
-   char *start_p = NULL;
-   char *close_p = NULL;
-   char *p     = NULL;
-
-   /*
-    * replace the window.open( with a harmless JavaScript replacement
-    * (notice the two single quotes)
-    */
-   while ((start_p = strstr(buff, "window.open(")) != NULL)
-   {
-      if (start_p)
-      {
-         strncpy(start_p, "1;''.concat(", 12);
-         log_error(LOG_LEVEL_POPUPS, "Blocked popup window open");
-         csp->flags |= CSP_FLAG_MODIFIED;
-      }
-   }
-
-   /*
-    * replace the .resizeTo( with a harmless JavaScript replacement
-    */
-   while ((start_p = strstr(buff, ".resizeTo(")) != NULL)
-   {
-      if (start_p)
-      {
-         strncpy(start_p, ".scrollTo(", 10);
-         log_error(LOG_LEVEL_POPUPS, "Blocked popup window resize");
-         csp->flags |= CSP_FLAG_MODIFIED;
-      }
-   }
-
-   /* 
-    * Filter onUnload and onExit
-    */
-   start_p = strstr(buff, "<body");
-   if (!start_p) start_p = strstr(buff, "<BODY");
-   if (!start_p) start_p = strstr(buff, "<Body");
-   if (!start_p) start_p = strstr(buff, "<BOdy");
-   if (start_p)
-   {
-      close_p = strchr(start_p, '>');
-      if (close_p)
-      {
-         /* we are now between <body and the ending > */
-         p = strstr(start_p, "onUnload");
-         if (p)
-         {
-            strncpy(p, "_nU_", 4);
-            csp->flags |= CSP_FLAG_MODIFIED;
-         }
-         p = strstr(start_p, "onExit");
-         if (p)
-         {
-            strncpy(p, "_nE_", 4);
-            csp->flags |= CSP_FLAG_MODIFIED;
-         }
-      }
-   }
-
-}
-
-#endif /* def FEATURE_KILL_POPUPS */
-
-/*
-  Local Variables:
-  tab-width: 3
-  end:
-*/
diff --git a/killpopup.h b/killpopup.h
deleted file mode 100644 (file)
index 4c46ace..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifndef KILLPOPUP_H_INCLUDED
-#define KILLPOPUP_H_INCLUDED
-#define KILLPOPUP_H_VERSION "$Id: killpopup.h,v 1.8 2002/03/26 22:29:55 swa Exp $"
-/*********************************************************************
- *
- * File        :  $Source: /cvsroot/ijbswa/current/Attic/killpopup.h,v $
- *
- * Purpose     :  Handles the filtering of popups.
- *
- * Copyright   :  Written by and Copyright (C) 2001 the SourceForge
- *                Privoxy team. http://www.privoxy.org/
- *
- *                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: killpopup.h,v $
- *    Revision 1.8  2002/03/26 22:29:55  swa
- *    we have a new homepage!
- *
- *    Revision 1.7  2002/03/24 13:25:43  swa
- *    name change related issues
- *
- *    Revision 1.6  2001/10/07 15:42:41  oes
- *    filter_popups now gets a csp pointer so it can raise the new
- *      CSP_FLAG_MODIFIED flag.
- *
- *    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
- *    - Permanently turned off WIN_GUI_EDIT
- *    - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
- *
- *    Revision 1.3  2001/07/29 18:59:21  jongfoster
- *    - Changing #define _KILLPOPUP_H to KILLPOPUP_H_INCLUDED
- *    - Adding extern "C" {}
- *
- *    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:58:58  oes
- *    Initial import of version 2.9.3 source tree
- *
- *
- *********************************************************************/
-\f
-
-#include "project.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef FEATURE_KILL_POPUPS
-
-extern void filter_popups(char *buff, struct client_state *csp);
-
-#endif /* def FEATURE_KILL_POPUPS */
-
-/* Revision control strings from this header and associated .c file */
-extern const char killpopup_rcs[];
-extern const char killpopup_h_rcs[];
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* ndef KILLPOPUP_H_INCLUDED */
-
-/*
-  Local Variables:
-  tab-width: 3
-  end:
-*/
index 412f9f8..52321e0 100644 (file)
--- a/project.h
+++ b/project.h
@@ -1,7 +1,7 @@
 #ifndef PROJECT_H_INCLUDED
 #define PROJECT_H_INCLUDED
 /** Version string. */
-#define PROJECT_H_VERSION "$Id: project.h,v 1.106 2008/03/24 11:21:03 fabiankeil Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 1.107 2008/03/26 18:07:08 fabiankeil Exp $"
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/project.h,v $
@@ -37,6 +37,9 @@
  *
  * Revisions   :
  *    $Log: project.h,v $
+ *    Revision 1.107  2008/03/26 18:07:08  fabiankeil
+ *    Add hostname directive. Closes PR#1918189.
+ *
  *    Revision 1.106  2008/03/24 11:21:03  fabiankeil
  *    Share the action settings for multiple patterns in the same
  *    section so we waste less memory for gigantic block lists
@@ -1041,8 +1044,8 @@ struct iob
 #define ACTION_NO_COOKIE_READ                        0x00001000UL
 /** Action bitmap: Block setting cookies. */
 #define ACTION_NO_COOKIE_SET                         0x00002000UL
-/** Action bitmap: Filter out popups. */
-#define ACTION_NO_POPUPS                             0x00004000UL
+/** Action bitmap: Override the forward settings in the config file */
+#define ACTION_FORWARD_OVERRIDE                      0x00004000UL
 /** Action bitmap: Send a vanilla wafer. */
 #define ACTION_VANILLA_WAFER                         0x00008000UL
 /** Action bitmap: Limit CONNECT requests to safe ports. */
@@ -1071,8 +1074,6 @@ struct iob
 #define  ACTION_HANDLE_AS_EMPTY_DOCUMENT             0x08000000UL
 /** Action bitmap: Redirect request. */
 #define  ACTION_REDIRECT                             0x10000000UL
-/** Action bitmap: Override the forward settings in the config file */
-#define ACTION_FORWARD_OVERRIDE                      0x20000000UL
 
 
 /** Action string index: How to deanimate GIFs */
index 0f1fad1..a17d7d3 100644 (file)
@@ -1,5 +1,5 @@
 #############################################################################
-# $Id: regression-tests.action,v 1.58 2008/02/24 19:28:01 fk Exp $
+# $Id: regression-tests.action,v 1.60 2008/03/27 07:46:54 fk Exp $
 #############################################################################
 #
 # This is a configuration file for Privoxy-Regression-Test.
@@ -404,7 +404,6 @@ TAG:^send-vanilla-wafer$
  +deanimate-gifs{last} \
  -filter \
  -inspect-jpegs \
- -kill-popups \
 }
 TAG:^deanimate-gifs\{last\}$
 
@@ -418,7 +417,6 @@ TAG:^deanimate-gifs\{last\}$
  -deanimate-gifs \
  +filter{banners-by-size} \
  -inspect-jpegs \
- -kill-popups \
 }
 TAG:^filter\{banners-by-size\}$
 
@@ -432,24 +430,9 @@ TAG:^filter\{banners-by-size\}$
  -deanimate-gifs \
  -filter \
  +inspect-jpegs \
- -kill-popups \
 }
 TAG:^filter\{banners-by-size\}$
 
-# Set Header    = Range: bytes=1234-5678
-# Expect Header = REMOVAL
-# Set Header    = If-Range: bytes=1234-5678
-# Expect Header = REMOVAL
-# Set Header    = Request-Range: bytes=1234-5678
-# Expect Header = REMOVAL
-{\
- -deanimate-gifs \
- -filter \
- -inspect-jpegs \
- +kill-popups \
-}
-TAG:^kill-popups$
-
 # Set Header    = Range: bytes=1234-5678
 # Expect Header = NO CHANGE
 # Set Header    = If-Range: bytes=1234-5678
@@ -724,19 +707,9 @@ forward5-null-gateway-host.example
 # Fetch Test = http://www.forbidden-connect.example:444/forbidden-connect
 # Method = CONNECT
 # Expect Status Code = 403
-{+limit-connect{443} \
- -treat-forbidden-connects-like-blocks \
-}
+{+limit-connect{443}}
 www.forbidden-connect.example/forbidden-connect
 
-# Fetch Test = http://www.forbidden-connect.example:444/forbidden-connect-treated-as-block
-# Method = CONNECT
-# Expect Status Code = 403
-{+limit-connect{443} \
- +treat-forbidden-connects-like-blocks \
-}
-www.forbidden-connect.example/forbidden-connect-treated-as-block
-
 # Fetch Test = http://www.blocked-request.example/blocked-request
 # Expect Status Code = 403
 {+block{This request failed to make it to the target destination which means the test succeeded.}}
index ab48106..43dec31 100644 (file)
                Microsoft Internet Explorer users, overriding the setting of 
                +image in the actions file.</td>
             </tr>
-            <tr>
-              <td><code>FEATURE_KILL_POPUPS</code></td>
-              <td>@if-FEATURE_KILL_POPUPS-then@ Yes @else-not-FEATURE_KILL_POPUPS@ No @endif-FEATURE_KILL_POPUPS@</td>
-              <td>Allows the +no-popups action, to block JavaScript popups.</td>
-            </tr>
             <tr>
               <td><code>FEATURE_NO_GIFS</code></td>
               <td>@if-FEATURE_NO_GIFS-then@ Yes @else-not-FEATURE_NO_GIFS@ No @endif-FEATURE_NO_GIFS@</td>
index 65dacd7..5240022 100644 (file)
@@ -2,7 +2,7 @@
 # 
 #  File        :  $Source: /cvsroot/ijbswa/current/user.action,v $
 # 
-#  $Id: user.action,v 1.7 2006/10/04 00:37:05 hal9 Exp $
+#  $Id: user.action,v 1.8 2008/03/01 15:13:03 fabiankeil Exp $
 #
 #  Purpose     :  User-maintained actions file, see
 #                 http://www.privoxy.org/user-manual/actions-file.html
 +crunch-all-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
 -crunch-all-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
  allow-all-cookies  = -crunch-all-cookies -session-cookies-only -filter{content-cookies}
- allow-popups       = -filter{all-popups} -kill-popups -filter{unsolicited-popups}
+ allow-popups       = -filter{all-popups} -filter{unsolicited-popups}
 +block-as-image     = +block{Blocked image request.} +handle-as-image
 -block-as-image     = -block
 
 # These aliases define combinations of actions
 # that are useful for certain types of sites:
 #
-fragile     = -block -crunch-all-cookies -filter -fast-redirects -hide-referer -kill-popups -prevent-compression
+fragile     = -block -crunch-all-cookies -filter -fast-redirects -hide-referer -prevent-compression
 shop        = -crunch-all-cookies allow-popups
 
 # Your favourite blend of filters:
@@ -92,7 +92,7 @@ allow-ads   = -block -filter{banners-by-size} -filter{banners-by-link}
 # windows, but you have chosen to kill popups uncoditionally by default.
 # This will allow it for your-example-bank.com:
 #
-{ -filter{all-popups} -kill-popups }
+{ -filter{all-popups} }
 .banking.example.com
 
 # Some hosts and some file types you may not want to filter for
index fba14f4..44d7324 100644 (file)
@@ -2,7 +2,7 @@
 #define CONFIG_H_INCLUDED
 /*********************************************************************
  *
- * File        :  $Source: /cvsroot/ijbswa/current/Attic/vc_config_pthreads.h,v $
+ * File        :  $Source: /cvsroot/ijbswa/current/vc_config_pthreads.h,v $
  *
  * Purpose     :  This file should be the first thing included in every
  *                .c file.  (Before even system headers).  It contains 
  *
  * Revisions   :
  *    $Log: vc_config_pthreads.h,v $
+ *    Revision 1.5  2006/07/18 14:48:47  david__schmidt
+ *    Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
+ *    with what was really the latest development (the v_3_0_branch branch)
+ *
  *    Revision 1.3  2002/05/03 22:54:24  jongfoster
  *    Version number bump to 2.9.15
  *
  */
 #define FEATURE_IMAGE_DETECT_MSIE 1
 
-/*
- * Kills JavaScript popups - window.open, onunload, etc.
- */
-#define FEATURE_KILL_POPUPS 1
-
 /*
  * Use POSIX threads instead of native threads.
  */
index bd20a03..7e51e74 100644 (file)
@@ -2,7 +2,7 @@
 #define CONFIG_H_INCLUDED
 /*********************************************************************
  *
- * File        :  $Source: /cvsroot/ijbswa/current/Attic/vc_config_winthreads.h,v $
+ * File        :  $Source: /cvsroot/ijbswa/current/vc_config_winthreads.h,v $
  *
  * Purpose     :  This file should be the first thing included in every
  *                .c file.  (Before even system headers).  It contains 
  *
  * Revisions   :
  *    $Log: vc_config_winthreads.h,v $
+ *    Revision 1.5  2006/07/18 14:48:47  david__schmidt
+ *    Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
+ *    with what was really the latest development (the v_3_0_branch branch)
+ *
  *    Revision 1.3.2.1  2006/04/08 21:57:26  david__schmidt
  *    Synchronize with a more modern copy of config.h.
  *
  */
 #define FEATURE_IMAGE_DETECT_MSIE 1
 
-/*
- * Kills JavaScript popups - window.open, onunload, etc.
- */
-#define FEATURE_KILL_POPUPS 1
-
 /*
  * Use PNG instead of GIF for built-in images
  */
index 362f6b7..3561b5e 100644 (file)
@@ -217,14 +217,6 @@ SOURCE=.\jcc.h
 # End Source File
 # Begin Source File
 
-SOURCE=.\killpopup.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\killpopup.h
-# End Source File
-# Begin Source File
-
 SOURCE=.\loadcfg.c
 # End Source File
 # Begin Source File
index cc7d7fa..5afaec9 100644 (file)
@@ -224,14 +224,6 @@ SOURCE=.\jcc.h
 # End Source File
 # Begin Source File
 
-SOURCE=.\killpopup.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\killpopup.h
-# End Source File
-# Begin Source File
-
 SOURCE=.\loadcfg.c
 # End Source File
 # Begin Source File