From 1bb454bcb15f33c4539c2f1b4633e4c9dafbb854 Mon Sep 17 00:00:00 2001 From: Maksim Salau Date: Tue, 17 Oct 2017 12:54:14 +0300 Subject: [PATCH] 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 [Arnout: extend the help text to explain that it won't work on readonly rootfs] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/pppd/Config.in | 12 ++++++++++++ package/pppd/pppd.mk | 2 ++ 2 files changed, 14 insertions(+) diff --git a/package/pppd/Config.in b/package/pppd/Config.in index 8c56421c0d..ee89a577f2 100644 --- a/package/pppd/Config.in +++ b/package/pppd/Config.in @@ -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" diff --git a/package/pppd/pppd.mk b/package/pppd/pppd.mk index 6139c5b085..6b86a4d3dc 100644 --- a/package/pppd/pppd.mk +++ b/package/pppd/pppd.mk @@ -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 -- 2.30.2