o import Debian patches.
- fix .netrc parsing bug - fix 2GB limitation - re-add IPv6 capability - fix SEGV with special url line check debian/changelog for more detail. o replace /usr/local with ${PREFIX} in wgetrc and info. PR: 38824 reported 2GB limitation Obtained from: Debian GNU/Linux
This commit is contained in:
parent
3947d1c81a
commit
9be73d9d55
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=76771
8 changed files with 24 additions and 126 deletions
|
@ -7,15 +7,21 @@
|
|||
|
||||
PORTNAME= wget
|
||||
PORTVERSION= 1.8.2
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= ftp www
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= ftp www ipv6
|
||||
MASTER_SITES= ${MASTER_SITE_GNU}
|
||||
MASTER_SITE_SUBDIR= wget
|
||||
|
||||
PATCH_SITES= ${MASTER_SITE_DEBIAN}
|
||||
PATCH_SITE_SUBDIR= pool/main/w/wget
|
||||
PATCHFILES= wget_${PORTVERSION}-9.diff.gz
|
||||
PATCH_DIST_STRIP= -p1
|
||||
|
||||
MAINTAINER= sf@FreeBSD.org
|
||||
|
||||
LIB_DEPENDS= intl.4:${PORTSDIR}/devel/gettext
|
||||
|
||||
USE_REINPLACE= yes
|
||||
USE_PERL5_BUILD= yes
|
||||
USE_GMAKE= yes
|
||||
GNU_CONFIGURE= yes
|
||||
|
@ -34,6 +40,9 @@ post-patch:
|
|||
${RM} -f ${WRKSRC}/doc/wget.info*
|
||||
# we don't need to run autoconf.
|
||||
${TOUCH} ${WRKSRC}/configure
|
||||
${REINPLACE_CMD} -e 's,/etc/wgetrc,${PREFIX}/etc/wgetrc,' \
|
||||
-e 's,@file{},@file{${PREFIX}},' \
|
||||
${WRKSRC}/doc/sample.wgetrc* ${WRKSRC}/doc/wget.texi
|
||||
|
||||
post-install:
|
||||
install-info ${PREFIX}/info/wget.info ${PREFIX}/info/dir
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
MD5 (wget-1.8.2.tar.gz) = a2473d7a53ebaf0a1bdb06f17059e8f1
|
||||
MD5 (wget_1.8.2-9.diff.gz) = 41921f704adffc8a0fd463a65d844020
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
$OpenBSD: patch-src_fnmatch_c,v 1.1 2002/12/10 18:37:24 brad Exp $
|
||||
--- src/fnmatch.c.orig Tue Dec 10 13:06:09 2002
|
||||
+++ src/fnmatch.c Tue Dec 10 13:07:23 2002
|
||||
@@ -188,6 +188,17 @@ fnmatch (const char *pattern, const char
|
||||
return (FNM_NOMATCH);
|
||||
}
|
||||
|
||||
+/* Return non-zero if S has a leading '/' or contains '../' */
|
||||
+int
|
||||
+has_invalid_name (const char *s)
|
||||
+{
|
||||
+ if (*s == '/')
|
||||
+ return 1;
|
||||
+ if (strstr(s, "../") != 0)
|
||||
+ return 1;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
/* Return non-zero if S contains globbing wildcards (`*', `?', `[' or
|
||||
`]'). */
|
||||
int
|
|
@ -1,40 +0,0 @@
|
|||
$OpenBSD: patch-src_ftp_c,v 1.1 2002/12/10 18:37:24 brad Exp $
|
||||
--- src/ftp.c.orig Tue Dec 10 13:08:00 2002
|
||||
+++ src/ftp.c Tue Dec 10 13:16:22 2002
|
||||
@@ -1637,6 +1637,7 @@ ftp_retrieve_glob (struct urlinfo *u, cc
|
||||
{
|
||||
struct fileinfo *orig, *start;
|
||||
uerr_t res;
|
||||
+ struct fileinfo *f;
|
||||
|
||||
con->cmd |= LEAVE_PENDING;
|
||||
|
||||
@@ -1648,8 +1649,7 @@ ftp_retrieve_glob (struct urlinfo *u, cc
|
||||
opt.accepts and opt.rejects. */
|
||||
if (opt.accepts || opt.rejects)
|
||||
{
|
||||
- struct fileinfo *f = orig;
|
||||
-
|
||||
+ f = orig;
|
||||
while (f)
|
||||
{
|
||||
if (f->type != FT_DIRECTORY && !acceptable (f->name))
|
||||
@@ -1661,6 +1661,18 @@ ftp_retrieve_glob (struct urlinfo *u, cc
|
||||
f = f->next;
|
||||
}
|
||||
}
|
||||
+ /* Remove all files with possible harmful names */
|
||||
+ f = orig;
|
||||
+ while (f)
|
||||
+ {
|
||||
+ if (has_invalid_name(f->name))
|
||||
+ {
|
||||
+ logprintf (LOG_VERBOSE, _("Rejecting `%s'.\n"), f->name);
|
||||
+ f = delelement (f, &start);
|
||||
+ }
|
||||
+ else
|
||||
+ f = f->next;
|
||||
+ }
|
||||
/* Now weed out the files that do not match our globbing pattern.
|
||||
If we are dealing with a globbing pattern, that is. */
|
||||
if (*u->file && (action == GLOBALL || action == GETONE))
|
|
@ -7,15 +7,21 @@
|
|||
|
||||
PORTNAME= wget
|
||||
PORTVERSION= 1.8.2
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= ftp www
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= ftp www ipv6
|
||||
MASTER_SITES= ${MASTER_SITE_GNU}
|
||||
MASTER_SITE_SUBDIR= wget
|
||||
|
||||
PATCH_SITES= ${MASTER_SITE_DEBIAN}
|
||||
PATCH_SITE_SUBDIR= pool/main/w/wget
|
||||
PATCHFILES= wget_${PORTVERSION}-9.diff.gz
|
||||
PATCH_DIST_STRIP= -p1
|
||||
|
||||
MAINTAINER= sf@FreeBSD.org
|
||||
|
||||
LIB_DEPENDS= intl.4:${PORTSDIR}/devel/gettext
|
||||
|
||||
USE_REINPLACE= yes
|
||||
USE_PERL5_BUILD= yes
|
||||
USE_GMAKE= yes
|
||||
GNU_CONFIGURE= yes
|
||||
|
@ -34,6 +40,9 @@ post-patch:
|
|||
${RM} -f ${WRKSRC}/doc/wget.info*
|
||||
# we don't need to run autoconf.
|
||||
${TOUCH} ${WRKSRC}/configure
|
||||
${REINPLACE_CMD} -e 's,/etc/wgetrc,${PREFIX}/etc/wgetrc,' \
|
||||
-e 's,@file{},@file{${PREFIX}},' \
|
||||
${WRKSRC}/doc/sample.wgetrc* ${WRKSRC}/doc/wget.texi
|
||||
|
||||
post-install:
|
||||
install-info ${PREFIX}/info/wget.info ${PREFIX}/info/dir
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
MD5 (wget-1.8.2.tar.gz) = a2473d7a53ebaf0a1bdb06f17059e8f1
|
||||
MD5 (wget_1.8.2-9.diff.gz) = 41921f704adffc8a0fd463a65d844020
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
$OpenBSD: patch-src_fnmatch_c,v 1.1 2002/12/10 18:37:24 brad Exp $
|
||||
--- src/fnmatch.c.orig Tue Dec 10 13:06:09 2002
|
||||
+++ src/fnmatch.c Tue Dec 10 13:07:23 2002
|
||||
@@ -188,6 +188,17 @@ fnmatch (const char *pattern, const char
|
||||
return (FNM_NOMATCH);
|
||||
}
|
||||
|
||||
+/* Return non-zero if S has a leading '/' or contains '../' */
|
||||
+int
|
||||
+has_invalid_name (const char *s)
|
||||
+{
|
||||
+ if (*s == '/')
|
||||
+ return 1;
|
||||
+ if (strstr(s, "../") != 0)
|
||||
+ return 1;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
/* Return non-zero if S contains globbing wildcards (`*', `?', `[' or
|
||||
`]'). */
|
||||
int
|
|
@ -1,40 +0,0 @@
|
|||
$OpenBSD: patch-src_ftp_c,v 1.1 2002/12/10 18:37:24 brad Exp $
|
||||
--- src/ftp.c.orig Tue Dec 10 13:08:00 2002
|
||||
+++ src/ftp.c Tue Dec 10 13:16:22 2002
|
||||
@@ -1637,6 +1637,7 @@ ftp_retrieve_glob (struct urlinfo *u, cc
|
||||
{
|
||||
struct fileinfo *orig, *start;
|
||||
uerr_t res;
|
||||
+ struct fileinfo *f;
|
||||
|
||||
con->cmd |= LEAVE_PENDING;
|
||||
|
||||
@@ -1648,8 +1649,7 @@ ftp_retrieve_glob (struct urlinfo *u, cc
|
||||
opt.accepts and opt.rejects. */
|
||||
if (opt.accepts || opt.rejects)
|
||||
{
|
||||
- struct fileinfo *f = orig;
|
||||
-
|
||||
+ f = orig;
|
||||
while (f)
|
||||
{
|
||||
if (f->type != FT_DIRECTORY && !acceptable (f->name))
|
||||
@@ -1661,6 +1661,18 @@ ftp_retrieve_glob (struct urlinfo *u, cc
|
||||
f = f->next;
|
||||
}
|
||||
}
|
||||
+ /* Remove all files with possible harmful names */
|
||||
+ f = orig;
|
||||
+ while (f)
|
||||
+ {
|
||||
+ if (has_invalid_name(f->name))
|
||||
+ {
|
||||
+ logprintf (LOG_VERBOSE, _("Rejecting `%s'.\n"), f->name);
|
||||
+ f = delelement (f, &start);
|
||||
+ }
|
||||
+ else
|
||||
+ f = f->next;
|
||||
+ }
|
||||
/* Now weed out the files that do not match our globbing pattern.
|
||||
If we are dealing with a globbing pattern, that is. */
|
||||
if (*u->file && (action == GLOBALL || action == GETONE))
|
Loading…
Reference in a new issue