mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 07:28:39 +01:00
Add mac-telnet - a layer 2 Telnet/SSH server useful to access bricked devices
This package adds the mac-telnet server, client, ping and discovery utilities. See https://github.com/aouyar/MAC-Telnet for details. This package uses the fork from https://github.com/jow-/MAC-Telnet as source, the code there has a number of bugfixes and results in smaller binaries since most core functionality has been ported to libubox facilities provided by OpenWrt. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
# Global settings for MAC-Telnet daemon
|
||||
config mactelnetd
|
||||
option sshmode '0'
|
||||
list interface 'lan'
|
||||
|
||||
# Define a MAC-Telnet login, multiple login sections allowed
|
||||
config login
|
||||
option username 'root'
|
||||
option password 'secret'
|
||||
Executable
+80
@@ -0,0 +1,80 @@
|
||||
#!/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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user