Martin Pieuchot <mpieuc...@nolizard.org> writes:

> On 28/05/14(Wed) 09:30, Jérémie Courrèges-Anglas wrote:
>> Martin Pieuchot <mpieuc...@nolizard.org> writes:
>> 
>> > Diff below replace in_iawithaddr() + in_broadcast() -> ifa_ifwithaddr(),
>> > that does the same for IPv4 since broadcast addresses are added to the
>> > tree.
>> 
>> This prevents listeners to bind on 255.255.255.255, something allowed
>> with the current code.  Thoughts?
>
> You're right, here's an updated diff that keeps this behavior.

Sorry, busy week-end.  ok jca@

> Index: netinet/raw_ip.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/netinet/raw_ip.c,v
> retrieving revision 1.72
> diff -u -p -r1.72 raw_ip.c
> --- netinet/raw_ip.c  21 Apr 2014 12:22:26 -0000      1.72
> +++ netinet/raw_ip.c  28 May 2014 11:35:15 -0000
> @@ -465,9 +465,9 @@ rip_usrreq(struct socket *so, int req, s
>                       break;
>               }
>               if (!((so->so_options & SO_BINDANY) ||
> -                 addr->sin_addr.s_addr == 0 ||
> -                 in_iawithaddr(addr->sin_addr, inp->inp_rtableid) ||
> -                 in_broadcast(addr->sin_addr, NULL, inp->inp_rtableid))) {
> +                 addr->sin_addr.s_addr == INADDR_ANY ||
> +                 addr->sin_addr.s_addr == INADDR_BROADCAST ||
> +                 ifa_ifwithaddr(sintosa(addr), inp->inp_rtableid))) {
>                       error = EADDRNOTAVAIL;
>                       break;
>               }
>

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to