packages/imspector: use new service functions, change 'enable' option to 'enabled'
[openwrt/svn-archive/archive.git] / net / imspector / files / imspector.init
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2008-2011 OpenWrt.org
3
4 START=50
5
6 CFGFILE=/var/etc/imspector.conf
7
8 atom() {
9 local section="$1"
10 local option="$2"
11
12 config_get _value "$section" "$option"
13 [ -n "$_value" ] && echo "$option=${_value}"
14 }
15
16 start_instance() {
17 local section="$1"
18
19 config_get_bool enabled "$section" enabled '0'
20 [ $enabled -gt 0 ] || return 1
21
22 echo '### AUTOGENERATED CONFIGURATION' > $CFGFILE
23 echo '### DO NOT EDIT' >> $CFGFILE
24 echo '### SEE /etc/config/imspector INSTEAD' >> $CFGFILE
25 echo '' >> $CFGFILE
26
27 options='listenaddr port http_port pidfilename plugin_dir
28 user group ssl ssl_key ssl_cert ssl_ca_key ssl_ca_cert
29 ssl_cert_dir ssl_verify_dir ssl_verify response_prefix
30 response_postfix responder_filename notice_days notice_response
31 filtered_mins filtered_response icq_protocol irc_protocol
32 msn_protocol yahoo_protocol gg_protocol jabber_protocol
33 https_protocol log_typing_events file_logging_dir mysql_server
34 mysql_database mysql_username mysql_password sqlite_file
35 pgsql_connect badwords_filename badwords_replace_character
36 badwords_block_count acl_filename db_filter_filename
37 block_files block_webcams censord'
38
39 for option in $options; do
40 atom "$section" "$option" '"' >> $CFGFILE
41 done
42
43 service_start /usr/sbin/imspector -c "$CFGFILE"
44 }
45
46 start() {
47 mkdir -m 0755 -p /var/etc
48 mkdir -m 0755 -p /var/log/imspector
49
50 config_load 'imspector'
51 config_foreach start_instance 'imspector'
52 }
53
54 stop() {
55 service_stop /usr/sbin/imspector
56 }