https-dns-proxy: Update for reverted commit
authorGerard Ryan <G.M0N3Y.2503@gmail.com>
Sun, 2 Feb 2020 03:08:46 +0000 (13:08 +1000)
committerGerard Ryan <G.M0N3Y.2503@gmail.com>
Thu, 12 Mar 2020 09:03:06 +0000 (19:03 +1000)
* Reapplied daf538d8c63a2be72e32f87276ca06db7dc7df5e
* Updated README
* Replaced the ipv4_resolvers option with a ipv6_resolvers_only option

Signed-off-by: Gerard Ryan <G.M0N3Y.2503@gmail.com>
net/https-dns-proxy/Makefile
net/https-dns-proxy/files/README.md
net/https-dns-proxy/files/https-dns-proxy.config
net/https-dns-proxy/files/https-dns-proxy.init

index 7e3d0a5ba51eb38a9d02f7ff7ad81411a8e2f4b4..aab2c488c26603105cdb73f369d1c193e272644e 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=https-dns-proxy
 PKG_VERSION:=2019-12-03
-PKG_RELEASE=3
+PKG_RELEASE=4
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy
index d844399bb743c515d57ba54b96f93a4f293e2999..437cd8688d60b6f34308f502d1c8e5fe207e3077 100644 (file)
@@ -57,7 +57,7 @@ config https-dns-proxy
   option listen_addr '127.0.0.1'
   option listen_port '5054'
   option user 'nobody'
-  option group 'nogroup'```
+  option group 'nogroup'
 ```
 
 The ```update_dnsmasq_config``` option can be set to dash (set to ```'-'``` to not change ```DNSMASQ``` server settings on start/stop), can be set to ```'*'``` to affect all ```DNSMASQ``` instance server settings or have a space-separated list of ```DNSMASQ``` instances to affect (like ```'0 4 5'```). If this option is omitted, the default setting is ```'*'```.
@@ -87,7 +87,8 @@ The https-dns-proxy instance settings are:
 |user|String|nobody|Local user to run instance under.|
 |group|String|nogroup|Local group to run instance under.|
 |use_http1|Boolean|0|If set to 1, use HTTP/1 on installations with broken/outdated ```curl``` package. Included for posterity reasons, you will most likely not ever need it on OpenWrt.|
-|verbosity|Integer||Use setting between 1 to 4 to control the logging verbosity level.|String
+|verbosity|Integer|0|logging verbosity level. fatal = 0, error = 1, warning = 2, info = 3, debug = 4|
+|ipv6_resolvers_only|Boolean|0|If set to 1, Forces IPv6 DNS resolvers instead of IPv4|
 
 ## Thanks
 
index 7f8ecd5979b0afc75edfdcd9694e6b37c7f8d720..3c5eecf4d1c006899524ea6dd7ee892db748fb64 100644 (file)
@@ -8,8 +8,6 @@ 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'
@@ -18,5 +16,3 @@ 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
index 91c9f1ae03b0ea189f5874d0690232a864e2e53b..8dd509edb1b271dfeecd924bae76bee4f2e00091 100755 (executable)
@@ -46,13 +46,17 @@ start_instance() {
        append_parm "$cfg" 'proxy_server' '-t'
        append_parm "$cfg" 'logfile' '-l'
        append_bool "$cfg" 'use_http1' '-x'
-       append_bool "$cfg" 'ipv4_resolvers' '-4'
 
        config_get verbosity "$cfg" 'verbosity' "0"
        for i in $(seq 1 $verbosity); do
                xappend "-v"
        done
 
+       config_get_bool ipv6_resolvers_only "$cfg" 'ipv6_resolvers_only' '0'
+       if [ "$ipv6_resolvers_only" == 0 ]; then
+               xappend "-4"
+       fi
+
        procd_open_instance
 # shellcheck disable=SC2086
        procd_set_param command ${PROG} ${param}
@@ -64,22 +68,12 @@ start_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}"
+               config_foreach dnsmasq_add_doh_server 'dnsmasq' "${listen_addr}" "${listen_port}"
        elif [ -n "$dnsmasqConfig" ]; then
                for i in $dnsmasqConfig; do
-                       dnsmasq_add_doh_server "@dnsmasq[${i}]" "${listen_addr}#${listen_port}"
+                       dnsmasq_add_doh_server "@dnsmasq[${i}]" "${listen_addr}" "${listen_port}"
                done
        fi
        p="$((p+1))"
@@ -117,9 +111,20 @@ service_triggers() {
 }
 
 dnsmasq_add_doh_server() {
-       local cfg="$1" value="$2"
-       uci -q del_list dhcp."$cfg".server="$value"
-       uci -q add_list dhcp."$cfg".server="$value"
+       local cfg="$1" address="$2" port="$3"
+
+       # Don't add the any address to dnsmasq
+       case $address in
+               0.0.0.0|::ffff:0.0.0.0)
+                       address='127.0.0.1'
+                       ;;
+               ::)
+                       address='::1'
+                       ;;
+       esac
+
+       uci -q del_list dhcp."$cfg".server="$address#$port"
+       uci -q add_list dhcp."$cfg".server="$address#$port"
 }
 
 dnsmasq_create_server_backup() {