SHA256
1
0
forked from pool/systemd
systemd/0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch
Franck Bui 832a324107 Accepting request 616860 from home:fbui:systemd:Factory
- Import commit f63623c1fc0eb01b8efc2037d004f42ed8328356
  6a161916f device: make sure to always retroactively start device dependencies (take #2) (bsc#1088052)
  e4402648c Fix pattern to detect distribution
  ad59c7970 install: "user" and "global" scopes are equivalent for user presets (boo#1093851)
  b1876c81a rpm: remove confusing --user before --global
  00ea8a214 man: updated systemd-analyze blame description for service-units with Type=simple (#8834) (bsc#1091265)
  a9b587e2f fileio.c: fix incorrect mtime

- Add 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch (boo#1024897)
- Ship systemd-resolved (but disabled by default) (bsc#1018387)

OBS-URL: https://build.opensuse.org/request/show/616860
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1032
2018-06-14 12:46:09 +00:00

54 lines
2.1 KiB
Diff

From a482b51673d4344faf76a0460a69d7f273b36e47 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/1] 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
[fbui: fixes boo#1024897]
---
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 a4cda0b5e..68bca8077 100644
--- a/src/resolve/resolved.c
+++ b/src/resolve/resolved.c
@@ -71,6 +71,10 @@ int main(int argc, char *argv[]) {
/* Drop privileges, but only if we have been started as root. If we are not running as root we assume all
* 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 df8d42101..928105ea8 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_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 - - - -
--
2.16.2