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 }