lede-packages-rs

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

sslocal.init (1138B)


      1 #!/bin/sh /etc/rc.common
      2 # Copyright (C) 2006-2012 OpenWrt.org
      3 # Copyright (C) 2014 Zhao, Gang <gang.zhao.42@gmail.com>
      4 
      5 START=99
      6 
      7 USE_PROCD=1
      8 PROG=/usr/bin/sslocal
      9 
     10 validate_section_sslocal() {
     11 	uci_validate_section sslocal sslocal "${1}" \
     12 		'server_addr:host' \
     13 		'server_port:port' \
     14 		'local_addr:host' \
     15 		'local_port:port' \
     16 		'password:string' \
     17 		'method:string' \
     18 		'log_level:range(0,7):5'
     19 
     20 	return $?
     21 }
     22 
     23 sslocal_instance() {
     24 	local server_addr server_port local_addr local_port
     25 	local password method log_level
     26 
     27 	validate_section_sslocal "${1}" || {
     28 		echo "validation failed"
     29 		return 1
     30 	}
     31 
     32 	procd_open_instance
     33 	procd_set_param command "$PROG"
     34 	procd_append_param command -s "${server_addr}" -p "${server_port}"
     35 	procd_append_param command -u "${local_addr}" -b "${local_port}"
     36 	procd_append_param command -k "${password}" -m "${method}"
     37 	procd_append_param command -l "${log_level}"
     38 	procd_set_param respawn
     39 	procd_close_instance
     40 }
     41 
     42 start_service() {
     43 	config_load sslocal
     44 
     45 	config_foreach sslocal_instance sslocal
     46 }
     47 
     48 service_triggers()
     49 {
     50 	procd_add_reload_trigger "sslocal"
     51 	procd_add_validation validate_section_sslocal
     52 }