From: Gerard Ryan Date: Sun, 15 Dec 2019 06:04:44 +0000 (+1000) Subject: https_dns_proxy: Added optional ipv4 resolvers X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=093aa472c88df3cd990e0fcdc199e0b4d0687b51;p=feed%2Fpackages.git https_dns_proxy: Added optional ipv4 resolvers * Added optional ipv4 resolvers UCI config option * Added logging to logd * Refactored verbosity UCI config option * Filtered out any address from being added to dnsmasq Signed-off-by: Gerard Ryan --- diff --git a/net/https-dns-proxy/files/https-dns-proxy.config b/net/https-dns-proxy/files/https-dns-proxy.config index 3c5eecf4d1..7f8ecd5979 100644 --- a/net/https-dns-proxy/files/https-dns-proxy.config +++ b/net/https-dns-proxy/files/https-dns-proxy.config @@ -8,6 +8,8 @@ config https-dns-proxy option listen_port '5053' option user 'nobody' option group 'nogroup' + option ipv4_resolvers '1' + option verbosity '0' # fatal = 0, error = 1, warning = 2, info = 3, debug = 4 config https-dns-proxy option bootstrap_dns '1.1.1.1,1.0.0.1' @@ -16,3 +18,5 @@ config https-dns-proxy option listen_port '5054' option user 'nobody' option group 'nogroup' + option ipv4_resolvers '1' + option verbosity '0' # fatal = 0, error = 1, warning = 2, info = 3, debug = 4 diff --git a/net/https-dns-proxy/files/https-dns-proxy.init b/net/https-dns-proxy/files/https-dns-proxy.init index 0767da9353..91c9f1ae03 100755 --- a/net/https-dns-proxy/files/https-dns-proxy.init +++ b/net/https-dns-proxy/files/https-dns-proxy.init @@ -33,16 +33,6 @@ append_parm() { xappend "$switch $_loctmp" } -append_match() { - local section="$1" - local option="$2" - local value="$3" - local match="$4" - local _loctmp - config_get_bool _loctmp "$section" "$option" - [ "$_loctmp" = "$match" ] && xappend "$value" -} - start_instance() { local cfg="$1" param listen_addr listen_port i @@ -56,19 +46,34 @@ start_instance() { append_parm "$cfg" 'proxy_server' '-t' append_parm "$cfg" 'logfile' '-l' append_bool "$cfg" 'use_http1' '-x' - append_match "$cfg" 'verbosity' '-v' '1' - append_match "$cfg" 'verbosity' '-vv' '2' - append_match "$cfg" 'verbosity' '-vvv' '3' - append_match "$cfg" 'verbosity' '-vvvv' '4' + append_bool "$cfg" 'ipv4_resolvers' '-4' + + config_get verbosity "$cfg" 'verbosity' "0" + for i in $(seq 1 $verbosity); do + xappend "-v" + done procd_open_instance # shellcheck disable=SC2086 - procd_set_param command ${PROG} -4 ${param} + procd_set_param command ${PROG} ${param} + procd_set_param stderr 1 + procd_set_param stdout 1 procd_set_param respawn procd_close_instance config_get listen_addr "$cfg" 'listen_addr' '127.0.0.1' config_get listen_port "$cfg" 'listen_port' "$p" + + # Don't add the any address to dnsmasq + case $listen_addr in + 0.0.0.0|::ffff:0.0.0.0) + listen_addr='127.0.0.1' + ;; + ::) + listen_addr='::1' + ;; + esac + if [ "$dnsmasqConfig" = "*" ]; then config_load 'dhcp' config_foreach dnsmasq_add_doh_server 'dnsmasq' "${listen_addr}#${listen_port}"