diff options
author | itojun <itojun> | 2002-11-09 02:23:22 +0000 |
---|---|---|
committer | itojun <itojun> | 2002-11-09 02:23:22 +0000 |
commit | 9d3a7a79ab76b0afcb94486af3ac5d0b790e3722 (patch) | |
tree | f229e7ac3a0e956bbe0034d1f33ac00932e3d35f /net/choparp | |
parent | 39eb078136ff67fadbebadb3dea4badff0aabfec (diff) | |
download | pkgsrc-9d3a7a79ab76b0afcb94486af3ac5d0b790e3722.tar.gz |
upgrade to 20021107.
- moved to sourceforge, maintainer changed
- manpage included in main distrib
- select(2) code included in main distrib
- multiple address range support
Diffstat (limited to 'net/choparp')
-rw-r--r-- | net/choparp/Makefile | 17 | ||||
-rw-r--r-- | net/choparp/distinfo | 9 | ||||
-rw-r--r-- | net/choparp/patches/patch-aa | 94 | ||||
-rw-r--r-- | net/choparp/patches/patch-ac | 73 |
4 files changed, 21 insertions, 172 deletions
diff --git a/net/choparp/Makefile b/net/choparp/Makefile index b1f5f54aed9..23d9c239822 100644 --- a/net/choparp/Makefile +++ b/net/choparp/Makefile @@ -1,23 +1,14 @@ -# $NetBSD: Makefile,v 1.4 2002/07/30 12:41:25 wiz Exp $ -# New ports collection makefile for: choparp -# Version required: 971007 -# Date created: 7 October 1997 -# Whom: itojun@itojun.org -# -# FreeBSD: ports/net/choparp/Makefile,v 1.3 1999/08/30 14:22:16 peter Exp +# $NetBSD: Makefile,v 1.5 2002/11/09 02:23:22 itojun Exp $ # -DISTNAME= choparp-971007 -PKGREVISION= 1 +DISTNAME= choparp-20021107 CATEGORIES= net -MASTER_SITES= http://delegate.uec.ac.jp:8081/club/mma/~tree/soft/choparp/ +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=choparp/} MAINTAINER= dbj@netbsd.org -HOMEPAGE= http://delegate.uec.ac.jp:8081/club/mma/~tree/soft/\#CHOPARP +HOMEPAGE= http://choparp.sf.net/ COMMENT= Simple proxy arp daemon MANCOMPRESSED_IF_MANZ= yes -WRKSRC= ${WRKDIR}/choparp - .include "../../mk/bsd.pkg.mk" diff --git a/net/choparp/distinfo b/net/choparp/distinfo index 61d7c29d047..435d1023cbb 100644 --- a/net/choparp/distinfo +++ b/net/choparp/distinfo @@ -1,7 +1,6 @@ -$NetBSD: distinfo,v 1.3 2002/07/30 12:41:26 wiz Exp $ +$NetBSD: distinfo,v 1.4 2002/11/09 02:23:22 itojun Exp $ -SHA1 (choparp-971007.tar.gz) = 3d21072d36a28632a9bf2e5f4d2cdf24e51959a9 -Size (choparp-971007.tar.gz) = 4462 bytes -SHA1 (patch-aa) = 352101cba36d4797a4f4026f05bc2134ef7d7eeb +SHA1 (choparp-20021107.tar.gz) = 1b83f967c46ec466513447b10b4a98371301f504 +Size (choparp-20021107.tar.gz) = 6687 bytes +SHA1 (patch-aa) = 94dbd0c5b97acd28b0229e6bc4499d107f6051d5 SHA1 (patch-ab) = f84b37123897111c4b9e6f7ad4437c5ac7682b27 -SHA1 (patch-ac) = 570fcb3f25cd037092b87377107ae6b7894333c2 diff --git a/net/choparp/patches/patch-aa b/net/choparp/patches/patch-aa index 44e3f4e9fdd..397d731a0ec 100644 --- a/net/choparp/patches/patch-aa +++ b/net/choparp/patches/patch-aa @@ -1,82 +1,14 @@ -$NetBSD: patch-aa,v 1.2 1999/09/12 18:54:27 dbj Exp $ +$NetBSD: patch-aa,v 1.3 2002/11/09 02:23:23 itojun Exp $ ---- /dev/null Wed Oct 8 06:50:58 1997 -+++ choparp.8 Tue Oct 7 23:34:42 1997 -@@ -0,0 +1,77 @@ -+.\" Copyright (c) 1997 by Takamichi Tateoka. All rights reserved. -+.\" -+.\" Redistribution and use in source and binary forms, with or without -+.\" modification, are permitted provided that the following conditions -+.\" are met: -+.\" 1. Redistributions of source code must retain the above copyright -+.\" notice, this list of conditions and the following disclaimer. -+.\" 2. Redistributions in binary form must reproduce the above copyright -+.\" notice, this list of conditions and the following disclaimer in the -+.\" documentation and/or other materials provided with the distribution. -+.\" 3. All advertising materials mentioning features or use of this software -+.\" must display the following acknowledgement: -+.\" This product includes software developed by Takamichi Tateoka. -+.\" 4. Neither the name of the author may be used to endorse or promote -+.\" products derived from this software without specific prior -+.\" written permission. -+.\" -+.\" THIS SOFTWARE IS PROVIDED BY TAKAMICHI TATEOKA ``AS IS'' AND -+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+.\" SUCH DAMAGE. -+.\" -+.Dd October 7, 1997 -+.Dt CHOPARP 8 -+.Os -+.Sh NAME -+.Nm choparp -+.Nd cheap and omitted proxy arp -+.Sh SYNOPSIS -+.Nm chpoarp -+.Ar if_name mac_addr net_addr net_mask -+.Sh DESCRIPTION -+.Pp -+.Nm choparp -+is a easy-to-use proxy arp daemon. -+It watches arp request packets visible on the interface specified by argument -+.Ar if_name , -+and sends proxy arp reply to the sender if the arp request queries the -+MAC address (ethernet hardware address) for the network speicified by -+.Ar net_addr -+and -+.Ar net_mask . -+.Pp -+.Ar mac_addr -+has to be the MAC address assigned to the interface -+.Ar if_name . -+The format of -+.Ar mac_addr -+must be 6 bytes of hexadecimal value, separated by colons (":") ; -+for example, "00:00:01:01:14:46". -+The format of -+.Ar net_addr -+and -+.Ar net_mask -+must be dot notation (say, 133.138.1.134) or 32bit hexadecimal value -+starting with "0x" (say, 0x858a0186). -+.Sh EXAMPLES -+If you have network interface "ne0" with MAC address "00:00:01:01:14:16", -+and would like to send proxy arp reply for 192.168.0.64/26, -+the argument would be as follows: -+.Bd -literal -offset indent -+choparp ne0 00:00:01:01:14:46 192.168.0.64 255.255.255.192 -+.Ed -+.Sh BUGS -+Supports ethernet interfaces only. -+Handles single interface at a time. -+(you can start multiple -+.Nm choparp -+for multiple interfaces, though) -+MAC address should be automatically detected. +--- choparp.8- Fri Nov 8 11:39:36 2002 ++++ choparp.8 Fri Nov 8 11:40:26 2002 +@@ -102,4 +102,8 @@ + .Sh BUGS + Supports Ethernet interfaces only. + Handles single interface at a time. +-.Pq you can start multiple Nm choparp No for multiple interfaces, though . ++.Po ++you can start multiple ++.Nm ++for multiple interfaces, though ++.Pc . diff --git a/net/choparp/patches/patch-ac b/net/choparp/patches/patch-ac deleted file mode 100644 index cbdb03d7490..00000000000 --- a/net/choparp/patches/patch-ac +++ /dev/null @@ -1,73 +0,0 @@ -$NetBSD: patch-ac,v 1.5 2002/07/30 12:41:26 wiz Exp $ - ---- choparp.c.orig Tue Oct 7 11:29:46 1997 -+++ choparp.c -@@ -12,6 +12,9 @@ - #include <stdio.h> - #include <unistd.h> - #include <string.h> -+#ifdef __NetBSD__ -+# include <stdlib.h> /* malloc() */ -+#endif - #include <sys/types.h> - #include <fcntl.h> - #include <sys/time.h> -@@ -24,6 +27,7 @@ - #include <netinet/if_ether.h> - #include <sys/param.h> - #include <errno.h> -+#include <assert.h> - - #define BPFFILENAME "/dev/bpf%d" /* bpf file template */ - #ifndef NBPFILTER /* number of available bpf */ -@@ -180,7 +184,7 @@ checkarp(char *arpbuf){ - fprintf(stderr,"checkarp: WARNING: received unknown type ARP request.\n"); - return(0); - } -- target_ip = ntohl(*(u_long *)(arp->arp_tpa)); -+ target_ip = ntohl(*(u_int32_t *)(arp->arp_tpa)); - if ((target_ip & target_mask) == target_net) - return(-1); /* OK */ - return(0); -@@ -217,20 +221,35 @@ gen_arpreply(char *arpbuf, size_t *rlen) - - void - loop(int fd, char *buf, size_t buflen){ -- size_t rlen; -+ ssize_t rlen; - char *p, *nextp; - size_t nextlen; - char *rframe; - size_t rframe_len; - char *sframe; - size_t sframe_len; -+ fd_set fdset; -+ -+ FD_ZERO(&fdset); -+ FD_SET(fd,&fdset); - - for(;;){ -- if ((rlen = read(fd, buf, buflen)) <= 0){ -- fprintf(stderr,"loop: read: %s\n", strerror(errno)); -- /* XXX: restart itself if daemon mode */ -- return; -- } -+ int r; -+ r = select(fd+1,&fdset, 0, 0, 0); -+ if ((r < 0) && (errno == EINTR)) continue; -+ if (r < 0) { -+ perror("select"); -+ return; -+ } -+ assert(r == 1); -+ -+ rlen = read(fd, buf, buflen); -+ if ((rlen < 0) && (errno = EINTR)) continue; -+ if (rlen < 0) { -+ perror("loop: read"); -+ return; -+ } -+ - p = buf; - while((rframe = getarp(p, rlen, &nextp, &nextlen)) != NULL){ - if (checkarp(rframe)){ |