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 [EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to