bin/122519: ppp provides deficient DNS info
Peter Much
pmc at citylink.dinoex.sub.org
Mon Apr 7 08:20:01 UTC 2008
>Number: 122519
>Category: bin
>Synopsis: ppp provides deficient DNS info
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Apr 07 08:20:00 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Peter Much
>Release: FreeBSD 6.3-RELEASE-p1 i386
>Organization:
n/a
>Environment:
System: FreeBSD edge.oper.dinoex.org 6.3-RELEASE-p1 FreeBSD 6.3-RELEASE-p1 #9: Sat Apr 5 05:37:18 CEST 2008 root@:/usr/src/sys/i386/compile/E1R63V1 i386
nothing special needed
>Description:
ppp, in server-side operation, is supposed to provide 2 DNS
adresses to the calling client. And it should fetch these out of
/etc/resolv.conf.
In fact, it provides only one of these: the second one.
This could even be considered serious because, depending on their
connectivity, it may cost people real money to persistently connect
their second, fall-back nameserver, and they may not notice it too soon.
>How-To-Repeat:
* configure at least 2 nameservers in your resolv.conf
* configure your ppp to log IPCP negotiations and to "accept dns"
(that means actually that the ppp will accept requests for
nameserver adresses).
* bring up a connection and let the connecting peer ask for
DNS info.
* read the logfile.
>Fix:
--- usr.sbin/ppp/ipcp.c.orig 2008-04-07 08:44:44.000000000 +0200
+++ usr.sbin/ppp/ipcp.c 2008-04-07 08:47:19.000000000 +0200
@@ -247,7 +247,7 @@
ch = *ncp;
*ncp = '\0';
- if (n < 2 && inet_aton(cp, ipcp->ns.dns))
+ if (n < 2 && inet_aton(cp, (ipcp->ns.dns)+n))
n++;
*ncp = ch;
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list