加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
backport-resolvconf-compat-make-u-operation-a-NOP.patch 2.72 KB
一键复制 编辑 原始数据 按行查看 历史
From 4fe53426991e829c0add9378d91f3677a23076fd Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Wed, 29 Sep 2021 10:48:24 +0200
Subject: [PATCH] resolvconf-compat: make "-u" operation a NOP
According to the various man pages of "resolvconf" the -u switch is for:
"-u Just run the update scripts (if updating is enabled)."
"-u Force resolvconf to update all its subscribers. resolvconf does not
update the subscribers when adding a resolv.conf that matches what
it already has for that interface."
We have no "subscribers", we ourselves are the only "subscriber" we
support. Hence it's probably better to ignore such a request and make it
a NOP, then to fail.
Fixes: #20748
(cherry picked from commit bee07a399572e0d60600c040a84099ecb418ed33)
Conflict:NA
Reference:https://github.com/systemd/systemd/commit/4fe53426991e829c0add9378d91f3677a23076fd
---
src/resolve/resolvconf-compat.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/resolve/resolvconf-compat.c b/src/resolve/resolvconf-compat.c
index 93ded6d564..991c62e21d 100644
--- a/src/resolve/resolvconf-compat.c
+++ b/src/resolve/resolvconf-compat.c
@@ -39,8 +39,8 @@ static int resolvconf_help(void) {
"This is a compatibility alias for the resolvectl(1) tool, providing native\n"
"command line compatibility with the resolvconf(8) tool of various Linux\n"
"distributions and BSD systems. Some options supported by other implementations\n"
- "are not supported and are ignored: -m, -p. Various options supported by other\n"
- "implementations are not supported and will cause the invocation to fail: -u,\n"
+ "are not supported and are ignored: -m, -p, -u. Various options supported by other\n"
+ "implementations are not supported and will cause the invocation to fail:\n"
"-I, -i, -l, -R, -r, -v, -V, --enable-updates, --disable-updates,\n"
"--updates-are-enabled.\n"
"\nSee the %2$s for details.\n",
@@ -171,8 +171,11 @@ int resolvconf_parse_argv(int argc, char *argv[]) {
log_debug("Switch -%c ignored.", c);
break;
- /* Everybody else can agree on the existence of -u but we don't support it. */
+ /* -u supposedly should "update all subscribers". We have no subscribers, hence let's make
+ this a NOP, and exit immediately, cleanly. */
case 'u':
+ log_info("Switch -%c ignored.", c);
+ return 0;
/* The following options are openresolv inventions we don't support. */
case 'I':
--
2.33.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化