On Sun, Oct 28, 2018 at 10:58:34PM +0000, Jason McIntyre wrote:
> On Sun, Oct 28, 2018 at 09:40:33PM +0100, Jan Klemkow wrote:
> > Unlike the manpage saids or one might think , sendto(2) sets errno to
> > EHOSTUNREACH instead of EACCES in cases of blocking by pf(4) or not
> > enabled broadcasts.  Finally I ran into both cases and think, its time
> > to fix this issue.  The diff suggests a new explanation that should
> > cover all error cases.
> > 
> > Index: /usr/src/lib/libc/sys/send.2
> > ===================================================================
> > RCS file: /cvs/src/lib/libc/sys/send.2,v
> > retrieving revision 1.32
> > diff -u -p -r1.32 send.2
> > --- /usr/src/lib/libc/sys/send.2    5 Oct 2017 12:30:16 -0000       1.32
> > +++ /usr/src/lib/libc/sys/send.2    28 Oct 2018 20:16:20 -0000
> > @@ -161,13 +161,13 @@ The operation may succeed when buffers b
> >  The output queue for a network interface was full.
> >  This generally indicates that the interface has stopped sending,
> >  but may be caused by transient congestion.
> > -.It Bq Er EACCES
> > -The
> > -.Dv SO_BROADCAST
> > -option is not set on the socket, and a broadcast address
> > -was given as the destination.
> >  .It Bq Er EHOSTUNREACH
> > -The destination address specified an unreachable host.
> > +The destination address specified an host that is unreachable,
> 
> unless you're going for humour, "a host" rather than "an host".
> 
> i can;t comment on the accuracy, but the rest of the diff reads ok.

No humour (here in Germany), just a spelling mistakes :-)
Fixed version below.

Thanks,
Jan

Index: /usr/src/lib/libc/sys/send.2
===================================================================
RCS file: /cvs/src/lib/libc/sys/send.2,v
retrieving revision 1.32
diff -u -p -r1.32 send.2
--- /usr/src/lib/libc/sys/send.2        5 Oct 2017 12:30:16 -0000       1.32
+++ /usr/src/lib/libc/sys/send.2        29 Oct 2018 22:48:24 -0000
@@ -161,13 +161,13 @@ The operation may succeed when buffers b
 The output queue for a network interface was full.
 This generally indicates that the interface has stopped sending,
 but may be caused by transient congestion.
-.It Bq Er EACCES
-The
-.Dv SO_BROADCAST
-option is not set on the socket, and a broadcast address
-was given as the destination.
 .It Bq Er EHOSTUNREACH
-The destination address specified an unreachable host.
+The destination address specified a host that is unreachable,
+blocked by
+.Xr pf 4
+or is broadcast communication which was not enabled
+via the socket option 
+.Dv SO_BROADCAST .
 .It Bq Er EINVAL
 The
 .Fa flags

Reply via email to