Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Dec 2006 04:24:32 +0200
From:      Alexander Motin <mav@alkar.net>
To:        brian@Awfulhak.org,  freebsd-net@freebsd.org
Subject:   ppp have bug in CCP negotiation?
Message-ID:  <4584AA60.5070207@alkar.net>

next in thread | raw e-mail | index | archive | help
Hi.

While debugging ccp support in mpd I have found strange behaviour in ppp 
daemon. In rfc1962 written:
    Configuration Options, in this protocol, indicate algorithms that the
    receiver is willing or able to use to decompress data sent by the
    sender.

But when ppp negotiates different compression methods on different sides 
it behaves strictly in opposite way. It uses for decompression method 
which was requested in ConfigRequest by other side.

Here is mpd logs. It negotiated pred1 for compress and mppc for 
decompress (it is stupid, but possible):
[b2] CCP: SendConfigReq #1
  MPPC
    0x010000e0:MPPE(40, 56, 128 bits), stateless
  PRED1
[b2] CCP: rec'd Configure Request #7 link 0 (Req-Sent)
  DEFLATE
    Not supported
  PRED1
  MPPC
    0x000000e0:MPPE(40, 56, 128 bits),
[b2] CCP: SendConfigRej #7
  DEFLATE
  MPPC
    0x000000e0:MPPE(40, 56, 128 bits),
[b2] CCP: rec'd Configure Reject #2 link 0 (Ack-Sent)
  PRED1
[b2] CCP: SendConfigReq #3
  MPPC
    0x01000040:MPPE(128 bits), stateless
[b2] CCP: rec'd Configure Ack #3 link 0 (Ack-Sent)
  MPPC
    0x01000040:MPPE(128 bits), stateless
[b2] CCP: LayerUp
   Compress using: pred1 ()
Decompress using: mppc (MPPE(128 bits), stateless)

Here is ppp output:
PPP ON fish> show ccp
deflink: CCP [Opened]
  My protocol = PRED1, His protocol = MPPE
  Output: 0 --> 0,  Input: 0 --> 0

  Input Options:  value 0x01000040 (128 bits, stateless)
  Output Options: (null)

When I am trying to send packets from mpd side to ppp side, ppp writes:
Error: MPPE: Input: Invalid packet (flags = 0x8000)
Error: MPPE: Input: Invalid packet (flags = 0x8000)
Error: MPPE: Input: Invalid packet (flags = 0x8000)
Error: MPPE: Input: Invalid packet (flags = 0x8000)
Error: MPPE: Input: Invalid packet (flags = 0x8000)

-- 
Alexander Motin mav@alkar.net



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4584AA60.5070207>