Re: SyncPPP IPCP/LCP loop problem and patch

rjd@xyzzy.clara.co.uk
Thu, 24 May 2001 16:30:39 +0100 (BST)


Paul Fulghum wrote:
>
> RFC1661 state table shows a transition to req-sent
> from opened when a (properly formated with
> correct sequence ID) cfg-ack is received.
>
> Syncppp does not do this (from sppp_lcp_input):
...
> Maybe adding:
>
> case LCP_STATE_OPENED:
> sppp_lcp_open (sp);
> sp->ipcp.state = IPCP_STATE_CLOSED;
> sp->lcp.state = LCP_STATE_REQ_SENT;
> break;

Thanks for the suggestion. I tried it and found that Linux syncppp does not
have a LCP_STATE_REQ_SENT the nearest alternate being LCP_STATE_CLOSED.
Looking at the RFC these are by no means compatable. Adding the extra state
and coding the transitions would not be difficult but as I've looked at it
I've seen more and more ommissions in the code. The magic number is not
randomised very well, jiffies is not a great random number :-) Parameter
negotiation only takes place for the magic number plus dummys for MRU and
ACCM, I'm not even sure that enforcing and ACCM of all zeros is required.
If the remote end sends us a config request without a magic number we end
up testing an uninitialised variable, and so on.

Who's the owner for syncppp.c ? I might be able to put some time in on
it, but would hate to be sending patches into empty space.

-- 
        Bob Dunlop                      FarSite Communications
        rjd@xyzzy.clara.co.uk           bob.dunlop@farsite.co.uk
        www.xyzzy.clara.co.uk           www.farsite.co.uk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/