was going to say the same, with either of these, ok nicm
On Sat, Jul 07, 2012 at 04:33:45PM +0300, Lazaros Koromilas wrote:
> On Sat, Jul 07, 2012 at 07:34:28AM -0300, Christiano F. Haesbaert wrote:
> > How about this one ?
> > It's your original idea, but I don't like that extra indentation level,
> > we are already too deep.
>
> Yes, less identation is always good! The "multiple hosts" part
> in the manpage could become one of the following, but it's clear
> enough already.
>
> "[...] and it can receive UDP datagrams from multiple hosts."
> "[...] and it receives all UDP datagrams arriving at the port."
>
> >
> >
> > Index: nc.1
> > ===================================================================
> > RCS file: /cvs/src/usr.bin/nc/nc.1,v
> > retrieving revision 1.60
> > diff -d -u -p -r1.60 nc.1
> > --- nc.1 7 Feb 2012 12:11:43 -0000 1.60
> > +++ nc.1 7 Jul 2012 10:30:10 -0000
> > @@ -119,6 +119,10 @@ is completed.
> > It is an error to use this option without the
> > .Fl l
> > option.
> > +When used together with the
> > +.Fl u
> > +option, the server socket is not connected and it receives UDP datagrams
> > from
> > +multiple hosts.
> > .It Fl l
> > Used to specify that
> > .Nm
> > Index: netcat.c
> > ===================================================================
> > RCS file: /cvs/src/usr.bin/nc/netcat.c,v
> > retrieving revision 1.108
> > diff -d -u -p -r1.108 netcat.c
> > --- netcat.c 7 Jul 2012 09:36:30 -0000 1.108
> > +++ netcat.c 7 Jul 2012 10:30:11 -0000
> > @@ -345,11 +345,17 @@ main(int argc, char *argv[])
> > if (s < 0)
> > err(1, NULL);
> > /*
> > - * For UDP, we will use recvfrom() initially
> > - * to wait for a caller, then use the regular
> > - * functions to talk to the caller.
> > + * For UDP and -k, don't connect the socket, let it
> > + * receive datagrams from multiple socket pairs.
> > */
> > - if (uflag) {
> > + if (uflag && kflag)
> > + readwrite(s);
> > + /*
> > + * For UDP and not -k, we will use recvfrom() initially
> > + * to wait for a caller, then use the regular functions
> > + * to talk to the caller.
> > + */
> > + else if (uflag && !kflag) {
> > int rv, plen;
> > char buf[16384];
> > struct sockaddr_storage z;