Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Nov 2002 14:48:24 +0200
From:      Alexander Motin <mav@alkar.net>
To:        freebsd-net@freebsd.org
Subject:   Bug in pppd with CallBack
Message-ID:  <3DCFA718.7000906@alkar.net>

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

I think i found bug in CBCP support in pppd 2.3.5.
When used AdminDefined Call Back I take:
  rcvd [CBCP Request id=0x63 < AdminDefined delay = 0>]
  length: 3
  user admin defined allowed
  cbcp_resp cb_type=8
  cbcp_resp CONF_ADMIN
  sent [CBCP Response id=0x63 < AdminDefined delay = 5 number = >]
  rcvd [CBCP Request id=0x64 < AdminDefined delay = 0>]
  length: 3
  user admin defined allowed
  cbcp_resp cb_type=8
  cbcp_resp CONF_ADMIN
  sent [CBCP Response id=0x64 < AdminDefined delay = 5 number = >]
  rcvd [CBCP Request id=0x65 < AdminDefined delay = 0>]

Looks like pppd sends one byte more then required.
After applying patch i got normal connection:
  rcvd [CBCP Request id=0x3d < AdminDefined delay = 0>]
  length: 3
  user admin defined allowed
  cbcp_resp cb_type=8
  cbcp_resp CONF_ADMIN
  sent [CBCP Response id=0x3d < AdminDefined delay = 5>]
  rcvd [CBCP Ack id=0x3e < AdminDefined delay = 5>]
  id doesn't match: expected 61 recv 62
  sent [LCP TermReq id=0x2 "Call me back, please"]
  rcvd [LCP TermAck id=0x2]

May be this patch need to be commited into FreeBSD STABLE?

*** cbcp.c.orig Sat Aug 28 04:19:00 1999
--- cbcp.c      Mon Nov 11 14:15:41 2002
***************
*** 343,352 ****
       if (cb_type & ( 1 << CB_CONF_ADMIN ) ) {
         syslog(LOG_DEBUG, "cbcp_resp CONF_ADMIN");
           PUTCHAR(CB_CONF_ADMIN, bufp);
!       len = 3 + 1;
         PUTCHAR(len , bufp);
         PUTCHAR(5, bufp); /* delay */
-       PUTCHAR(0, bufp);
         cbcp_send(us, CBCP_RESP, buf, len);
         return;
       }
--- 343,351 ----
       if (cb_type & ( 1 << CB_CONF_ADMIN ) ) {
         syslog(LOG_DEBUG, "cbcp_resp CONF_ADMIN");
           PUTCHAR(CB_CONF_ADMIN, bufp);
!       len = 3;
         PUTCHAR(len , bufp);
         PUTCHAR(5, bufp); /* delay */
         cbcp_send(us, CBCP_RESP, buf, len);
         return;
       }

-- 
Alexander Motin mav@alkar.net


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DCFA718.7000906>