Tue Jul 22 14:16:29 CEST 2008 - hvogel@suse.de Move the resolv.conf written by pppd to /var/run [bnc#401648] --- Changes-2.3.orig +++ Changes-2.3 @@ -262,10 +262,10 @@ What was new in ppp-2.3.6. * Added new option `usepeerdns', thanks to Nick Walker . If the peer supplies DNS addresses, these - will be written to /etc/ppp/resolv.conf. The ip-up script can then - be used to add these addresses to /etc/resolv.conf if desired (see - the ip-up.local.add and ip-down.local.add files in the scripts - directory). + will be written to /run/ppp_resolv.conf.$INTERFACE_NAME. + The ip-up script can then be used to add these addresses to + /etc/resolv.conf if desired (see the ip-up.local.add and + ip-down.local.add files in the scripts directory). * The Solaris ppp driver should now work correctly on SMP systems. --- pppd/ipcp.c.orig +++ pppd/ipcp.c @@ -2155,13 +2155,16 @@ static void create_resolv(u_int32_t peerdns1, u_int32_t peerdns2) { FILE *f; + char rcfilename[PATH_MAX]; if (noresolvconf) return; - f = fopen(PPP_PATH_RESOLV, "w"); + slprintf(rcfilename, sizeof(rcfilename), "%s.%s", PPP_PATH_RESOLV, ifname); + + f = fopen(rcfilename, "w"); if (f == NULL) { - error("Failed to create %s: %m", PPP_PATH_RESOLV); + error("Failed to create %s: %m", rcfilename); return; } @@ -2172,7 +2175,7 @@ create_resolv(u_int32_t peerdns1, u_int3 fprintf(f, "nameserver %s\n", ip_ntoa(peerdns2)); if (ferror(f)) - error("Write failed to %s: %m", PPP_PATH_RESOLV); + error("Write failed to %s: %m", rcfilename); fclose(f); } --- pppd/pathnames.h.orig +++ pppd/pathnames.h @@ -105,7 +105,7 @@ #define PPP_PATH_AUTHDOWN PPP_PATH_CONFDIR "/auth-down" #define PPP_PATH_TTYOPT PPP_PATH_CONFDIR "/options." #define PPP_PATH_PEERFILES PPP_PATH_CONFDIR "/peers/" -#define PPP_PATH_RESOLV PPP_PATH_CONFDIR "/resolv.conf" +#define PPP_PATH_RESOLV PPP_PATH_VARRUN "/ppp/resolv.conf" #define PPP_PATH_NET_INIT PPP_PATH_CONFDIR "/net-init" #define PPP_PATH_NET_PREUP PPP_PATH_CONFDIR "/net-pre-up" --- pppd/pppd.8.orig +++ pppd/pppd.8 @@ -1199,7 +1199,7 @@ Ask the peer for up to 2 DNS server addr by the peer (if any) are passed to the /etc/ppp/ip\-up script in the environment variables DNS1 and DNS2, and the environment variable USEPEERDNS will be set to 1. In addition, pppd will create an -/etc/ppp/resolv.conf file containing one or two nameserver lines with +/run/ppp/resolv.conf.$INTERFACE file containing one or two nameserver lines with the address(es) supplied by the peer (unless the \fInoresolvconf\fR option is given). .TP