Message ID | 20200908221620.114969-2-ted.elhourani@nutanix.com |
---|---|
State | Superseded |
Headers | show |
Series | dns-resolve: Allow unbound's config file to be set through an env var. | expand |
Bleep bloop. Greetings Ted Elhourani, I am a robot and I have tried out your patch. Thanks for your contribution. I encountered some error that I wasn't expecting. See the details below. git-am: error: patch failed: lib/dns-resolve.c:82 error: lib/dns-resolve.c: patch does not apply error: Did you hand edit your patch? It does not apply to blobs recorded in its index. hint: Use 'git am --show-current-patch' to see the failed patch Patch failed at 0001 dns-resolve: Allow unbound's config file to be set through an env var. When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". Please check this out. If you feel there has been an error, please email aconole@redhat.com Thanks, 0-day Robot
diff --git a/Documentation/intro/install/general.rst b/Documentation/intro/install/general.rst index 09f2c13f1..d7cfa32cf 100644 --- a/Documentation/intro/install/general.rst +++ b/Documentation/intro/install/general.rst @@ -97,7 +97,9 @@ need the following software: specifying OpenFlow and OVSDB remotes. If unbound library is already installed, then Open vSwitch will automatically build with support for it. The environment variable OVS_RESOLV_CONF can be used to specify DNS server - configuration file (the default file on Linux is /etc/resolv.conf). + configuration file (the default file on Linux is /etc/resolv.conf), and + environment variable OVS_UNBOUND_CONF can be used to specify the + configuration file for unbound. On Linux, you may choose to compile the kernel module that comes with the Open vSwitch distribution or to use the kernel module built into the Linux kernel diff --git a/lib/dns-resolve.c b/lib/dns-resolve.c index 1ff58960f..7a6768af5 100644 --- a/lib/dns-resolve.c +++ b/lib/dns-resolve.c @@ -82,7 +82,18 @@ dns_resolve_init(bool is_daemon) return; } + const char *ub_conf_filename = getenv("OVS_UNBOUND_CONF"); + if (ub_conf_filename != NULL) { + int retval = ub_ctx_config(ub_ctx__, ub_conf_filename); + if (retval != 0) { + VLOG_WARN_RL(&rl, "Failed to set libunbound context config: %s", + ub_strerror(retval)); + ub_ctx_delete(ub_ctx__); + ub_ctx__ = NULL; + return; + } + } + const char *filename = getenv("OVS_RESOLV_CONF"); if (!filename) { #ifdef _WIN32 --
When an unbound context is created, check whether OVS_UNBOUND_CONF has been set. If a valid config file is supplied then use it to configure the context. The procedure returns if the config file is invalid. If no config file is found then the default unbound config is used. Signed-off-by: Ted Elhourani <ted.elhourani@nutanix.com> --- Documentation/intro/install/general.rst | 4 +++- lib/dns-resolve.c | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) 2.22.3