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>
