On Mon, Feb 27, 2017 at 10:22:03PM +0100, Alexander Bluhm wrote:
> On Sun, Feb 26, 2017 at 10:56:16AM +0100, Claudio Jeker wrote:
> > This diff works for me but I did not test each and every protocol (TCP,
> > UDP, ICMP, AF_UNIX work).
>
> I am currently running it with all regression tests.
>
> > Also not sure if I should renumber the PRU_* defines... in a way this can
> > be solved in a second step.
>
> I would say, leave it as it is.
>
OK.
> > +int
> > +pfkey_attach(struct socket *so, int proto)
> > {
>
> I think you forgot the check from pfkey_usrreq() here.
>
> if ((socket->so_proto->pr_protocol > PFKEY_PROTOCOL_MAX) ||
> (socket->so_proto->pr_protocol < 0) ||
> !pfkey_versions[socket->so_proto->pr_protocol])
> return (EPROTONOSUPPORT);
>
Good catch. Something like that needs to be added.
Not sure if I should use proto or the socket->so_proto->pr_protocol...
> > int
> > +route_attach(struct socket *so, int proto)
> > +{
> ...
> > + /*
> > + * Don't call raw_usrreq() in the attach case, because
> > + * we want to allow non-privileged processes to listen
> > + * on and send "safe" commands to the routing socket.
> > + */
>
> This comment does not make sense anymore. It is more the other way
> around now. Don't call raw_attach() from anywhere else without
> checking SS_PRIV.
>
Will kill the comment and have a closer look at the users of raw_attach().
> > @@ -578,35 +578,6 @@ rip6_usrreq(struct socket *so, int req,
>
> The variable priv in rip6_usrreq() is no longer used.
Removed.
>
> > @@ -74,15 +74,6 @@ mpls_raw_usrreq(struct socket *so, int r
> > return (EOPNOTSUPP);
> >
> > switch (req) {
> > - case PRU_ATTACH:
> > - if (so->so_snd.sb_hiwat == 0 || so->so_rcv.sb_hiwat == 0) {
> > - error = soreserve(so, mpls_raw_sendspace,
> > - mpls_raw_recvspace);
> > - if (error)
> > - break;
> > - }
> > - break;
> > -
>
> Why can you just delete this?
>
I just removed mpls_raw_usrreq() from the MPLS stack as nothing uses it.
So this was just a quick way to make it compile.
--
:wq Claudio