|
|
- #!/bin/sh /etc/rc.common
- # Copyright (C) 2014 OpenWrt.org
-
- START=60
-
- USE_PROCD=1
-
- PROG=/usr/sbin/mactelnetd
- USERS=/var/etc/mactelnetd.users
- SSHMODE=0
-
- add_account() {
- local cfg="$1"
- local user pass
-
- [ $SSHMODE -eq 0 ] || {
- [ -n "$already_warned" ] || {
- echo "mactelnet.$cfg: login sections ignored in SSH mode" >&1
- already_warned=1
- }
- return
- }
-
- config_get username "$cfg" username
- config_get password "$cfg" password
-
- [ -n "$username" ] || {
- echo "mactelnet.$cfg: username missing" >&2
- return
- }
-
- [ -n "$password" ] || {
- echo "mactelnet.$cfg: password missing" >&2
- return
- }
-
- echo "$username:$password" >> $USERS
- }
-
- add_interface() {
- local iface="$1"
- local device
-
- [ -n "$iface" ] || return
-
- if network_get_physdev device "$iface"; then
- procd_append_param command -i "$device"
- fi
-
- procd_add_reload_interface_trigger "$iface"
- }
-
- add_globals() {
- local cfg="$1"
-
- config_get_bool SSHMODE "$cfg" sshmode 0
- [ $SSHMODE -eq 0 ] || procd_append_param command -S
-
- config_list_foreach "$cfg" interface add_interface
- }
-
- start_service() {
- . /lib/functions/network.sh
-
- procd_open_instance
-
- procd_add_reload_trigger mactelnet
- procd_set_param command "$PROG" -f
-
- config_load mactelnet
- config_foreach add_globals mactelnetd
-
- [ $SSHMODE -eq 1 ] || {
- rm -f $USERS
- config_foreach add_account login
- }
-
- procd_close_instance
- }
-
|