From 91ff21db0a1a924cf94b56c79eb49c9f5b068af2 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Mon, 31 Aug 2009 12:32:58 +0000 Subject: main/dansguardian: fix for ftp credentials Patch from http://tech.groups.yahoo.com/group/dansguardian/message/23013 fixes #146 --- main/dansguardian/APKBUILD | 7 ++++-- main/dansguardian/ftp-credential.patch | 41 ++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 main/dansguardian/ftp-credential.patch diff --git a/main/dansguardian/APKBUILD b/main/dansguardian/APKBUILD index 8e15b043..dc6dee7c 100644 --- a/main/dansguardian/APKBUILD +++ b/main/dansguardian/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Natanael Copa pkgname=dansguardian pkgver=2.10.1.1 -pkgrel=1 +pkgrel=2 pkgdesc="Web content filter" url="http://dansguardian.org" license="GPL" @@ -13,10 +13,12 @@ subpackages="$pkgname-doc" source="http://dansguardian.org/downloads/2/Stable/$pkgname-$pkgver.tar.gz dansguardian.initd dansguardian.logrotate + ftp-credential.patch " build() { cd "$srcdir/$pkgname-$pkgver" + patch -p1 -i ../ftp-credential.patch || return 1 export CXX=${CXX_UC:-g++-uc} ./configure --prefix=/usr \ @@ -37,4 +39,5 @@ build() { md5sums="0987a1c9bfbdf398118386f10279611a dansguardian-2.10.1.1.tar.gz 0c04f74cd5db9fc7a8e80b407ec34214 dansguardian.initd -85b6de01c9508e8ceff5ebb55752f8d3 dansguardian.logrotate" +85b6de01c9508e8ceff5ebb55752f8d3 dansguardian.logrotate +475c46026e8553181d293d5a4feaf6d9 ftp-credential.patch" diff --git a/main/dansguardian/ftp-credential.patch b/main/dansguardian/ftp-credential.patch new file mode 100644 index 00000000..cfe47290 --- /dev/null +++ b/main/dansguardian/ftp-credential.patch @@ -0,0 +1,41 @@ +If anyone is interested I updated the workaround ftp credential patch +for 2.10.1.1. The previous one bombed on urls with email addresses in them. + +This one will probably bomb someplace else :) + +7/9/2009 ftp patch: + +--- a/src/HTTPHeader.cpp 2009-06-13 14:10:15.000000000 -0500 ++++ b/src/HTTPHeader.cpp 2009-07-09 17:29:16.000000000 -0500 +@@ -402,7 +402,7 @@ + // modifies the URL in all relevant header lines after a regexp search and replace + // setURL Code originally from from Ton Gorter 2004 + void HTTPHeader::setURL(String &url) { +- String hostname; ++ String hostname,credentials; + bool https = (url.before("://") == "https"); + int port = (https ? 443 : 80); + +@@ -420,12 +420,18 @@ + } + hostname = hostname.before(":"); // chop off the port bit + } ++ //Restore stripped credentials ++ credentials=""; ++ if (header.front().after("://").before(hostname.toCharArray()).contains("@")) { // Contains a username:password combo ++ credentials = header.front().after("://").before(hostname.toCharArray()); ++ } ++ + + #ifdef DGDEBUG + std::cout << "setURL: header.front() changed from: " << header.front() << std::endl; + #endif + if (!https) +- header.front() = header.front().before(" ") + " " + url + " " + header.front().after(" ").after(" "); ++ header.front() = header.front().before(" ") + " " + url.before("://") + "://" + credentials + url.after("://") + " " + header.front().after(" ").after(" "); + else + // Should take form of "CONNECT example.com:443 HTTP/1.0" for SSL + header.front() = header.front().before(" ") + " " + hostname + ":" + String(port) + " " + header.front().after(" ").after(" "); + + + -- cgit v1.2.3