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>