From owner-freebsd-bugs@FreeBSD.ORG Tue Apr 8 07:40:16 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 47F9137B401 for ; Tue, 8 Apr 2003 07:40:16 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id C454A43F3F for ; Tue, 8 Apr 2003 07:40:15 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h38EeFUp071097 for ; Tue, 8 Apr 2003 07:40:15 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h38EeFCB071096; Tue, 8 Apr 2003 07:40:15 -0700 (PDT) Date: Tue, 8 Apr 2003 07:40:15 -0700 (PDT) Message-Id: <200304081440.h38EeFCB071096@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: dmitry@atlantis.dp.ua Subject: Re: bin/50613: [PATCH] pppd(8) incorrect CBCP re X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: dmitry@atlantis.dp.ua List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Apr 2003 14:40:16 -0000 The following reply was made to PR bin/50613; it has been noted by GNATS. From: dmitry@atlantis.dp.ua To: freebsd-gnats-submit@FreeBSD.org, dmitry@atlantis.dp.ua Cc: Subject: Re: bin/50613: [PATCH] pppd(8) incorrect CBCP re Date: Tue, 8 Apr 2003 17:39:14 +0300 (EEST) It seems that pppd(8) also incorrectly responces "No callback" type. One can specify "callback number" option, call MAX4060 unit with CBCP enabled, but no Ascend-CBCP-Mode RADIUS attribute specified, any CBCP will also never finish. Below is cumulative patch for both problems: --- cbcp.c.orig Sat Aug 28 04:19:00 1999 +++ cbcp.c Tue Apr 8 17:05:00 2003 @@ -343,10 +343,9 @@ if (cb_type & ( 1 << CB_CONF_ADMIN ) ) { syslog(LOG_DEBUG, "cbcp_resp CONF_ADMIN"); PUTCHAR(CB_CONF_ADMIN, bufp); - len = 3 + 1; + len = 3; PUTCHAR(len , bufp); PUTCHAR(5, bufp); /* delay */ - PUTCHAR(0, bufp); cbcp_send(us, CBCP_RESP, buf, len); return; } @@ -354,9 +353,8 @@ if (cb_type & ( 1 << CB_CONF_NO ) ) { syslog(LOG_DEBUG, "cbcp_resp CONF_NO"); PUTCHAR(CB_CONF_NO, bufp); - len = 3; + len = 2; PUTCHAR(len , bufp); - PUTCHAR(0, bufp); cbcp_send(us, CBCP_RESP, buf, len); (*ipcp_protent.open)(us->us_unit); return; Microsoft's CBCP specification says: 3.2.1 No Callback The Caller requests not to be called back at all. The Callback Type is set to 1. No Callback address or Callback Delay field is supplied. pppd(8) session log before patch (callback number specified, MAX4060 instructed not to call back): Apr 8 17:01:32 homelynx pppd[242]: cbcp_open Apr 8 17:01:32 homelynx pppd[242]: rcvd [CBCP Request id=0x1 < NoCallback>] Apr 8 17:01:32 homelynx pppd[242]: length: 2 Apr 8 17:01:32 homelynx pppd[242]: no callback allowed Apr 8 17:01:32 homelynx pppd[242]: cbcp_resp cb_type=2 Apr 8 17:01:32 homelynx pppd[242]: cbcp_resp CONF_NO Apr 8 17:01:32 homelynx pppd[242]: sent [CBCP Response id=0x1 < NoCallback dela y = 0>] Apr 8 17:01:32 homelynx pppd[242]: sent [IPCP ConfReq id=0x1 ] Apr 8 17:01:41 homelynx last message repeated 3 times After patch: Apr 8 17:06:36 homelynx pppd[366]: cbcp_open Apr 8 17:06:36 homelynx pppd[366]: rcvd [CBCP Request id=0x1 < NoCallback>] Apr 8 17:06:36 homelynx pppd[366]: length: 2 Apr 8 17:06:36 homelynx pppd[366]: no callback allowed Apr 8 17:06:36 homelynx pppd[366]: cbcp_resp cb_type=2 Apr 8 17:06:36 homelynx pppd[366]: cbcp_resp CONF_NO Apr 8 17:06:36 homelynx pppd[366]: sent [CBCP Response id=0x1 < NoCallback>] Apr 8 17:06:36 homelynx pppd[366]: sent [IPCP ConfReq id=0x1 ] Apr 8 17:06:37 homelynx pppd[366]: rcvd [CBCP Ack id=0x1 < NoCallback>] Apr 8 17:06:37 homelynx pppd[366]: sent [LCP TermReq id=0x2 "Call me back, plea se"]