[packages] tinc: The initscript for tinc writes a temporary config into /tmp/tinc.
authorSaverio Proto <zioproto@gmail.com>
Tue, 8 Jan 2013 18:56:32 +0000 (18:56 +0000)
committerSaverio Proto <zioproto@gmail.com>
Tue, 8 Jan 2013 18:56:32 +0000 (18:56 +0000)
In the prepare_net function it appends flags and params from the uci config to
the temporary tinc.conf for each net. These values are appended to the
config file on each /etc/init.d/tinc restart and the file grows. By
removing all old temporary config this problem is solved. Then we should
also remove the temporary config for a net which is stopped to free up
some bytes in memory.
Contribution from Manuel Munz <freifunk@somakoma.de>

SVN-Revision: 35053

net/tinc/files/tinc.init

index 55a86a1d70a8d3b91177181c725bc4839563c0ef..9ab1bd00c495b3ee091c4a302054bdb2cb4186e6 100644 (file)
@@ -135,6 +135,9 @@ prepare_net() {
 
        section_enabled "$s" || return 1
 
 
        section_enabled "$s" || return 1
 
+        # rm old config
+        rm -rf "$TMP_TINC/$s/"
+
        [ ! -d "$TMP_TINC/$s" ] && mkdir -p "$TMP_TINC/$s"
        [ -d "/etc/tinc/$s" ] && cp -r "/etc/tinc/$s" "$TMP_TINC/"
 
        [ ! -d "$TMP_TINC/$s" ] && mkdir -p "$TMP_TINC/$s"
        [ -d "/etc/tinc/$s" ] && cp -r "/etc/tinc/$s" "$TMP_TINC/"
 
@@ -179,6 +182,8 @@ stop_instance() {
 
        SERVICE_PID_FILE="/var/run/tinc.$s.pid"
        service_stop $BIN
 
        SERVICE_PID_FILE="/var/run/tinc.$s.pid"
        service_stop $BIN
+       # rm old config
+       rm -rf "$TMP_TINC/$s/"
 }
 
 reload_instance() {
 }
 
 reload_instance() {