From b0bb4a7decd871f9921cc48f76b0f7e6f6994cdc Mon Sep 17 00:00:00 2001 From: openeuler-basic Date: Sun, 19 Jan 2020 15:16:30 +0800 Subject: [PATCH] modify --- ...e-etc-resolv.conf-symlink-at-runtime.patch | 48 +++++++++++++++++++ systemd.spec | 9 +++- 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 0998-resolved-create-etc-resolv.conf-symlink-at-runtime.patch diff --git a/0998-resolved-create-etc-resolv.conf-symlink-at-runtime.patch b/0998-resolved-create-etc-resolv.conf-symlink-at-runtime.patch new file mode 100644 index 0000000..aa238ee --- /dev/null +++ b/0998-resolved-create-etc-resolv.conf-symlink-at-runtime.patch @@ -0,0 +1,48 @@ +From 0c670fec00f3d5c103d9b7415d4e0510c61ad006 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 11 Mar 2016 17:06:17 -0500 +Subject: [PATCH] resolved: create /etc/resolv.conf symlink at runtime + +If the symlink doesn't exists, and we are being started, let's +create it to provie name resolution. + +If it exists, do nothing. In particular, if it is a broken symlink, +we cannot really know if the administator configured it to point to +a location used by some service that hasn't started yet, so we +don't touch it in that case either. + +https://bugzilla.redhat.com/show_bug.cgi?id=1313085 +--- + src/resolve/resolved.c | 4 ++++ + tmpfiles.d/etc.conf.m4 | 3 --- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c +index 2ca9fbdc72..3c8a9ff12a 100644 +--- a/src/resolve/resolved.c ++++ b/src/resolve/resolved.c +@@ -49,6 +49,10 @@ static int run(int argc, char *argv[]) { + /* Drop privileges, but only if we have been started as root. If we are not running as root we assume most + * privileges are already dropped. */ + if (getuid() == 0) { ++ r = symlink("../run/systemd/resolve/resolv.conf", "/etc/resolv.conf"); ++ if (r < 0 && errno != EEXIST) ++ log_warning_errno(errno, ++ "Could not create /etc/resolv.conf symlink: %m"); + + /* Drop privileges, but keep three caps. Note that we drop those too, later on (see below) */ + r = drop_privileges(uid, gid, +diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4 +index f82e0b82ce..66a777bdb2 100644 +--- a/tmpfiles.d/etc.conf.m4 ++++ b/tmpfiles.d/etc.conf.m4 +@@ -12,9 +12,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts + m4_ifdef(`HAVE_SMACK_RUN_LABEL', + t /etc/mtab - - - - security.SMACK64=_ + )m4_dnl +-m4_ifdef(`ENABLE_RESOLVE', +-L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf +-)m4_dnl + C! /etc/nsswitch.conf - - - - + m4_ifdef(`HAVE_PAM', + C! /etc/pam.d - - - - diff --git a/systemd.spec b/systemd.spec index d8dafb8..ec532e8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -16,7 +16,7 @@ Name: systemd Url: https://www.freedesktop.org/wiki/Software/systemd Version: 243 -Release: 10 +Release: 11 License: MIT and LGPLv2+ and GPLv2+ Summary: System and Service Manager @@ -59,6 +59,7 @@ Patch9008: 1620-nop_job-of-a-unit-must-also-be-coldpluged-after-deserizatio #Patch9009: systemd-core-Close-and-free-dbus-when-bus-authentica.patch Patch9009: systemd-change-time-log-level.patch Patch9010: fix-capsh-drop-but-ping-success.patch +Patch9011: 0998-resolved-create-etc-resolv.conf-symlink-at-runtime.patch BuildRequires: gcc, gcc-c++ BuildRequires: libcap-devel, libmount-devel, pam-devel, libselinux-devel @@ -1431,6 +1432,12 @@ fi %exclude /usr/share/man/man3/* %changelog +* Sun Jan 19 2020 openEuler Buildteam - 243-11 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:fix resolv.conf has symlink default + * Fri Jan 17 2020 openEuler Buildteam - 243-10 - Type:bugfix - ID:NA -- Gitee