|
|
- #!/bin/sh /etc/rc.common
-
- START=90
-
- USE_PROCD=1
- PROG=/usr/bin/emailrelay
- NAME=emailrelay
-
-
- emailrelay_instance()
- {
- local enabled mode port remote_clients server_tls server_auth extra_cmdline smarthost client_tls client_auth address_verifier domain anonymous
-
- config_get_bool enabled "$1" enabled
- config_get mode "$1" mode
- config_get port "$1" port
- config_get_bool remote_clients "$1" remote_clients
- config_get server_tls "$1" server_tls
- config_get server_auth "$1" server_auth
- config_get extra_cmdline "$1" extra_cmdline
- config_get smarthost "$1" smarthost
- config_get_bool client_tls "$1" client_tls
- config_get client_auth "$1" client_auth
- config_get address_verifier "$1" address_verifier
- config_get domain "$1" domain
- config_get_bool anonymous "$1" anonymous
-
- [ "$enabled" = 0 ] && return 1
-
- procd_open_instance
- procd_set_param command "$PROG" --no-daemon
-
- case "$mode" in
- "server"|\
- "proxy")
- procd_append_param command "--as-${mode}"
- [ -n "$smarthost" ] && procd_append_param command "$smarthost"
- [ -n "$port" ] && procd_append_param command --port "$port"
- [ "$remote_clients" = 1 ] && procd_append_param command --remote-clients
- [ -n "$server_tls" ] && procd_append_param command --server-tls "$server_tls"
- [ -n "$server_auth" ] && procd_append_param command --server-auth "$server_auth"
- [ "$client_tls" = 1 ] && procd_append_param command --client-tls
- [ -n "$client_auth" ] && procd_append_param command --client-auth "$client_auth"
- [ -n "$address_verifier" ] && procd_append_param command --address-verifier "$address_verifier"
- [ -n "$domain" ] && procd_append_param command --domain "$domain"
- [ "$anonymous" = 1 ] && procd_append_param command --anonymous
- ;;
- "cmdline")
- # empty by intention (just append extra_cmdline)
- ;;
- *)
- echo "no mode specified"
- return 1
- ;;
- esac
-
- [ -n "$extra_cmdline" ] && procd_append_param command $extra_cmdline
-
- procd_set_param respawn
-
- procd_close_instance
- }
-
-
- start_service()
- {
- [ ! -d /var/spool/emailrelay ] && mkdir -p /var/spool/emailrelay
-
- config_load "${NAME}"
- config_foreach emailrelay_instance emailrelay
- }
|