* Made Makefiles attribute aware
[project/luci.git] / applications / luci-statistics / root / etc / init.d / luci_statistics
old mode 100644 (file)
new mode 100755 (executable)
index 20f7865..54faa41
@@ -1,85 +1,28 @@
 #!/bin/sh /etc/rc.common
-START=70
+START=79
 
-iface_add() {
-       local cfg="$1"
-       
-       config_get net "$cfg" network
-       [ -n "$net" ] || return 0
-       
-       config_get iface "$net" ifname
-       [ -n "$iface" ] || return 0
-       iface="${iface%%:*}"
-       
-       config_get ipaddr "$net" ipaddr
-       [ -n "$ipaddr" ] || return 0
-       
-       config_get netmask "$net" netmask
-       [ -n "$netmask" ] || return 0
-       
-       eval "$(ipcalc.sh $ipaddr $netmask)"
-       
-       iptables -t nat -A luci_splash -i "$iface" -s "$NETWORK/$PREFIX" -j luci_splash_portal
-       iptables -t nat -A luci_splash_portal -i "$iface" -s "$NETWORK/$PREFIX" -d "$ipaddr" -p tcp -m multiport --dports 22,80,443 -j RETURN
-}
+start() {
+       ### replace shipped config with symlink
+       if [ ! -L /etc/collectd.conf ]; then
+               test -f /etc/collectd.conf && mv /etc/collectd.conf /etc/collectd.conf.bak
+               ln -s /var/etc/collectd.conf /etc/collectd.conf
+       fi
 
-blacklist_add() {
-       local cfg="$1"
-       
-       config_get mac "$cfg" mac
-       [ -n "$mac" ] && iptables -t nat -A luci_splash_portal -m mac --mac-source "$mac" -j DROP
-}
+       ### create config
+       mkdir -p /var/etc
+       /usr/bin/stat-genconfig > /var/etc/collectd.conf
 
-whitelist_add() {
-       local cfg="$1"
-       
-       config_get mac "$cfg" mac
-       [ -n "$mac" ] && iptables -t nat -A luci_splash_portal -m mac --mac-source "$mac" -j RETURN
+       ### prepare rrdimg directory
+       if [ ! -L /www/rrdimg ]; then
+               imagepath="$(uci get luci_statistics.rrdtool.image_path)"
+               ln -s ${imagepath:-/tmp/rrdimg}/ /www/rrdimg
+       fi
 }
 
-start() {
-       ### Read chains from config
-       include /lib/network
-       scan_interfaces
-       config_load luci_splash
-       
-       ### Create subchains
-       iptables -t nat -N luci_splash
-       iptables -t nat -N luci_splash_portal
-       iptables -t nat -N luci_splash_leases
-       
-       ### Build the main and portal rule
-       config_foreach blacklist_add blacklist
-       config_foreach whitelist_add whitelist
-       config_foreach iface_add iface
-       
-       ### Build the portal rule
-       iptables -t nat -A luci_splash_portal -p udp --dport 53 -j RETURN
-       iptables -t nat -A luci_splash_portal -j luci_splash_leases
-       
-       ### Build the leases rule
-       iptables -t nat -A luci_splash_leases -p tcp --dport 80 -j REDIRECT --to-ports 8082
-       iptables -t nat -A luci_splash_leases -j DROP
-       
-       ### Start the splash httpd
-       httpd -c /etc/luci_splash_httpd.conf -p 8082 -h /usr/lib/luci-splash/htdocs
-       
-       ### Hook in the chain
-       iptables -t nat -A prerouting_rule -j luci_splash
-}
+restart() {
+        ### regenerate config / prepare environment
+        start()
 
-stop() {
-       ### Hook out the chain
-       iptables -t nat -D prerouting_rule -j luci_splash
-       
-       ### Clear subchains
-       iptables -t nat -F luci_splash_leases
-       iptables -t nat -F luci_splash_portal
-       iptables -t nat -F luci_splash  
-       
-       ### Delete subchains
-       iptables -t nat -X luci_splash_leases
-       iptables -t nat -X luci_splash_portal
-       iptables -t nat -X luci_splash
+        ### restart collectd
+        /etc/init.d/collectd restart
 }
-