diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-05-24 18:31:17 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-05-24 18:31:17 +0000 |
commit | dcf18b24609dc9843033d0e9d15728c9005f9b06 (patch) | |
tree | c8a201ff4dc4899375e107247c272c2c5e6588d8 /net-misc/whois | |
parent | add ~x86, bug #270036 (diff) | |
download | historical-dcf18b24609dc9843033d0e9d15728c9005f9b06.tar.gz historical-dcf18b24609dc9843033d0e9d15728c9005f9b06.tar.bz2 historical-dcf18b24609dc9843033d0e9d15728c9005f9b06.zip |
old
Diffstat (limited to 'net-misc/whois')
-rw-r--r-- | net-misc/whois/files/whois-4.7.19-gentoo-security.patch | 177 | ||||
-rw-r--r-- | net-misc/whois/files/whois-4.7.26-fix-as-needed.patch | 15 | ||||
-rw-r--r-- | net-misc/whois/whois-4.7.24.ebuild | 53 | ||||
-rw-r--r-- | net-misc/whois/whois-4.7.26.ebuild | 54 |
4 files changed, 0 insertions, 299 deletions
diff --git a/net-misc/whois/files/whois-4.7.19-gentoo-security.patch b/net-misc/whois/files/whois-4.7.19-gentoo-security.patch deleted file mode 100644 index c15cf935e1f1..000000000000 --- a/net-misc/whois/files/whois-4.7.19-gentoo-security.patch +++ /dev/null @@ -1,177 +0,0 @@ ---- whois-4.7.2/whois.c -+++ whois-4.7.2/whois.c -@@ -76,7 +76,7 @@ int main(int argc, char *argv[]) - /* RIPE flags */ - if (strchr(ripeflags, ch)) { - for (p = fstring; *p; p++); -- sprintf(p--, "-%c ", ch); -+ snprintf(p--, sizeof(fstring), "-%c ", ch); - continue; - } - if (strchr(ripeflagsp, ch)) { -@@ -121,7 +121,7 @@ int main(int argc, char *argv[]) - usage(); - - /* On some systems realloc only works on non-NULL buffers */ -- qstring = malloc(64); -+ qstring = xmalloc(64); - *qstring = '\0'; - - /* parse other parameters, if any */ -@@ -130,11 +130,11 @@ int main(int argc, char *argv[]) - - while (1) { - qslen += strlen(*argv) + 1 + 1; -- qstring = realloc(qstring, qslen); -- strcat(qstring, *argv++); -+ qstring = xrealloc(qstring, qslen); -+ strncat(qstring, *argv++, qslen-1); - if (argc == 1) - break; -- strcat(qstring, " "); -+ strncat(qstring, " ", qslen-1); - argc--; - } - } -@@ -428,8 +428,10 @@ char *queryformat(const char *server, co - char *buf; - int i, isripe = 0; - -+ /* buflen was always 0 in original patch and buf was allocated twice /Aye */ - /* 64 bytes reserved for server-specific flags added later */ -- buf = malloc(strlen(flags) + strlen(query) + strlen(client_tag) + 64); -+ int buflen = strlen(flags) + strlen(query) + strlen(client_tag) + 64; -+ buf = xmalloc(buflen); - *buf = '\0'; - for (i = 0; ripe_servers[i]; i++) - if (strcmp(server, ripe_servers[i]) == 0) { -@@ -442,7 +444,7 @@ char *queryformat(const char *server, co - if (*flags) { - if (!isripe && strcmp(server, "whois.corenic.net") != 0) - puts(_("Warning: RIPE flags used with a traditional server.")); -- strcat(buf, flags); -+ strncat(buf, flags, buflen-1); - } - - #ifdef HAVE_LIBIDN -@@ -451,28 +453,28 @@ char *queryformat(const char *server, co - */ - if (streq(server, "whois.denic.de") && domcmp(query, ".de") - && !strchr(query, ' ') && !*flags) -- sprintf(buf, "-T dn,ace -C US-ASCII %s", query); -+ snprintf(buf, buflen-1, "-T dn,ace -C US-ASCII %s", query); - else - /* here we have another registrar who could not make things simple - * -C sets the language for both input and output - */ - if (!isripe && streq(server, "whois.cat") && domcmp(query, ".cat") - && !strchr(query, ' ')) -- sprintf(buf, "-C US-ASCII ace %s", query); -+ snprintf(buf, buflen-1, "-C US-ASCII ace %s", query); - else - #endif - if (!isripe && (streq(server, "whois.nic.mil") || - streq(server, "whois.nic.ad.jp")) && - strncasecmp(query, "AS", 2) == 0 && isasciidigit(query[2])) - /* FIXME: /e is not applied to .JP ASN */ -- sprintf(buf, "AS %s", query + 2); /* fix query for DDN */ -+ snprintf(buf, buflen-1, "AS %s", query + 2); /* fix query for DDN */ - else if (!isripe && (streq(server, "whois.nic.ad.jp") || - streq(server, "whois.jprs.jp"))) { - char *lang = getenv("LANG"); /* not a perfect check, but... */ - if (!lang || !strneq(lang, "ja", 2)) -- sprintf(buf, "%s/e", query); /* ask for english text */ -+ snprintf(buf, buflen-1, "%s/e", query); /* ask for english text */ - else -- strcat(buf, query); -+ strncat(buf, query, buflen-1); - } else if (!isripe && streq(server, "whois.arin.net") && - (p = strrchr(query, '/'))) { - strncat(buf, query, p - query); /* strip CIDR */ -@@ -533,7 +535,7 @@ const char *do_query(const int sock, con - - if (sscanf(buf, REFERTO_FORMAT, nh, np, nq) == 3) { - /* XXX we are ignoring the new query string */ -- referral_server = malloc(300); -+ referral_server = xmalloc(300); - sprintf(referral_server, "%s:%s", nh, np); - } - } -@@ -582,7 +584,7 @@ const char *query_crsnic(const int sock, - int hide = hide_discl; - int state = 0; - -- temp = malloc(strlen(query) + 1 + 2 + 1); -+ temp = xmalloc(strlen(query) + 1 + 2 + 1); - *temp = '='; - strcpy(temp + 1, query); - strcat(temp, "\r\n"); -@@ -600,7 +602,7 @@ const char *query_crsnic(const int sock, - - for (p = buf; *p != ':'; p++); /* skip until colon */ - for (p++; *p == ' '; p++); /* skip colon and spaces */ -- ret = malloc(strlen(p) + 1); -+ ret = xmalloc(strlen(p) + 1); - for (q = ret; *p != '\n' && *p != '\r' && *p != ' '; *q++ = *p++) - ; /*copy data*/ - *q = '\0'; -@@ -625,7 +627,7 @@ const char *query_pir(const int sock, co - int hide = hide_discl; - int state = 0; - -- temp = malloc(strlen(query) + 5 + 2 + 1); -+ temp = xmalloc(strlen(query) + 5 + 2 + 1); - strcpy(temp, "FULL "); - strcat(temp, query); - strcat(temp, "\r\n"); -@@ -646,7 +648,7 @@ const char *query_pir(const int sock, co - for (p = buf; *p != ':'; p++); /* skip until colon */ - for (p++; *p != ':'; p++); /* skip until 2nd colon */ - for (p++; *p == ' '; p++); /* skip colon and spaces */ -- ret = malloc(strlen(p) + 1); -+ ret = xmalloc(strlen(p) + 1); - for (q = ret; *p != '\n' && *p != '\r'; *q++ = *p++); /*copy data*/ - *q = '\0'; - state = 2; -@@ -785,7 +787,7 @@ void split_server_port(const char *const - - char *convert_6to4(const char *s) - { -- char *new = malloc(sizeof("255.255.255.255")); -+ char *new = xmalloc(sizeof("255.255.255.255")); - unsigned int a, b; - - if (sscanf(s, "2002:%x:%x:", &a, &b) != 2) -@@ -848,6 +850,21 @@ void usage(void) - exit(0); - } - -+/* Memory allocation routines */ -+void *xmalloc(size_t size) -+{ -+ void *ptr; -+ if ((ptr = malloc(size)) == NULL) -+ err_sys("malloc"); -+ return ptr; -+} -+ -+void *xrealloc(void *ptr, size_t size) -+{ -+ if ((ptr = realloc(ptr, size)) == NULL) -+ err_sys("realloc"); -+ return ptr; -+} - - /* Error routines */ - void err_sys(const char *fmt, ...) ---- whois-4.7.2/whois.h -+++ whois-4.7.2/whois.h -@@ -32,6 +32,8 @@ const char *handle_query(const char *ser - void split_server_port(const char *const input, const char **server, - const char **port); - -+void *xmalloc(size_t); -+void *xrealloc(void *, size_t); - void err_quit(const char *,...); - void err_sys(const char *,...); - diff --git a/net-misc/whois/files/whois-4.7.26-fix-as-needed.patch b/net-misc/whois/files/whois-4.7.26-fix-as-needed.patch deleted file mode 100644 index 46e190749baf..000000000000 --- a/net-misc/whois/files/whois-4.7.26-fix-as-needed.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- Makefile 2008-05-05 14:32:24.000000000 +0200 -+++ Makefile 2008-05-05 14:33:24.000000000 +0200 -@@ -33,10 +33,10 @@ - $(CC) $(CFLAGS) $(OPTS) -c $< - - whois: whois.o utils.o -- $(CC) $(LDFLAGS) $(whois_LDADD) -o $@ $^ -+ $(CC) $(LDFLAGS) -o $@ $^ $(whois_LDADD) - - mkpasswd: mkpasswd.o utils.o -- $(CC) $(LDFLAGS) $(mkpasswd_LDADD) -o $@ $^ -+ $(CC) $(LDFLAGS) -o $@ $^ $(mkpasswd_LDADD) - - ############################################################################## - as_del.h: as_del_list make_as_del.pl diff --git a/net-misc/whois/whois-4.7.24.ebuild b/net-misc/whois/whois-4.7.24.ebuild deleted file mode 100644 index 71994f949b2f..000000000000 --- a/net-misc/whois/whois-4.7.24.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/whois/whois-4.7.24.ebuild,v 1.8 2008/01/10 09:14:01 vapier Exp $ - -inherit eutils toolchain-funcs - -MY_P=${P/-/_} -DESCRIPTION="improved Whois Client" -HOMEPAGE="http://www.linux.it/~md/software/" -SRC_URI="mirror://debian/pool/main/w/whois/${MY_P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd" -IUSE="nls" -RESTRICT="test" #59327 - -RDEPEND="net-dns/libidn" -DEPEND="${RDEPEND} - >=dev-lang/perl-5" - -src_unpack() { - unpack ${A} - cd "${S}" - epatch "${FILESDIR}"/${PN}-4.7.19-gentoo-security.patch - epatch "${FILESDIR}"/${PN}-4.7.2-config-file.patch - - if use nls ; then - cd po - sed -i -e "s:/usr/bin/install:install:" Makefile - else - sed -i -e '/ENABLE_NLS/s:define:undef:' config.h - sed -i -e "s:cd po.*::" Makefile - fi -} - -src_compile() { - tc-export CC - emake OPTS="${CFLAGS}" HAVE_LIBIDN=1 || die -} - -src_install() { - dodir /usr/bin /usr/share/man/man1 - make BASEDIR="${D}" prefix=/usr install || die - insinto /etc - doins whois.conf - dodoc README - - if [[ "${USERLAND}" != "GNU" ]]; then - mv "${D}"/usr/share/man/man1/{whois,mdwhois}.1 - mv "${D}"/usr/bin/{whois,mdwhois} - fi -} diff --git a/net-misc/whois/whois-4.7.26.ebuild b/net-misc/whois/whois-4.7.26.ebuild deleted file mode 100644 index 8d84fc526b1f..000000000000 --- a/net-misc/whois/whois-4.7.26.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/whois/whois-4.7.26.ebuild,v 1.5 2008/08/16 15:30:19 vapier Exp $ - -inherit eutils toolchain-funcs - -MY_P=${P/-/_} -DESCRIPTION="improved Whois Client" -HOMEPAGE="http://www.linux.it/~md/software/" -SRC_URI="mirror://debian/pool/main/w/whois/${MY_P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 s390 sh sparc x86 ~x86-fbsd" -IUSE="nls" -RESTRICT="test" #59327 - -RDEPEND="net-dns/libidn" -DEPEND="${RDEPEND} - >=dev-lang/perl-5" - -src_unpack() { - unpack ${A} - cd "${S}" - epatch "${FILESDIR}"/${PN}-4.7.26-gentoo-security.patch - epatch "${FILESDIR}"/${PN}-4.7.2-config-file.patch - epatch "${FILESDIR}/${PN}-4.7.26-fix-as-needed.patch" - - if use nls ; then - cd po - sed -i -e "s:/usr/bin/install:install:" Makefile - else - sed -i -e '/ENABLE_NLS/s:define:undef:' config.h - sed -i -e "s:cd po.*::" Makefile - fi -} - -src_compile() { - tc-export CC - emake OPTS="${CFLAGS}" HAVE_LIBIDN=1 || die -} - -src_install() { - dodir /usr/bin /usr/share/man/man1 - make BASEDIR="${D}" prefix=/usr install || die - insinto /etc - doins whois.conf - dodoc README - - if [[ "${USERLAND}" != "GNU" ]]; then - mv "${D}"/usr/share/man/man1/{whois,mdwhois}.1 - mv "${D}"/usr/bin/{whois,mdwhois} - fi -} |