lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

squid.init (1695B)


      1 #!/bin/sh /etc/rc.common
      2 # Copyright (C) 2015 OpenWrt.org
      3 
      4 START=90
      5 STOP=10
      6 
      7 USE_PROCD=1
      8 PROG=/usr/sbin/squid
      9 CONFIGFILE="/tmp/squid/squid.conf"
     10 
     11 validate_squid_section() {
     12 	uci_validate_section squid squid "${1}" \
     13 		'config_file:string' \
     14 		'http_port:port:3128' \
     15 		'http_port_options:string' \
     16 		'ssldb:string' \
     17 		'ssldb_options:string' \
     18 		'coredump_dir:string' \
     19 		'visible_hostname:string:OpenWrt' \
     20 		'pinger_enable:string:off'
     21 }
     22 
     23 start_service() {
     24 	local config_file http_port http_port_options ssldb ssldb_options coredump_dir visible_hostname pinger_enable
     25 
     26 	validate_squid_section squid || {
     27 		echo "validation failed"
     28 		return 1
     29 	}
     30 
     31 	config_dir=$(dirname $CONFIGFILE)
     32 	[ -d $config_dir ] || mkdir -p $config_dir && chown nobody:nogroup $config_dir
     33 	[ -d $coredump_dir ] || mkdir -p $coredump_dir && chown nobody:nogroup $coredump_dir
     34 	[ "$ssldb" ] && ( [ -f "$ssldb"/size ] || /usr/lib/squid/ssl_crtd -c -s $ssldb && chown -R nobody:nogroup $ssldb )
     35 
     36 	cat $config_file > $CONFIGFILE
     37 	echo http_port $http_port $http_port_options >> $CONFIGFILE
     38 	echo coredump_dir $coredump_dir >> $CONFIGFILE
     39 	echo visible_hostname $visible_hostname >> $CONFIGFILE
     40 	echo pinger_enable $pinger_enable >> $CONFIGFILE
     41 	[ "$ssldb" ] && echo sslcrtd_program /usr/lib/squid/ssl_crtd -s $ssldb $ssldb_options >> $CONFIGFILE
     42 	$PROG -s -f $CONFIGFILE -N -z 2>/dev/null
     43 
     44 	procd_open_instance
     45 	procd_set_param command $PROG -s -f $CONFIGFILE -N
     46 	procd_set_param file $CONFIGFILE
     47 	procd_set_param respawn
     48 	procd_close_instance
     49 }
     50 
     51 stop_service()
     52 {
     53         ${PROG} -f $CONFIGFILE -N -k shutdown 2>/dev/null
     54 }
     55 
     56 service_triggers()
     57 {
     58 	procd_add_reload_trigger "squid"
     59 	procd_add_validation validate_squid_section
     60 }