This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2016-03-11 17:49:05 -05:00
parent 7aba950aa4
commit 6428127a18
2 changed files with 56 additions and 1 deletions

View File

@ -0,0 +1,51 @@
From 4e14900fe25c53275c7d7d0c094ddf1fd477e5ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Fri, 11 Mar 2016 17:06:17 -0500
Subject: [PATCH 1/2] 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 161ea03412..ea6750e949 100644
--- a/src/resolve/resolved.c
+++ b/src/resolve/resolved.c
@@ -67,6 +67,10 @@ int main(int argc, char *argv[]) {
goto finish;
}
+ 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");
+
r = drop_privileges(uid, gid, 0);
if (r < 0)
goto finish;
diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4
index ef7b9b9541..928105ea8d 100644
--- a/tmpfiles.d/etc.conf.m4
+++ b/tmpfiles.d/etc.conf.m4
@@ -13,9 +13,6 @@ L+ /etc/mtab - - - - ../proc/self/mounts
m4_ifdef(`HAVE_SMACK_RUN_LABEL',
t /etc/mtab - - - - security.SMACK64=_
)m4_dnl
-m4_ifdef(`ENABLE_RESOLVED',
-L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf
-)m4_dnl
C /etc/nsswitch.conf - - - -
m4_ifdef(`HAVE_PAM',
C /etc/pam.d - - - -
--
2.7.2

View File

@ -13,7 +13,7 @@
Name: systemd
Url: http://www.freedesktop.org/wiki/Software/systemd
Version: 229
Release: 5%{?gitcommit:.git%{gitcommitshort}}%{?dist}
Release: 6%{?gitcommit:.git%{gitcommitshort}}%{?dist}
# For a breakdown of the licensing, see README
License: LGPLv2+ and MIT and GPLv2+
Summary: A System and Service Manager
@ -53,6 +53,7 @@ Patch0016: 0016-hashmap-use-void-and-uint8_t-for-generic-pointers.patch
Patch0017: 0017-resolved-fix-notification-iteration-logic-when-trans.patch
Patch0018: 0018-selinux-always-try-to-load-the-full-selinux-db.patch
Patch0019: 0019-selinux-use-raw-variants-of-security_compute_create-.patch
Patch0020: 0020-resolved-create-etc-resolv.conf-symlink-at-runtime.patch
Patch0999: 0999-Add-a-workaround-for-linux-net-if.h-conflict.patch
@ -926,6 +927,9 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
/usr/lib/firewalld/services/*
%changelog
* Fri Mar 11 2016 Zbigniew Jędrzejewski-Szmek <zbyszek@bupkis> - 229-6
- Create /etc/resolv.conf symlink from systemd-resolved (#1313085)
* Fri Mar 4 2016 Zbigniew Jędrzejewski-Szmek <zbyszek@bupkis> - 229-5
- Split out systemd-container subpackage (#1163412)
- Split out system-udev subpackage