summaryrefslogtreecommitdiff
path: root/net/aria2
diff options
context:
space:
mode:
authorbjs <bjs@pkgsrc.org>2007-11-16 08:06:33 +0000
committerbjs <bjs@pkgsrc.org>2007-11-16 08:06:33 +0000
commit24cd7e68e8866a234f0073a2412f20b0b22e038c (patch)
tree83a6b0bd3d0c9593d37ebb4d12916af0e76f2a7d /net/aria2
parentd5c46a7690e2e86b84232cd7d78951b751bdc3da (diff)
downloadpkgsrc-24cd7e68e8866a234f0073a2412f20b0b22e038c.tar.gz
Sync with stable-0.11 branch. Bump rev.
Diffstat (limited to 'net/aria2')
-rw-r--r--net/aria2/Makefile4
-rw-r--r--net/aria2/distinfo9
-rw-r--r--net/aria2/patches/patch-ag31
-rw-r--r--net/aria2/patches/patch-ah53
-rw-r--r--net/aria2/patches/patch-ai25
-rw-r--r--net/aria2/patches/patch-aj13
-rw-r--r--net/aria2/patches/patch-ak40
-rw-r--r--net/aria2/patches/patch-al13
-rw-r--r--net/aria2/patches/patch-am88
9 files changed, 273 insertions, 3 deletions
diff --git a/net/aria2/Makefile b/net/aria2/Makefile
index b88fb5463b9..ab8db54c674 100644
--- a/net/aria2/Makefile
+++ b/net/aria2/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.4 2007/11/07 08:08:18 bjs Exp $
+# $NetBSD: Makefile,v 1.5 2007/11/16 08:06:33 bjs Exp $
#
DISTNAME= aria2-0.11.4
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= net
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=aria2/}
EXTRACT_SUFX= .tar.bz2
diff --git a/net/aria2/distinfo b/net/aria2/distinfo
index 9813302b89c..e150ca54041 100644
--- a/net/aria2/distinfo
+++ b/net/aria2/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.3 2007/11/07 08:08:19 bjs Exp $
+$NetBSD: distinfo,v 1.4 2007/11/16 08:06:33 bjs Exp $
SHA1 (aria2-0.11.4.tar.bz2) = 76144a9525c005ea39ceda82da8f61883ab4ac6f
RMD160 (aria2-0.11.4.tar.bz2) = 1a9807ed2b24448062e78818a59e51eccdb822cc
@@ -9,3 +9,10 @@ SHA1 (patch-ac) = 64b43e0b75d82c0602d1c53764ab8e2896a35c69
SHA1 (patch-ad) = 037d1cc28a45fc636487dcddc5e014ca43df66c4
SHA1 (patch-ae) = 80a2c165130282b893c39ed6428689c14f7b08bc
SHA1 (patch-af) = 5a045331fc27ced85571ff59e03ed562ad3901fe
+SHA1 (patch-ag) = d60d9bd458f1543b2f47eafadae328d9e1862afb
+SHA1 (patch-ah) = 54d31f1b33848d044b4492700401589193bb6d60
+SHA1 (patch-ai) = d8c0ee2c70c0f49999ef67d760d24074120aa0b5
+SHA1 (patch-aj) = 8c2df42e035b7cff88f09ade6bceba46f8ce8f4d
+SHA1 (patch-ak) = bda3c3c70ae2da15bc2d02245db741798e3e7159
+SHA1 (patch-al) = 6fa61faedf017f1adce4354e09171db39a2e9fb7
+SHA1 (patch-am) = 806211d4e3990ebc411c14ec5b7662d0a332d9ac
diff --git a/net/aria2/patches/patch-ag b/net/aria2/patches/patch-ag
new file mode 100644
index 00000000000..c6ec71e8b95
--- /dev/null
+++ b/net/aria2/patches/patch-ag
@@ -0,0 +1,31 @@
+$NetBSD: patch-ag,v 1.3 2007/11/16 08:06:33 bjs Exp $
+
+--- ChangeLog.orig 2007-10-28 06:26:51.000000000 -0400
++++ ChangeLog
+@@ -1,3 +1,19 @@
++2007-11-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
++
++ urlencode the given url inside Request::parseUrl(...)
++ * src/Request.{h, cc}
++ * src/Util.{h, cc}
++ * test/RequestTest.cc
++
++ Removed #!metalink3! notation support because it is deleted from
++ the metalink specification.
++ * src/Request.{h, cc}
++ * test/RequestTest.cc
++
++2007-11-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
++
++ * src/SocketCore.cc (writeData): Fixed send error with GnuTLS.
++
+ 2007-10-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
+
+ * po/LINGUAS: Added nl for Dutch translation.
+@@ -6974,4 +6990,4 @@
+ 2006-02-17 Tatsuhiro Tsujikawa <tsujikawa at rednoah dot com>
+
+ * Release 0.1.0
+-
+\ No newline at end of file
++
diff --git a/net/aria2/patches/patch-ah b/net/aria2/patches/patch-ah
new file mode 100644
index 00000000000..ef9515a0cd0
--- /dev/null
+++ b/net/aria2/patches/patch-ah
@@ -0,0 +1,53 @@
+$NetBSD: patch-ah,v 1.3 2007/11/16 08:06:33 bjs Exp $
+
+--- src/Request.cc.orig 2007-10-11 12:48:21.000000000 -0400
++++ src/Request.cc
+@@ -68,14 +68,9 @@ bool Request::parseUrl(const string& url
+ string tempUrl;
+ string::size_type sharpIndex = url.find("#");
+ if(sharpIndex != string::npos) {
+- if(FeatureConfig::getInstance()->isSupported("metalink") &&
+- url.find(METALINK_MARK) == sharpIndex) {
+- tempUrl = url.substr(sharpIndex+strlen(METALINK_MARK));
+- } else {
+- tempUrl = url.substr(0, sharpIndex);
+- }
++ tempUrl = urlencode(url.substr(0, sharpIndex));
+ } else {
+- tempUrl = url;
++ tempUrl = urlencode(url);
+ }
+
+ currentUrl = tempUrl;
+@@ -145,3 +140,31 @@ AuthConfigHandle Request::resolveHttpPro
+ {
+ return _httpProxyAuthResolver->resolveAuthConfig(getHost());
+ }
++
++bool Request::isHexNumber(const char c) const
++{
++ return '0' <= c && c <= '9' || 'A' <= c && c <= 'F' || 'a' <= c && c <= 'f';
++}
++
++string Request::urlencode(const string& src) const
++{
++ int32_t lastIndex = src.size()-1;
++ string result = src+" ";
++ for(int32_t index = lastIndex; index >= 0; --index) {
++ const char c = result[index];
++ // '/' is not urlencoded because src is expected to be a path.
++ if(Util::shouldUrlencode(c)) {
++ if(c == '%') {
++ if(!isHexNumber(result[index+1]) || !isHexNumber(result[index+2])) {
++ result.replace(index, 1, "%25");
++ }
++ } else {
++ char temp[4];
++ sprintf(temp, "%%%02x", c);
++ temp[3] = '\0';
++ result.replace(index, 1, temp);
++ }
++ }
++ }
++ return result.substr(0, result.size()-2);
++}
diff --git a/net/aria2/patches/patch-ai b/net/aria2/patches/patch-ai
new file mode 100644
index 00000000000..30ccf25876e
--- /dev/null
+++ b/net/aria2/patches/patch-ai
@@ -0,0 +1,25 @@
+$NetBSD: patch-ai,v 1.3 2007/11/16 08:06:33 bjs Exp $
+
+--- src/Request.h.orig 2007-08-28 12:36:33.000000000 -0400
++++ src/Request.h
+@@ -48,8 +48,6 @@
+ "%"\
+ "#"
+
+-#define METALINK_MARK "#!metalink3!"
+-
+ class Request {
+ public:
+ enum TRACKER_EVENT {
+@@ -87,6 +85,11 @@ private:
+ AuthResolverHandle _ftpAuthResolver;
+
+ bool parseUrl(const string& url);
++
++ bool isHexNumber(const char c) const;
++
++ string urlencode(const string& src) const;
++
+ public:
+ CookieBoxHandle cookieBox;
+ public:
diff --git a/net/aria2/patches/patch-aj b/net/aria2/patches/patch-aj
new file mode 100644
index 00000000000..5ca789ec39f
--- /dev/null
+++ b/net/aria2/patches/patch-aj
@@ -0,0 +1,13 @@
+$NetBSD: patch-aj,v 1.3 2007/11/16 08:06:33 bjs Exp $
+
+--- src/SocketCore.cc.orig 2007-08-28 12:36:33.000000000 -0400
++++ src/SocketCore.cc
+@@ -331,7 +331,7 @@ void SocketCore::writeData(const char* d
+ }
+ #endif // HAVE_LIBSSL
+ #ifdef HAVE_LIBGNUTLS
+- if((ret = gnutls_record_send(sslSession, data, len)) == len) {
++ if((ret = gnutls_record_send(sslSession, data, len)) != len) {
+ throw new DlRetryEx(EX_SOCKET_SEND, gnutls_strerror(ret));
+ }
+ #endif // HAVE_LIBGNUTLS
diff --git a/net/aria2/patches/patch-ak b/net/aria2/patches/patch-ak
new file mode 100644
index 00000000000..3bb5a2a73f3
--- /dev/null
+++ b/net/aria2/patches/patch-ak
@@ -0,0 +1,40 @@
+$NetBSD: patch-ak,v 1.3 2007/11/16 08:06:33 bjs Exp $
+
+--- src/Util.cc.orig 2007-08-28 12:36:33.000000000 -0400
++++ src/Util.cc
+@@ -238,18 +238,26 @@ string Util::replace(const string& targe
+ return result;
+ }
+
++bool Util::shouldUrlencode(const char c)
++{
++ return !(// ALPHA
++ 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' ||
++ // DIGIT
++ '0' <= c && c <= '9' ||
++ // safe
++ '$' == c || '-' == c || '_' == c || '.' == c ||
++ // extra
++ '!' == c || '*' == c || '\'' == c ||'(' == c ||
++ ')' == c || ',' == c ||
++ // reserved
++ ';' == c || '/' == c || '?' == c || ':' == c ||
++ '@' == c || '&' == c || '=' == c || '+' == c);
++}
++
+ string Util::urlencode(const unsigned char* target, int32_t len) {
+ string dest;
+ for(int32_t i = 0; i < len; i++) {
+- if(!('0' <= target[i] && target[i] <= '9' ||
+- 'A' <= target[i] && target[i] <= 'Z' ||
+- 'a' <= target[i] && target[i] <= 'z' ||
+- '$' == target[i] || '-' == target[i] ||
+- '_' == target[i] || '.' == target[i] ||
+- '+' == target[i] || '!' == target[i] ||
+- '*' == target[i] || '\'' == target[i] ||
+- '(' == target[i] || ')' == target[i] ||
+- ',' == target[i])) {
++ if(shouldUrlencode(target[i])) {
+ char temp[4];
+ sprintf(temp, "%%%02x", target[i]);
+ temp[sizeof(temp)-1] = '\0';
diff --git a/net/aria2/patches/patch-al b/net/aria2/patches/patch-al
new file mode 100644
index 00000000000..e2845b361ba
--- /dev/null
+++ b/net/aria2/patches/patch-al
@@ -0,0 +1,13 @@
+$NetBSD: patch-al,v 1.3 2007/11/16 08:06:34 bjs Exp $
+
+--- src/Util.h.orig 2007-08-28 12:36:33.000000000 -0400
++++ src/Util.h
+@@ -76,6 +76,8 @@ public:
+
+ static string replace(const string& target, const string& oldstr, const string& newstr);
+
++ static bool shouldUrlencode(const char c);
++
+ static string urlencode(const unsigned char* target, int32_t len);
+
+ static string urlencode(const string& target)
diff --git a/net/aria2/patches/patch-am b/net/aria2/patches/patch-am
new file mode 100644
index 00000000000..0e3a4cd8ca4
--- /dev/null
+++ b/net/aria2/patches/patch-am
@@ -0,0 +1,88 @@
+$NetBSD: patch-am,v 1.3 2007/11/16 08:06:34 bjs Exp $
+
+--- test/RequestTest.cc.orig 2007-10-11 12:48:21.000000000 -0400
++++ test/RequestTest.cc
+@@ -21,12 +21,11 @@ class RequestTest:public CppUnit::TestFi
+ CPPUNIT_TEST(testSetUrl12);
+ CPPUNIT_TEST(testSetUrl13);
+ CPPUNIT_TEST(testSetUrl14);
++ CPPUNIT_TEST(testSetUrl17);
+ CPPUNIT_TEST(testRedirectUrl);
+ CPPUNIT_TEST(testRedirectUrl2);
+ CPPUNIT_TEST(testResetUrl);
+- CPPUNIT_TEST(testSafeChar);
+ CPPUNIT_TEST(testInnerLink);
+- CPPUNIT_TEST(testMetalink);
+ CPPUNIT_TEST(testResolveHttpAuthConfig);
+ CPPUNIT_TEST(testResolveHttpAuthConfig_noCandidate);
+ CPPUNIT_TEST(testResolveHttpProxyAuthConfig);
+@@ -48,12 +47,11 @@ public:
+ void testSetUrl12();
+ void testSetUrl13();
+ void testSetUrl14();
++ void testSetUrl17();
+ void testRedirectUrl();
+ void testRedirectUrl2();
+ void testResetUrl();
+- void testSafeChar();
+ void testInnerLink();
+- void testMetalink();
+ void testResolveHttpAuthConfig();
+ void testResolveHttpAuthConfig_noCandidate();
+ void testResolveHttpProxyAuthConfig();
+@@ -217,6 +215,17 @@ void RequestTest::testSetUrl14() {
+ CPPUNIT_ASSERT_EQUAL(string("abc?query"), req.getFile());
+ }
+
++void RequestTest::testSetUrl17()
++{
++ Request req;
++ bool v = req.setUrl("http://host:80/file<with%2 %20space/file with space;param?a=/?");
++ CPPUNIT_ASSERT(v);
++ CPPUNIT_ASSERT_EQUAL(string("http"), req.getProtocol());
++ CPPUNIT_ASSERT_EQUAL(string("host"), req.getHost());
++ CPPUNIT_ASSERT_EQUAL(string("/file%3cwith%252%20%20space"), req.getDir());
++ CPPUNIT_ASSERT_EQUAL(string("file%20with%20space;param?a=/?"), req.getFile());
++}
++
+ void RequestTest::testRedirectUrl() {
+ Request req;
+ bool v = req.setUrl("http://aria.rednoah.com:8080/aria2/index.html");
+@@ -279,12 +288,6 @@ void RequestTest::testResetUrl() {
+ CPPUNIT_ASSERT_EQUAL(string("index.html"), req.getFile());
+ }
+
+-void RequestTest::testSafeChar() {
+- Request req;
+- bool v = req.setUrl("http://aria.rednoah.com/|<>");
+- CPPUNIT_ASSERT(!v);
+-}
+-
+ void RequestTest::testInnerLink() {
+ Request req;
+ bool v = req.setUrl("http://aria.rednoah.com/index.html#download");
+@@ -292,24 +295,6 @@ void RequestTest::testInnerLink() {
+ CPPUNIT_ASSERT_EQUAL(string("index.html"), req.getFile());
+ }
+
+-void RequestTest::testMetalink() {
+- Request req;
+- bool v = req.setUrl("http://aria.rednoah.com/download/aria.tar.bz2#!metalink3!http://aria2.sourceforge.net/download/aria.metalink");
+- CPPUNIT_ASSERT(v);
+-#ifdef ENABLE_METALINK
+- CPPUNIT_ASSERT_EQUAL(string("aria2.sourceforge.net"), req.getHost());
+- CPPUNIT_ASSERT_EQUAL(string("/download"), req.getDir());
+- CPPUNIT_ASSERT_EQUAL(string("aria.metalink"), req.getFile());
+-
+- bool v2 = req.setUrl("http://aria.rednoah.com/download/aria.tar.bz2#!metalink3!");
+- CPPUNIT_ASSERT(!v2);
+-#else
+- CPPUNIT_ASSERT_EQUAL(string("aria.rednoah.com"), req.getHost());
+- CPPUNIT_ASSERT_EQUAL(string("/download"), req.getDir());
+- CPPUNIT_ASSERT_EQUAL(string("aria.tar.bz2"), req.getFile());
+-#endif // ENABLE_METALINK
+-}
+-
+ void RequestTest::testResolveHttpAuthConfig()
+ {
+ Request req;