From 093aa472c88df3cd990e0fcdc199e0b4d0687b51 Mon Sep 17 00:00:00 2001 From: Gerard Ryan Date: Sun, 15 Dec 2019 16:04:44 +1000 Subject: 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 --- net/https-dns-proxy/files/https-dns-proxy.init | 35 +++++++++++++++----------- 1 file changed, 20 insertions(+), 15 deletions(-) (limited to 'net/https-dns-proxy/files/https-dns-proxy.init') diff --git a/net/https-dns-proxy/files/https-dns-proxy.init b/net/https-dns-proxy/files/https-dns-proxy.init index 0767da935..91c9f1ae0 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}" -- cgit