diff options
author | Mike Frysinger <vapier@gentoo.org> | 2007-05-05 05:49:40 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2007-05-05 05:49:40 +0000 |
commit | 949a2321446203461711407f5d63c202dd300484 (patch) | |
tree | 8c2b64b226cb9cd94c4c9b8dece878ba2ae1059c /net-misc/rarpd | |
parent | Version bump #176600 by Nuno Lopes. (diff) | |
download | historical-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/ChangeLog | 13 | ||||
-rw-r--r-- | net-misc/rarpd/Manifest | 41 | ||||
-rw-r--r-- | net-misc/rarpd/files/digest-rarpd-1.1-r3 | 3 | ||||
-rw-r--r-- | net-misc/rarpd/files/rarpd-1.1-daemon.patch | 29 | ||||
-rw-r--r-- | net-misc/rarpd/files/rarpd-1.1-fix-packet-growth-bug246891.diff | 15 | ||||
-rw-r--r-- | net-misc/rarpd/files/rarpd-1.1-libnet.diff | 155 | ||||
-rw-r--r-- | net-misc/rarpd/files/rarpd-1.1-printf.diff | 13 | ||||
-rw-r--r-- | net-misc/rarpd/rarpd-1.1-r3.ebuild | 34 |
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 +} |