diff options
author | itojun <itojun@pkgsrc.org> | 2002-11-09 02:23:22 +0000 |
---|---|---|
committer | itojun <itojun@pkgsrc.org> | 2002-11-09 02:23:22 +0000 |
commit | 488b0f2b987ca4edca4cf6e8c9a93aeb1850f8d1 (patch) | |
tree | f229e7ac3a0e956bbe0034d1f33ac00932e3d35f /net/choparp/patches | |
parent | 1fbfa822f59c743685daeaf82369576afb6084f6 (diff) | |
download | pkgsrc-488b0f2b987ca4edca4cf6e8c9a93aeb1850f8d1.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/patches')
-rw-r--r-- | net/choparp/patches/patch-aa | 94 | ||||
-rw-r--r-- | net/choparp/patches/patch-ac | 73 |
2 files changed, 13 insertions, 154 deletions
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)){ |