#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=40

BIN=syslogd
LOG_D=/var/log
RUN_D=/var/run
PID_F=$RUN_D/$BIN.pid
LOGREAD_PID_FILE=/var/run/syslog_mail_logread.pid

start() {
	   mkdir -p $RUN_D	
        config_load syslogd
        config_get status syslogd status
        if   [ "$status" != "disable" ]; then
                config_get remotehost syslogd remotehost
                config_get port syslogd port
			  
			  config_get firewall syslogd firewall
			  config_get vpn syslogd vpn
			  config_get useraccess syslogd useraccess
			  config_get calllog syslogd calllog
			  config_get wanlog syslogd wanlog
			  config_get others syslogd others
			  
			  if   [ "$1" != "boot" ]; then
			  		#/etc/init.d/imp2p apply
    			  	#/etc/init.d/commtouch apply
					/etc/init.d/snmpd restart
    		  fi
			  if [ "$firewall" = "enable" ] ;then
			  	 echo 1 > /proc/sys/net/ipv4/firewall_syslog
			  else
			  	 echo 0 > /proc/sys/net/ipv4/firewall_syslog
			  fi
			  	    			  
			  if [ "$useraccess" == "enable" ];then
    				echo 1 > /proc/sys/net/netfilter/nf_conntrack_access_log
    			else
    				echo 0 > /proc/sys/net/netfilter/nf_conntrack_access_log
    			fi
    	
    			if   [ "$status" = "both" ]; then
				/sbin/syslogd -C 128 -R $remotehost:$port -f $firewall -v $vpn -u $useraccess -c $calllog -w  $wanlog -o  $others -L
			elif   [ "$status" = "local" ]; then
				/sbin/syslogd -C 128 -f $firewall -v $vpn -u $useraccess -c $calllog -w  $wanlog -o  $others -L
			elif   [ "$status" = "remote" ]; then
			 	/sbin/syslogd -C 128 -R $remotehost:$port -f $firewall -v $vpn -u $useraccess -c $calllog -w  $wanlog -o  $others
			elif   [ "$status" = "enable" ]; then
				/sbin/syslogd -C 128 -R $remotehost:$port -f $firewall -v $vpn -u $useraccess -c $calllog -w  $wanlog -o  $others 	 
			fi               
               echo 1 > /tmp/syslogfifo
               #/sbin/syslog > /dev/null &
			   
			syslog_mail_enable=$(uci filter config_notify syslog enable)
			if [ "$syslog_mail_enable" != "" ];then
				#if running logread for mail alert, kill it
				if [ -f $LOGREAD_PID_FILE ];then
					logread_pid=$(cat $LOGREAD_PID_FILE)
					kill -9 $logread_pid
					rm -f $LOGREAD_PID_FILE
				fi
				#running logread for mail alert
				/etc/init.d/sms_config run_logread
			fi
        else
			echo 0 > /proc/sys/net/netfilter/nf_conntrack_access_log
			echo 0 > /tmp/syslogfifo
			
			#if running logread for mail alert, kill it
			if [ -f $LOGREAD_PID_FILE ];then
				logread_pid=$(cat $LOGREAD_PID_FILE)
				kill -9 $logread_pid
				rm -f $LOGREAD_PID_FILE
			fi
			#return 0;
        fi
}

stop() {
                killall -9 syslogd
}

restart() {
	stop
	start
}

apply() {
	restart
	uci commit syslogd
}  

boot(){
	start "boot"
	/sbin/syslog > /dev/null &
}

