Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jan 2001 17:19:42 -0800 (PST)
From:      t-ogawa@triaez.kaisei.org
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   bin/24518: ppp(8) fails to negitiate DNS server in IPCP
Message-ID:  <200101220119.f0M1Jgi35504@freefall.freebsd.org>

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

>Number:         24518
>Category:       bin
>Synopsis:       ppp(8) fails to negitiate DNS server in IPCP
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 21 17:20:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     OGAWA Takaya
>Release:        5.0-CURRENT as of Jan 04 2001
>Organization:
>Environment:
FreeBSD aragorn.t-ogawa.trans-nt.co.jp 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Sun Jan 21 17:01:33 JST 2001     root@aragorn.t-ogawa.trans-nt.co.jp:/usr/src/sys/compile/ARAGORN  i386
>Description:
I use two different ISPs for PPP dialup connections. In either ISP,
ppp fails to negitiate DNS server address with following IPCP log
(date, pid and tun device name trimmed):

IPCP: FSM: Using "deflink" as a transport 
IPCP: deflink: State change Initial --> Closed 
IPCP: deflink: LayerStart. 
IPCP: deflink: SendConfigReq(1) state = Closed 
IPCP:  IPADDR[6]  0.0.0.0 
IPCP:  COMPPROTO[6]  16 VJ slots with slot compression 
IPCP:  PRIDNS[6]  0.0.0.0 
IPCP:  SECDNS[6]  0.0.0.0 
IPCP: deflink: State change Closed --> Req-Sent 
IPCP: deflink: RecvConfigReq(151) state = Req-Sent 
IPCP:  IPADDR[6]  210.158.230.5 
IPCP: deflink: SendConfigAck(151) state = Req-Sent 
IPCP:  IPADDR[6]  210.158.230.5 
IPCP: deflink: State change Req-Sent --> Ack-Sent 
IPCP: deflink: RecvConfigRej(1) state = Ack-Sent 
IPCP:  COMPPROTO[6]  16 VJ slots with slot compression 
IPCP:  SECDNS[6]  0.0.0.0 
IPCP: deflink: SendConfigReq(2) state = Ack-Sent 
IPCP:  IPADDR[6]  0.0.0.0 
IPCP: deflink: RecvConfigNak(2) state = Ack-Sent 
IPCP:  IPADDR[6]  210.158.231.184 
IPCP:  IPADDR[6]  changing address: 0.0.0.0  --> 210.158.231.184 
IPCP: deflink: SendConfigReq(3) state = Ack-Sent 
IPCP:  IPADDR[6]  210.158.231.184 
IPCP: deflink: RecvConfigAck(3) state = Ack-Sent 
IPCP: deflink: State change Ack-Sent --> Opened 
IPCP: deflink: LayerUp. 
IPCP: myaddr 210.158.231.184 hisaddr = 210.158.230.5 

i.e. Though only secondary DNS has been rejected, ppp gives up
negotiating primary DNS too.

>How-To-Repeat:
(described above)
>Fix:
By applying following patch, ppp tries to negotiate primary
DNS server if secondary conf-request rejected, or negotiate
secondary if primary rejected:

--- ipcp.c.orig Mon Jan 22 09:39:45 2001
+++ ipcp.c      Mon Jan 22 09:40:27 2001
@@ -871,10 +871,13 @@
   }
 
   if (IsEnabled(ipcp->cfg.ns.dns_neg) &&
-      !REJECTED(ipcp, TY_PRIMARY_DNS - TY_ADJUST_NS) &&
-      !REJECTED(ipcp, TY_SECONDARY_DNS - TY_ADJUST_NS)) {
+      !REJECTED(ipcp, TY_PRIMARY_DNS - TY_ADJUST_NS)) {
     memcpy(o->data, &ipcp->dns[0].s_addr, 4);
     INC_LCP_OPT(TY_PRIMARY_DNS, 6, o);
+  }
+
+  if (IsEnabled(ipcp->cfg.ns.dns_neg) &&
+      !REJECTED(ipcp, TY_SECONDARY_DNS - TY_ADJUST_NS)) {
     memcpy(o->data, &ipcp->dns[1].s_addr, 4);
     INC_LCP_OPT(TY_SECONDARY_DNS, 6, o);
   }


>Release-Note:
>Audit-Trail:
>Unformatted:


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




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