diff options
author | tron <tron@pkgsrc.org> | 2009-07-20 13:56:31 +0000 |
---|---|---|
committer | tron <tron@pkgsrc.org> | 2009-07-20 13:56:31 +0000 |
commit | 1eae039a7c4fb03bfb7a73f65dc77ce5e3e6a3ea (patch) | |
tree | 95482479ee4fbd2116a328e35e6c4b8fb755b6a1 /www/squid31 | |
parent | 8ff6448ced5c0857b9e317f90bfb386a16dab2ee (diff) | |
download | pkgsrc-1eae039a7c4fb03bfb7a73f65dc77ce5e3e6a3ea.tar.gz |
Add fix for Squid bug 2395 which makes FTP connection to e.g.
"ftp.fu-berlin.de" work again.
Diffstat (limited to 'www/squid31')
-rw-r--r-- | www/squid31/Makefile | 3 | ||||
-rw-r--r-- | www/squid31/distinfo | 3 | ||||
-rw-r--r-- | www/squid31/patches/patch-ab | 36 |
3 files changed, 40 insertions, 2 deletions
diff --git a/www/squid31/Makefile b/www/squid31/Makefile index 453f63133f5..6b3e62de54d 100644 --- a/www/squid31/Makefile +++ b/www/squid31/Makefile @@ -1,7 +1,8 @@ -# $NetBSD: Makefile,v 1.11 2009/07/19 23:05:38 tron Exp $ +# $NetBSD: Makefile,v 1.12 2009/07/20 13:56:31 tron Exp $ DISTNAME= squid-3.1.0.11 PKGNAME= ${DISTNAME} # Necessary for "pkgsrc/www/squid/options.mk" +PKGREVISION= 1 CATEGORIES= www MASTER_SITES= http://www.squid-cache.org/Versions/v3/3.1/ \ ${SQUID_MASTER_SITES} diff --git a/www/squid31/distinfo b/www/squid31/distinfo index c650eb0faed..42343071f98 100644 --- a/www/squid31/distinfo +++ b/www/squid31/distinfo @@ -1,9 +1,10 @@ -$NetBSD: distinfo,v 1.9 2009/07/20 10:49:16 tron Exp $ +$NetBSD: distinfo,v 1.10 2009/07/20 13:56:31 tron Exp $ SHA1 (squid-3.1.0.11.tar.bz2) = 374c2a5d664320109d92405a44926fc93dce4526 RMD160 (squid-3.1.0.11.tar.bz2) = c654e229ed6c060798e290ef7f7491cae4fa0356 Size (squid-3.1.0.11.tar.bz2) = 2381394 bytes SHA1 (patch-aa) = a9ca6f8536262a7645f8efdcbcd05b9c190b57df +SHA1 (patch-ab) = 122834b04e8ab4983bbe7a5ce08c41db775357a7 SHA1 (patch-ad) = cb2591bebcbcf22f6cb1858f243b0c808d3db589 SHA1 (patch-ae) = a1f8a6bfa49a3e7c46fc6228b22ef374f3bd3964 SHA1 (patch-ah) = e20f7b76d6d48041efbfe1a07dce756a818e6642 diff --git a/www/squid31/patches/patch-ab b/www/squid31/patches/patch-ab new file mode 100644 index 00000000000..a7c9364b210 --- /dev/null +++ b/www/squid31/patches/patch-ab @@ -0,0 +1,36 @@ +$NetBSD: patch-ab,v 1.3 2009/07/20 13:56:31 tron Exp $ + +Fix for Squid bug 2395, taken from here: + +http://www.squid-cache.org/bugs/show_bug.cgi?id=2395 +http://www.squid-cache.org/bugs/attachment.cgi?id=2017 + +--- src/ftp.cc.orig 2009-07-19 06:11:14.000000000 +0100 ++++ src/ftp.cc 2009-07-20 14:44:35.000000000 +0100 +@@ -2447,9 +2447,13 @@ + /* server response with list of supported methods */ + /* 522 Network protocol not supported, use (1) */ + /* 522 Network protocol not supported, use (1,2) */ ++ /* TODO: handle the (1,2) case. We might get it back after EPSV ALL ++ * which means close data + control without self-destructing and re-open from scratch. */ + debugs(9, 5, HERE << "scanning: " << ftpState->ctrl.last_reply); ++ buf = ftpState->ctrl.last_reply; ++ while (buf != NULL && *buf != '\0' && *buf != '\n' && *buf != '(') ++buf; ++ if (buf != NULL && *buf == '\n') ++buf; + +- buf = ftpState->ctrl.last_reply + strcspn(ftpState->ctrl.last_reply, "(1,2)"); + if (buf == NULL || *buf == '\0') { + /* handle broken server (RFC 2428 says MUST specify supported protocols in 522) */ + debugs(9, DBG_IMPORTANT, "Broken FTP Server at " << fd_table[ftpState->ctrl.fd].ipaddr << ". 522 error missing protocol negotiation hints"); +@@ -2473,6 +2477,11 @@ + ftpSendPassive(ftpState); + #endif + } ++ else { ++ /* handle broken server (RFC 2428 says MUST specify supported protocols in 522) */ ++ debugs(9, DBG_IMPORTANT, "WARNING: Server at " << fd_table[ftpState->ctrl.fd].ipaddr << " sent unknown protocol negotiation hint: " << buf); ++ ftpSendPassive(ftpState); ++ } + return; + } + |