summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2007-05-05 05:49:40 +0000
committerMike Frysinger <vapier@gentoo.org>2007-05-05 05:49:40 +0000
commit949a2321446203461711407f5d63c202dd300484 (patch)
tree8c2b64b226cb9cd94c4c9b8dece878ba2ae1059c /net-misc/rarpd
parentVersion bump #176600 by Nuno Lopes. (diff)
downloadhistorical-949a2321446203461711407f5d63c202dd300484.tar.gz
historical-949a2321446203461711407f5d63c202dd300484.tar.bz2
historical-949a2321446203461711407f5d63c202dd300484.zip
Grab a bunch of fixes from SuSE #176558.
Package-Manager: portage-2.1.2.5
Diffstat (limited to 'net-misc/rarpd')
-rw-r--r--net-misc/rarpd/ChangeLog13
-rw-r--r--net-misc/rarpd/Manifest41
-rw-r--r--net-misc/rarpd/files/digest-rarpd-1.1-r33
-rw-r--r--net-misc/rarpd/files/rarpd-1.1-daemon.patch29
-rw-r--r--net-misc/rarpd/files/rarpd-1.1-fix-packet-growth-bug246891.diff15
-rw-r--r--net-misc/rarpd/files/rarpd-1.1-libnet.diff155
-rw-r--r--net-misc/rarpd/files/rarpd-1.1-printf.diff13
-rw-r--r--net-misc/rarpd/rarpd-1.1-r3.ebuild34
8 files changed, 297 insertions, 6 deletions
diff --git a/net-misc/rarpd/ChangeLog b/net-misc/rarpd/ChangeLog
index c79ead3f245e..d813b4e6cb0d 100644
--- a/net-misc/rarpd/ChangeLog
+++ b/net-misc/rarpd/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for net-misc/rarpd
-# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/rarpd/ChangeLog,v 1.14 2006/11/26 19:49:44 corsair Exp $
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/rarpd/ChangeLog,v 1.15 2007/05/05 05:49:40 vapier Exp $
+
+*rarpd-1.1-r3 (05 May 2007)
+
+ 05 May 2007; Mike Frysinger <vapier@gentoo.org>
+ +files/rarpd-1.1-daemon.patch,
+ +files/rarpd-1.1-fix-packet-growth-bug246891.diff,
+ +files/rarpd-1.1-libnet.diff, +files/rarpd-1.1-printf.diff,
+ +rarpd-1.1-r3.ebuild:
+ Grab a bunch of fixes from SuSE #176558.
26 Nov 2006; Markus Rothe <corsair@gentoo.org> rarpd-1.1-r2.ebuild:
Stable on ppc64
diff --git a/net-misc/rarpd/Manifest b/net-misc/rarpd/Manifest
index 3181c81ca4a8..bdb4282942bd 100644
--- a/net-misc/rarpd/Manifest
+++ b/net-misc/rarpd/Manifest
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX 1.1-daemon.patch 678 RMD160 c955528906c71e5e4a8b0764c9b1382ad4d47402 SHA1 1dcfdcd63877a87d0496ae00cb36d14e5bdd6246 SHA256 5a4b3e6d8da71e80b5369a875b36849e269ac4b6d9dc36e644fc834a805fc32b
MD5 b2e7b89b4346f002ca151f34bff15082 files/1.1-daemon.patch 678
RMD160 c955528906c71e5e4a8b0764c9b1382ad4d47402 files/1.1-daemon.patch 678
@@ -6,6 +9,22 @@ AUX 1.1-libnet-1.0.patch 2428 RMD160 7f643bae359676b0932bb0dc13d642c9d633181c SH
MD5 1db5831c32ce2ee5dc3cf38532019001 files/1.1-libnet-1.0.patch 2428
RMD160 7f643bae359676b0932bb0dc13d642c9d633181c files/1.1-libnet-1.0.patch 2428
SHA256 e482b1720b610e452edff22118a11b06b60b79b35f33ad15fc92d679f11885b2 files/1.1-libnet-1.0.patch 2428
+AUX rarpd-1.1-daemon.patch 678 RMD160 c955528906c71e5e4a8b0764c9b1382ad4d47402 SHA1 1dcfdcd63877a87d0496ae00cb36d14e5bdd6246 SHA256 5a4b3e6d8da71e80b5369a875b36849e269ac4b6d9dc36e644fc834a805fc32b
+MD5 b2e7b89b4346f002ca151f34bff15082 files/rarpd-1.1-daemon.patch 678
+RMD160 c955528906c71e5e4a8b0764c9b1382ad4d47402 files/rarpd-1.1-daemon.patch 678
+SHA256 5a4b3e6d8da71e80b5369a875b36849e269ac4b6d9dc36e644fc834a805fc32b files/rarpd-1.1-daemon.patch 678
+AUX rarpd-1.1-fix-packet-growth-bug246891.diff 455 RMD160 6fe4565e3358b2be2a8c433db578c3a7ef63bf67 SHA1 c0284a218846babd4925ad06200d3a23a0571de2 SHA256 93a401bfacb5418a1675fceae3a69162e9a1a1244c2a38187b2736db3515aede
+MD5 cc88e0fa46161fc4e6e3b2b23a3b6cfc files/rarpd-1.1-fix-packet-growth-bug246891.diff 455
+RMD160 6fe4565e3358b2be2a8c433db578c3a7ef63bf67 files/rarpd-1.1-fix-packet-growth-bug246891.diff 455
+SHA256 93a401bfacb5418a1675fceae3a69162e9a1a1244c2a38187b2736db3515aede files/rarpd-1.1-fix-packet-growth-bug246891.diff 455
+AUX rarpd-1.1-libnet.diff 4375 RMD160 2735c770b52628c23bc46f9f22d87c8f0d2d700a SHA1 5a8c42b23e1ed5f9a11f43404a1c4a2260988d45 SHA256 c7665a21d3b59611f29a74bf20d3501287a2030fd49e033a334f114c3b7e0384
+MD5 2e5cf5a632d7c556adca0e753ccd4eda files/rarpd-1.1-libnet.diff 4375
+RMD160 2735c770b52628c23bc46f9f22d87c8f0d2d700a files/rarpd-1.1-libnet.diff 4375
+SHA256 c7665a21d3b59611f29a74bf20d3501287a2030fd49e033a334f114c3b7e0384 files/rarpd-1.1-libnet.diff 4375
+AUX rarpd-1.1-printf.diff 235 RMD160 32a67577498e9a5083090214bf69324eb9c2d2b6 SHA1 35ba29b63c4e9913be8dcfb2b7e2d3534f886213 SHA256 e2267847de73c9a07c259513c5ac6904570fd8e9e794ca742cb7d307fb4914e1
+MD5 30ec848afd94b3d019daff9dbfd4cff3 files/rarpd-1.1-printf.diff 235
+RMD160 32a67577498e9a5083090214bf69324eb9c2d2b6 files/rarpd-1.1-printf.diff 235
+SHA256 e2267847de73c9a07c259513c5ac6904570fd8e9e794ca742cb7d307fb4914e1 files/rarpd-1.1-printf.diff 235
AUX rarpd.conf.d 310 RMD160 9d9f5fd0ac1a335b76598c09cf8b16aa4f8752b2 SHA1 bd9d651a7612534e10764fe8b8cc56bac5ccff39 SHA256 e335b30861a11f5644f2101a3f51df0aa26d8399fa709c52080d028927851d71
MD5 40f2763a6c0a2c8469daa2fd46752149 files/rarpd.conf.d 310
RMD160 9d9f5fd0ac1a335b76598c09cf8b16aa4f8752b2 files/rarpd.conf.d 310
@@ -19,10 +38,14 @@ EBUILD rarpd-1.1-r2.ebuild 920 RMD160 37ac2d4101c07e39676e4e15fb0ba43a57746929 S
MD5 b1b38a0ede290b82b10858fa9f84ea77 rarpd-1.1-r2.ebuild 920
RMD160 37ac2d4101c07e39676e4e15fb0ba43a57746929 rarpd-1.1-r2.ebuild 920
SHA256 47c05ff685cef02ba3a86e8f39edde20dac4bc73d1da51714e5ae2572b09998f rarpd-1.1-r2.ebuild 920
-MISC ChangeLog 1480 RMD160 f6eb4da21bdde057f1cee82cad48e39d92f40360 SHA1 73ac9ab6f8c374118ab4a6ff3606976c4b628715 SHA256 9d2ee79ffa5ef7aa2586090c4cbd1212da38e070ab54dc0e0369bb8c1c2ab5be
-MD5 0cb806abfeeb6d5419c44a93051e049e ChangeLog 1480
-RMD160 f6eb4da21bdde057f1cee82cad48e39d92f40360 ChangeLog 1480
-SHA256 9d2ee79ffa5ef7aa2586090c4cbd1212da38e070ab54dc0e0369bb8c1c2ab5be ChangeLog 1480
+EBUILD rarpd-1.1-r3.ebuild 941 RMD160 b0ea6b09ffdce9173eb150a91975337ec5bafa66 SHA1 577784e847768b6a56415cd13706d321ab3538bd SHA256 7caec77afa9c4e7c8158e70c76281bd29d46687081b5d7528760967b0634d29f
+MD5 767ca56eef396bbc92099eeb70c840f2 rarpd-1.1-r3.ebuild 941
+RMD160 b0ea6b09ffdce9173eb150a91975337ec5bafa66 rarpd-1.1-r3.ebuild 941
+SHA256 7caec77afa9c4e7c8158e70c76281bd29d46687081b5d7528760967b0634d29f rarpd-1.1-r3.ebuild 941
+MISC ChangeLog 1774 RMD160 b4253186c62cfaedaaf5b44c94872e80039dce74 SHA1 77b97e97397f2cfc42098c8b43e8b407096611b4 SHA256 175f03ade4ac3f21f789a4bb3111199d9d11bd15ebd89a3d4cfc7d8e689a6139
+MD5 9692d2b459a4051dd95c8e87b99d2ab0 ChangeLog 1774
+RMD160 b4253186c62cfaedaaf5b44c94872e80039dce74 ChangeLog 1774
+SHA256 175f03ade4ac3f21f789a4bb3111199d9d11bd15ebd89a3d4cfc7d8e689a6139 ChangeLog 1774
MISC metadata.xml 314 RMD160 25181cde297628576a9545bea3a76601485bfaf3 SHA1 ac16b621acf5a22b64859e3323d466fb556fc4c8 SHA256 736baab77aea9c4da199c01e3cd6877c271bd02357ff9b41b537a2232c6e96d7
MD5 38cacf4270b8a100918bf328ed9154d3 metadata.xml 314
RMD160 25181cde297628576a9545bea3a76601485bfaf3 metadata.xml 314
@@ -30,3 +53,13 @@ SHA256 736baab77aea9c4da199c01e3cd6877c271bd02357ff9b41b537a2232c6e96d7 metadata
MD5 d459a7673dcd7bc6021c90329726b9df files/digest-rarpd-1.1-r2 226
RMD160 8f840904f1476cdc3c45e943ed3ee231469209ed files/digest-rarpd-1.1-r2 226
SHA256 cbab6b3b8878499d10df6f2102c0c2ed15f6a6e14949ca729e4cfa472aa6a019 files/digest-rarpd-1.1-r2 226
+MD5 d459a7673dcd7bc6021c90329726b9df files/digest-rarpd-1.1-r3 226
+RMD160 8f840904f1476cdc3c45e943ed3ee231469209ed files/digest-rarpd-1.1-r3 226
+SHA256 cbab6b3b8878499d10df6f2102c0c2ed15f6a6e14949ca729e4cfa472aa6a019 files/digest-rarpd-1.1-r3 226
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.3 (GNU/Linux)
+
+iD8DBQFGPBsO8bi6rjpTunYRAhZnAKC29dRbhf6Wjjg9dAXIZyImHsN3HgCfSR46
+OnhxZj3YvEVz+wDkvZ0qT6o=
+=KHkG
+-----END PGP SIGNATURE-----
diff --git a/net-misc/rarpd/files/digest-rarpd-1.1-r3 b/net-misc/rarpd/files/digest-rarpd-1.1-r3
new file mode 100644
index 000000000000..db382189f425
--- /dev/null
+++ b/net-misc/rarpd/files/digest-rarpd-1.1-r3
@@ -0,0 +1,3 @@
+MD5 04e2ca849e758d0b88c8281775ec3b58 rarpd-1.1.tar.gz 32053
+RMD160 107c38c5d349885c838a756552ff553b0f7a9390 rarpd-1.1.tar.gz 32053
+SHA256 936dc37422b658a8db98cd1d4d6b9fac63e13ac3fdc036e33dde996843baeba6 rarpd-1.1.tar.gz 32053
diff --git a/net-misc/rarpd/files/rarpd-1.1-daemon.patch b/net-misc/rarpd/files/rarpd-1.1-daemon.patch
new file mode 100644
index 000000000000..7a2d68b856f8
--- /dev/null
+++ b/net-misc/rarpd/files/rarpd-1.1-daemon.patch
@@ -0,0 +1,29 @@
+--- rarpd.c.orig 2003-11-03 22:10:41.000304928 -0500
++++ rarpd.c 2003-11-03 22:13:52.683164704 -0500
+@@ -429,12 +429,25 @@
+ openlog(program_name, syslogflags, LOG_LOCAL1);
+
+ if (!nofork) {
++ FILE *pidfile;
+ pid = fork();
+- if (pid > 0) exit(0);
+ if (pid < 0) {
+ syslog(LOG_ERR, "%s: fork failed: %s", program_name, strerror(errno));
+ exit(1);
+ }
++ if (pid) {
++ pidfile = fopen("/var/run/rarpd.pid", "w");
++ if (pidfile) {
++ fprintf(pidfile, "%i", pid);
++ fclose(pidfile);
++ } else
++ perror("Could not write pidfile");
++ exit(0);
++ }
++ chdir("/");
++ close(0);
++ close(1);
++ close(2);
+ }
+
+ if (ethers == NULL) ethers = _PATH_ETHERS;
diff --git a/net-misc/rarpd/files/rarpd-1.1-fix-packet-growth-bug246891.diff b/net-misc/rarpd/files/rarpd-1.1-fix-packet-growth-bug246891.diff
new file mode 100644
index 000000000000..a020a0974d2c
--- /dev/null
+++ b/net-misc/rarpd/files/rarpd-1.1-fix-packet-growth-bug246891.diff
@@ -0,0 +1,15 @@
+http://bugs.gentoo.org/176558
+
+ripped from suse's rarpd-1.1-631.src.rpm:
+* Wed Apr 18 2007 - nadvornik@suse.cz
+- fixed unlimited packet growth [#246891]
+
+--- rarpd.c.orig 2007-02-21 11:41:25.099136000 +0100
++++ rarpd.c 2007-02-21 12:39:49.837404920 +0100
+@@ -307,6 +307,8 @@ void send_rarpreply(unsigned char *dest_
+ syslog(LOG_ERR, "%s: Write error: %s", program_name, libnet_geterror(ld));
+ exit(1);
+ }
++
++ libnet_clear_packet(ld);
+ }
diff --git a/net-misc/rarpd/files/rarpd-1.1-libnet.diff b/net-misc/rarpd/files/rarpd-1.1-libnet.diff
new file mode 100644
index 000000000000..c395309b130f
--- /dev/null
+++ b/net-misc/rarpd/files/rarpd-1.1-libnet.diff
@@ -0,0 +1,155 @@
+ripped from suse
+
+--- rarpd.c
++++ rarpd.c
+@@ -65,18 +65,12 @@
+ #define ETHERSTRLEN sizeof("00:00:00:00:00:00")
+ #define IPSTRLEN sizeof(".xxx.xxx.xxx.xxx")
+
+-#ifdef NEW_LIBNET_INTERFACE
+-#define open_link_interface libnet_open_link_interface
+-#define link_int libnet_link_int
+-#define build_arp libnet_build_arp
+-#define get_ipaddr libnet_get_ipaddr
+-#define get_hwaddr libnet_get_hwaddr
+-#define build_ethernet libnet_build_ethernet
+-#define write_link_layer libnet_write_link_layer
+-
+-/* Temporary workaround */
+-#define ARP_H LIBNET_ARP_H
+-#endif
++struct _ipv4_arp_data_ {
++ u_char ar_sha[6]; /* sender hardware address */
++ u_char ar_spa[4]; /* sender protocol address */
++ u_char ar_tha[6]; /* target hardware address */
++ u_char ar_tpa[4]; /* target protocol address */
++};
+
+ extern char pcap_version[];
+ extern int optind;
+@@ -88,7 +82,7 @@
+ static char *program_name;
+
+ static pcap_t *pd;
+-static struct link_int *ln;
++static libnet_t *ld;
+ static char *device, *ethers;
+ struct in_addr my_ipaddr;
+ static u_char my_hwaddr[ETHERADDRLEN];
+@@ -285,23 +279,34 @@
+ void send_rarpreply(unsigned char *dest_hwaddr,
+ unsigned char *her_hwaddr, struct in_addr *her_ipaddr)
+ {
+- char ebuf[PCAP_ERRBUF_SIZE];
+- u_char buf[ARP_H+ETH_H];
+-
+- memset(buf, 0, ARP_H + ETH_H);
+-
+- /* Ethernet header */
+- build_ethernet(dest_hwaddr, my_hwaddr, ETHERTYPE_REVARP, NULL, 0, buf);
++ int c;
++ libnet_ptag_t t;
+
+ /* ARP header */
+- build_arp(ARPHRD_ETHER, ETHERTYPE_IP,
++ t = libnet_build_arp(ARPHRD_ETHER, ETHERTYPE_IP,
+ ETHERADDRLEN, IPADDRLEN,
+ ARPOP_REVREPLY,
+ my_hwaddr, (u_char *)&(my_ipaddr.s_addr),
+ her_hwaddr, (u_char *)&(her_ipaddr->s_addr),
+- NULL, 0, buf + ETH_H);
++ NULL, 0, ld, 0);
++ if (t == -1) {
++ syslog(LOG_ERR, "%s: Can't build ARP header: %s", program_name, libnet_geterror(ld));
++ exit(1);
++ }
+
+- write_link_layer(ln, (const u_char *)device, buf, ARP_H + ETH_H);
++ /* Ethernet header */
++ t = libnet_build_ethernet(dest_hwaddr, my_hwaddr, ETHERTYPE_REVARP, NULL, 0, ld, 0);
++ if (t == -1) {
++ syslog(LOG_ERR, "%s: Can't build ethernet header: %s", program_name,
++ libnet_geterror(ld));
++ exit(1);
++ }
++
++ c = libnet_write(ld);
++ if (c == -1) {
++ syslog(LOG_ERR, "%s: Write error: %s", program_name, libnet_geterror(ld));
++ exit(1);
++ }
+ }
+
+
+@@ -314,11 +319,13 @@
+ unsigned short pro, hrd, op;
+ struct in_addr her_ipaddr;
+ struct libnet_arp_hdr *ap;
++ struct _ipv4_arp_data_ *ad;
+ struct hostent *hp;
+ char *ipp;
+
+ bp += sizeof(struct libnet_ethernet_hdr);
+ ap = (struct libnet_arp_hdr *)bp;
++ ad = (struct _ipv4_arp_data_ *)(bp + sizeof(*ap));
+
+ pro = EXTRACT_16BITS (&ap->ar_pro);
+ hrd = EXTRACT_16BITS (&ap->ar_hrd);
+@@ -331,10 +338,10 @@
+ /* We only answer RARP requests */
+ if (op != ARPOP_REVREQUEST) return;
+
+- sha = ap->ar_sha;
+- spa = ap->ar_spa;
+- tha = ap->ar_tha;
+- tpa = ap->ar_tpa;
++ sha = ad->ar_sha;
++ spa = ad->ar_spa;
++ tha = ad->ar_tha;
++ tpa = ad->ar_tpa;
+
+ if (my_ether_ntohost(toret, tha)) {
+ if (vflag) {
+@@ -399,6 +406,7 @@
+ int nofork, op, pid, syslogflags;
+ bpf_u_int32 localnet, netmask;
+ char ebuf[PCAP_ERRBUF_SIZE];
++ char errbuf[LIBNET_ERRBUF_SIZE];
+ char *cmdbuf;
+ struct bpf_program fcode;
+
+@@ -446,9 +454,9 @@
+ }
+ }
+
+- ln = open_link_interface(device, ebuf);
+- if (ln == NULL) {
+- syslog(LOG_ERR, "%s: %s", program_name, ebuf);
++ ld = libnet_init(LIBNET_LINK, device, errbuf);
++ if (ld == NULL) {
++ syslog(LOG_ERR, "%s: %s", program_name, errbuf);
+ exit(1);
+ }
+
+@@ -465,8 +473,8 @@
+ }
+
+ memset(&my_ipaddr, 0, sizeof(my_ipaddr));
+- my_ipaddr.s_addr = htonl(get_ipaddr(ln, device, ebuf));
+- memcpy(my_hwaddr, (char *)get_hwaddr(ln, device, ebuf), ETHERADDRLEN);
++ my_ipaddr.s_addr = libnet_get_ipaddr4(ld);
++ memcpy(my_hwaddr, (char *) libnet_get_hwaddr(ld), ETHERADDRLEN);
+
+ setuid(getuid());
+
+--- configure
++++ configure
+@@ -1734,7 +1734,7 @@
+ #include "confdefs.h"
+
+ int main() {
+-libnet_open_link_interface("","");
++libnet_open_link("","");
+ ; return 0; }
+ EOF
+ if { (eval echo configure:1741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
diff --git a/net-misc/rarpd/files/rarpd-1.1-printf.diff b/net-misc/rarpd/files/rarpd-1.1-printf.diff
new file mode 100644
index 000000000000..76e49469e0e5
--- /dev/null
+++ b/net-misc/rarpd/files/rarpd-1.1-printf.diff
@@ -0,0 +1,13 @@
+ripped from suse
+
+--- rarpd.c
++++ rarpd.c
+@@ -238,7 +238,7 @@
+ }
+
+ fclose(f);
+- if (dflag) fprintf(stderr, "Not found\n", hostname);
++ if (dflag) fprintf(stderr, "Not found: %s\n", hostname);
+ errno = ENOENT;
+ return -1;
+ }
diff --git a/net-misc/rarpd/rarpd-1.1-r3.ebuild b/net-misc/rarpd/rarpd-1.1-r3.ebuild
new file mode 100644
index 000000000000..e47d9a1d1588
--- /dev/null
+++ b/net-misc/rarpd/rarpd-1.1-r3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/rarpd/rarpd-1.1-r3.ebuild,v 1.1 2007/05/05 05:49:40 vapier Exp $
+
+inherit eutils
+
+DESCRIPTION="Reverse Address Resolution Protocol Daemon"
+HOMEPAGE="ftp://ftp.dementia.org/pub/net-tools"
+SRC_URI="ftp://ftp.dementia.org/pub/net-tools/${P}.tar.gz"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND=">=net-libs/libnet-1.1
+ net-libs/libpcap"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-daemon.patch
+ epatch "${FILESDIR}"/${P}-libnet.diff
+ epatch "${FILESDIR}"/${P}-fix-packet-growth-bug246891.diff #176558
+ epatch "${FILESDIR}"/${P}-printf.diff
+}
+
+src_install() {
+ dosbin rarpd || die
+ doman rarpd.8
+ dodoc AUTHORS README TODO VERSION INSTALL
+ newconfd "${FILESDIR}"/rarpd.conf.d rarpd
+ newinitd "${FILESDIR}"/rarpd.init.d rarpd
+}