pbr: bugfix: filter only static routes for new tables
[feed/packages.git] / net / dnsproxy / files / dnsproxy.init
index ab1382d3f1f07e7e702fa6f4e9aaf86d9159c8c1..86062d142a6a8b7979021727ff774d10c9886750 100644 (file)
@@ -9,7 +9,7 @@ PROG="/usr/bin/dnsproxy"
 
 is_enabled() {
        local enabled
-       config_get enabled "$1" "$2" "0"
+       config_get_bool enabled "$1" "$2" "0"
        if [ "$enabled" -eq "1" ]; then
                return 0
        else
@@ -42,8 +42,6 @@ append_param_bool() {
 }
 
 load_config_arg() {
-       append_param_bool "$1" "all_servers"
-       append_param_bool "$1" "fastest_addr"
        append_param_bool "$1" "http3"
        append_param_bool "$1" "insecure"
        append_param_bool "$1" "ipv6_disabled"
@@ -54,13 +52,13 @@ load_config_arg() {
 load_config_list() {
        if is_empty "global" "listen_addr"; then
                append_param "--listen" "127.0.0.1"
-       else 
+       else
                config_list_foreach "global" "listen_addr" "append_param '--listen'"
        fi
 
        if is_empty "global" "listen_port"; then
                append_param "--port" "5353"
-       else 
+       else
                config_list_foreach "global" "listen_port" "append_param '--port'"
        fi
 
@@ -78,10 +76,11 @@ load_config_list() {
 
 load_config_param() {
        append_param_arg "global" "log_file" "--output"
-       append_param_arg "global" "timeout" "--timeout"
        append_param_arg "global" "max_go_routines" "--max-go-routines"
        append_param_arg "global" "rate_limit" "--ratelimit"
+       append_param_arg "global" "timeout" "--timeout"
        append_param_arg "global" "udp_buf_size" "--udp-buf-size"
+       append_param_arg "global" "upstream_mode" "--upstream-mode"
 
        is_enabled "cache" "enabled" && {
                append_param "--cache"
@@ -127,6 +126,12 @@ start_service() {
        load_config_list
        load_config_param
 
+       # This must be set at last, all other options set after this will be ignored
+       is_enabled "hosts" "enabled" && {
+               append_param "--hosts-file-enabled" "true"
+               config_list_foreach "hosts" "hosts_files" "append_param '--hosts-files'"
+       } || append_param "--hosts-file-enabled" "false"
+
        procd_set_param respawn
        procd_set_param stdout 1
        procd_set_param stderr 1
@@ -134,19 +139,16 @@ start_service() {
 
        procd_add_jail dnsproxy ronly log
        procd_set_param capabilities "/etc/capabilities/dnsproxy.json"
+       procd_add_jail_mount "/etc/hosts"
        procd_add_jail_mount "/etc/ssl/certs/ca-certificates.crt"
        [ -z "$log_file" ] || procd_add_jail_mount_rw "$log_file"
        [ -z "$tls_crt" ] || procd_add_jail_mount "$tls_crt"
        [ -z "$tls_key" ] || procd_add_jail_mount "$tls_key"
+       is_enabled "hosts" "enabled" && config_list_foreach "hosts" "hosts_files" "procd_add_jail_mount"
 
        procd_close_instance
 }
 
-reload_service() {
-       stop
-       start
-}
-
 service_triggers() {
        procd_add_reload_trigger "$CONF"
 }