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

Reply via email to