pppd: Add an option to not to overwrite /etc/resolv.conf

By default pppd built by buildroot writes the list of nameservers to
/etc/resolv.conf instead of /etc/ppp/resolv.conf
This is not the default behavior of pppd and breaks name resolution
if several network interfaces are used. The change makes this optional
and enabled by default, to be backward compatible and to add a possibility
to turn this behavior off, if required.

Signed-off-by: Maksim Salau <msalau@iotecha.com>
[Arnout: extend the help text to explain that it won't work on readonly
 rootfs]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Maksim Salau 2017-10-17 12:54:14 +03:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 101f166c01
commit 1bb454bcb1
2 changed files with 14 additions and 0 deletions

View File

@ -23,6 +23,18 @@ config BR2_PACKAGE_PPPD_RADIUS
help
Install RADIUS support for pppd
config BR2_PACKAGE_PPPD_OVERWRITE_RESOLV_CONF
bool "overwrite /etc/resolv.conf"
default y
help
Overwrite /etc/resolv.conf instead of maintaining the
separate list of nameservers in /etc/ppp/resolv.conf
Note that the pppd default of writing to /etc/ppp/resolv.conf
does not work on a read-only rootfs unless you make it
writable in your rootfs customizations (e.g. by linking it to
a file in tmpfs or by mounting a writable filesystem on it).
endif
comment "pppd needs a uClibc or glibc toolchain w/ dynamic library"

View File

@ -41,7 +41,9 @@ PPPD_POST_EXTRACT_HOOKS += PPPD_DROP_INTERNAL_IF_PPOL2TP_H
define PPPD_SET_RESOLV_CONF
$(SED) 's,ppp/resolv.conf,resolv.conf,' $(@D)/pppd/pathnames.h
endef
ifeq ($(BR2_PACKAGE_PPPD_OVERWRITE_RESOLV_CONF),y)
PPPD_POST_EXTRACT_HOOKS += PPPD_SET_RESOLV_CONF
endif
define PPPD_CONFIGURE_CMDS
$(SED) 's/FILTER=y/#FILTER=y/' $(PPPD_DIR)/pppd/Makefile.linux