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 $_; }