On Thu, Aug 26, 2010 at 02:26:02PM +0200, Claudio Jeker wrote:
> On Thu, Aug 26, 2010 at 08:51:50PM +1000, Jonathan Gray wrote:
> > On Thu, Aug 26, 2010 at 12:34:19AM +1000, Jonathan Gray wrote:
> > > Currently rarpd can only listen on all or one interface, the
> > > following lets multiple interfaces be specified like dhcpd.
> >
> > previous diff missed usage as pointed out by sthen/jmc
> >
>
> Looks right but take that with a grain of salt since it is IPv6 stuff and
> I have no clue about all the IPv6 evilness.
>
Ugh, I start to see pink elephants and IPv6 in places where there isn't. I
think I should go and see a doctor :)
Diff still looks OK.
> > Index: rarpd.8
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/rarpd/rarpd.8,v
> > retrieving revision 1.17
> > diff -u -p -r1.17 rarpd.8
> > --- rarpd.8 23 May 2008 15:23:53 -0000 1.17
> > +++ rarpd.8 26 Aug 2010 10:49:47 -0000
> > @@ -30,11 +30,11 @@
> > .Sh SYNOPSIS
> > .Nm rarpd
> > .Op Fl adflt
> > -.Ar interface
> > +.Ar if0 Op Ar ... ifN
> > .Sh DESCRIPTION
> > .Nm
> > services Reverse ARP requests on the Ethernet connected to
> > -.Ar interface .
> > +the specified interfaces.
> > Upon receiving a request,
> > .Nm
> > maps the target hardware address to an IP address via its name, which
> > @@ -58,9 +58,7 @@ The options are as follows:
> > Listen on all the Ethernets attached to the system.
> > If
> > .Fl a
> > -is omitted, an
> > -.Ar interface
> > -must be specified.
> > +is omitted, a list of interfaces must be specified.
> > .It Fl d
> > Run in debug mode, with all the output to stderr.
> > This option implies the
> > Index: rarpd.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/rarpd/rarpd.c,v
> > retrieving revision 1.49
> > diff -u -p -r1.49 rarpd.c
> > --- rarpd.c 27 Oct 2009 23:59:54 -0000 1.49
> > +++ rarpd.c 26 Aug 2010 10:49:47 -0000
> > @@ -134,14 +134,20 @@ main(int argc, char *argv[])
> > /* NOTREACHED */
> > }
> > }
> > - ifname = argv[optind++];
> > - if ((aflag && ifname) || (!aflag && ifname == 0))
> > + argc -= optind;
> > + argv += optind;
> > +
> > + if ((aflag && argc > 0) || (!aflag && argc == 0))
> > usage();
> >
> > if (aflag)
> > init_all();
> > else
> > - init_one(ifname);
> > + while (argc > 0) {
> > + init_one(argv[0]);
> > + argc--;
> > + argv++;
> > + }
> >
> > if ((!fflag) && (!dflag)) {
> > pid = fork();
> > @@ -247,7 +253,7 @@ init_all(void)
> > void
> > usage(void)
> > {
> > - (void) fprintf(stderr, "usage: rarpd [-adflt] interface\n");
> > + (void) fprintf(stderr, "usage: rarpd [-adflt] if0 [... ifN]\n");
> > exit(1);
> > }
> >
>
> --
> :wq Claudio
>
--
:wq Claudio