Fix the PASV response decode in kio_ftp as reported in pkg/13344. This

is in line with rfc1123 sec 4.1.2.6.

Fix the search method for lib{ssl,crypto} in kopenssl.cc
This commit is contained in:
skrll 2001-11-17 12:01:34 +00:00
parent b17e26280a
commit 71515ea470
3 changed files with 117 additions and 1 deletions

View file

@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.8 2001/11/13 21:09:07 jlam Exp $ $NetBSD: distinfo,v 1.9 2001/11/17 12:01:34 skrll Exp $
SHA1 (kdelibs-2.2.1.tar.bz2) = 6f5359905ba1f6c0785972da92c0113485ddee62 SHA1 (kdelibs-2.2.1.tar.bz2) = 6f5359905ba1f6c0785972da92c0113485ddee62
Size (kdelibs-2.2.1.tar.bz2) = 5999418 bytes Size (kdelibs-2.2.1.tar.bz2) = 5999418 bytes
@ -46,3 +46,5 @@ SHA1 (patch-bo) = 50c88a7ca572409a7f91df075155a1705a7ebca2
SHA1 (patch-bp) = 84fe12d8317bbc9eb0ea2f2d320d3fb9fb138faf SHA1 (patch-bp) = 84fe12d8317bbc9eb0ea2f2d320d3fb9fb138faf
SHA1 (patch-bq) = 37b760bcd4067d3adac6260377f16fcb6ffae909 SHA1 (patch-bq) = 37b760bcd4067d3adac6260377f16fcb6ffae909
SHA1 (patch-br) = e4098450a416d419a8ac947ad7a2244298c2c011 SHA1 (patch-br) = e4098450a416d419a8ac947ad7a2244298c2c011
SHA1 (patch-bs) = 1aa53bc22b5c4971e3135fd53e1cfb4bec4d78d3
SHA1 (patch-bt) = 96a5b587056abc922957e55898e222910ab98dca

View file

@ -0,0 +1,13 @@
$NetBSD: patch-bs,v 1.1 2001/11/17 12:01:34 skrll Exp $
--- kio/ftp/ftp.cc.orig Mon Jul 30 23:11:23 2001
+++ kio/ftp/ftp.cc
@@ -664,7 +664,7 @@
return false;
}
- if (sscanf(rspbuf, "%*[^(](%d,%d,%d,%d,%d,%d)",&i[0], &i[1], &i[2], &i[3], &i[4], &i[5]) != 6)
+ if (sscanf(rspbuf+4, "%*[^0-9]%d,%d,%d,%d,%d,%d",&i[0], &i[1], &i[2], &i[3], &i[4], &i[5]) != 6)
{
return false;
}

View file

@ -0,0 +1,101 @@
$NetBSD: patch-bt,v 1.1 2001/11/17 12:01:35 skrll Exp $
--- kssl/kopenssl.cc.orig Wed Sep 5 00:08:18 2001
+++ kssl/kopenssl.cc
@@ -117,7 +117,7 @@
_me = NULL;
}
-#ifdef __OpenBSD__
+#if defined(__OpenBSD__) || defined(__NetBSD__)
#include <qdir.h>
#include <qstring.h>
#include <qstringlist.h>
@@ -180,20 +180,16 @@
delete cfg;
-#ifdef __OpenBSD__
- {
- QString libname = findMostRecentLib("/usr/lib", "crypto");
- if (!libname.isNull())
- _cryptoLib = ll->globalLibrary(libname.latin1());
- }
-#else
- libpaths << "/usr/lib/"
- << "/usr/local/lib/"
+ libpaths << "/usr/lib/";
+#if !defined(__OpenBSD__) && !defined(__NetBSD__)
+ libpaths << "/usr/local/lib/"
<< "/usr/local/openssl/lib/"
<< "/usr/local/ssl/lib/"
<< "/opt/openssl/lib/"
- << "";
+#endif
+ libpaths << "";
+#if !defined(__OpenBSD__) && !defined(__NetBSD__)
// FIXME: #define here for the various OS types to optimize
libnamess << "libssl.so.0"
<< "libssl.so"
@@ -202,10 +198,16 @@
libnamesc << "libcrypto.so.0"
<< "libcrypto.so"
<< "libcrypto.sl";
+#endif
for (QStringList::Iterator it = libpaths.begin();
it != libpaths.end();
++it) {
+#if defined(__NetBSD__) || defined(__OpenBSD__)
+ QString libname = findMostRecentLib(*it, "crypto");
+ if (!libname.isNull())
+ _cryptoLib = ll->globalLibrary(libname.latin1());
+#else
for (QStringList::Iterator shit = libnamesc.begin();
shit != libnamesc.end();
++shit) {
@@ -213,9 +215,9 @@
_cryptoLib = ll->globalLibrary(alib.latin1());
if (_cryptoLib) break;
}
+#endif
if (_cryptoLib) break;
}
-#endif
if (_cryptoLib) {
#ifdef HAVE_SSL
@@ -263,16 +265,14 @@
#endif
}
-#ifdef __OpenBSD__
- {
- QString libname = findMostRecentLib("/usr/lib", "ssl");
- if (!libname.isNull())
- _sslLib = ll->globalLibrary(libname.latin1());
- }
-#else
for (QStringList::Iterator it = libpaths.begin();
it != libpaths.end();
++it) {
+#if defined(__OpenBSD__) || defined(__NetBSD__)
+ QString libname = findMostRecentLib(*it, "ssl");
+ if (!libname.isNull())
+ _sslLib = ll->globalLibrary(libname.latin1());
+#else
for (QStringList::Iterator shit = libnamess.begin();
shit != libnamess.end();
++shit) {
@@ -280,9 +280,9 @@
_sslLib = ll->globalLibrary(alib.latin1());
if (_sslLib) break;
}
+#endif
if (_sslLib) break;
}
-#endif
if (_sslLib) {
#ifdef HAVE_SSL