Package: adzapper
Severity: important

When you call an URL like e.g.
http://www.heise.de//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(feel free to add more /'s)

then squid_redirect will last approx. 8 hours to return to a normal
state on a Pentium1-200Mhz and still some minutes on a Pentium4-2.8Ghz

If a user calls multiple URL's of that form, all squid_redirectors
are busy and cannot serve anymore for squid, so the whole squid becomes
unusable.



To fix this behaviour, I've written a patch, which you find
here http://134.93.168.49/~reiffert/squid_redirect.diff
and attached to this bugreport


It will treat the patterns and the URL request the same way,
with notable faster results, so calling the above URL, will last
0.5 secs on a Pentium1-200Mhz.



If you have any questions, feel free to contact me.

Kind regards,
Thomas Reifferscheid





-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)
--- adzap/scripts/squid_redirect        2006-01-14 03:33:17.000000000 +0100
+++ /usr/local/sbin/squid_redirect      2006-01-28 13:33:36.000000000 +0100
@@ -311,7 +311,7 @@
 sub mkzapcode($)
 { my($STREAM)[EMAIL PROTECTED];
 
-  my $code = "  if (0) {}\n";
+  my $code = " y|/||s; if (0) {}\n";
   my $ncode;
 
   my $lastclass;
@@ -414,7 +414,7 @@
 sub ptn2re($)
 { local($_)[EMAIL PROTECTED];
   s|[EMAIL PROTECTED]|\\$&|g;                  # quote specials
-  s|/+|/+|g;                                   # turn slashes into "/+"
+  y|/||s;                                      # turn slashes into "/+"
   s:(\\.|[^*\\]|\*+):subptn2re($&):eg;
   return $_;
 }

Reply via email to