Bump tor to 0.4.2.7
[librecmc/librecmc.git] / package / network / services / tor / files / tor.init
index 1480e73ebf56744c539ebd67776f846b6b306174..142e2512def11559dcf42df3d47ea40feaaa677e 100644 (file)
@@ -6,18 +6,47 @@ STOP=50
 
 USE_PROCD=1
 
-start_service() {
-       touch /var/run/tor.pid
-       chown tor:tor /var/run/tor.pid
+TORRC_GEN="/tmp/torrc"
+
+handle_conf_file() {
+       local conf_path="$1"
+       if [ -f "$conf_path" ] || [ -d "$conf_path" ]; then
+               echo "%include $conf_path"
+       fi
+}
 
+generate_conf() {
+       local default_conf generated_conf
+
+       config_load tor
+       config_get default_conf conf default "/etc/tor/torrc"
+       config_get generated_conf conf generated "/tmp/torrc"
+       TORRC_GEN="$generated_conf"
+
+       {
+       echo "## This file was automatically generated please do not edit here !"
+       config_list_foreach "conf" head_include handle_conf_file
+       echo "%include $default_conf"
+       config_list_foreach "conf" tail_include handle_conf_file
+       } > "$TORRC_GEN"
+}
+
+reload_service() {
+       procd_send_signal /usr/sbin/tor
+}
+
+start_service() {
        mkdir -m 0700 -p /var/lib/tor
        chown -R tor:tor /var/lib/tor
 
        mkdir -m 0755 -p /var/log/tor
        chown -R tor:tor /var/log/tor
 
+       generate_conf
+
        procd_open_instance
        procd_set_param command /usr/sbin/tor --runasdaemon 0
+       procd_append_param command -f "$TORRC_GEN"
        procd_set_param respawn
        procd_close_instance
 }