aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/busybox/files/telnet
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2013-06-21 16:54:37 +0000
committerJohn Crispin <blogic@openwrt.org>2013-06-21 16:54:37 +0000
commitf1b4824c865b228039d84b2605b2e7e4f34cddeb (patch)
tree37c9cbe251e4fb790aaa72e862c35822be30b491 /package/utils/busybox/files/telnet
parentd2642de7494bba312bbb22cfeb3ad77130a10047 (diff)
downloadmaster-187ad058-f1b4824c865b228039d84b2605b2e7e4f34cddeb.tar.gz
master-187ad058-f1b4824c865b228039d84b2605b2e7e4f34cddeb.tar.bz2
master-187ad058-f1b4824c865b228039d84b2605b2e7e4f34cddeb.zip
packages: clean up the package folder
Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37007 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/utils/busybox/files/telnet')
-rwxr-xr-xpackage/utils/busybox/files/telnet37
1 files changed, 37 insertions, 0 deletions
diff --git a/package/utils/busybox/files/telnet b/package/utils/busybox/files/telnet
new file mode 100755
index 0000000000..994e713e70
--- /dev/null
+++ b/package/utils/busybox/files/telnet
@@ -0,0 +1,37 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006-2011 OpenWrt.org
+
+START=50
+
+has_root_pwd() {
+ local pwd=$([ -f "$1" ] && cat "$1")
+ pwd="${pwd#*root:}"
+ pwd="${pwd%%:*}"
+
+ test -n "${pwd#[\!x]}"
+}
+
+get_root_home() {
+ local homedir=$([ -f "$1" ] && cat "$1")
+ homedir="${homedir#*:*:0:0:*:}"
+
+ echo "${homedir%%:*}"
+}
+
+has_ssh_pubkey() {
+ ( /etc/init.d/dropbear enabled 2> /dev/null && grep -qs "^ssh-" /etc/dropbear/authorized_keys ) || \
+ ( /etc/init.d/sshd enabled 2> /dev/null && grep -qs "^ssh-" "$(get_root_home /etc/passwd)"/.ssh/authorized_keys )
+}
+
+start() {
+ if ( ! has_ssh_pubkey && \
+ ! has_root_pwd /etc/passwd && ! has_root_pwd /etc/shadow ) || \
+ ( ! /etc/init.d/dropbear enabled 2> /dev/null && ! /etc/init.d/sshd enabled 2> /dev/null );
+ then
+ service_start /usr/sbin/telnetd -l /bin/login.sh
+ fi
+}
+
+stop() {
+ service_stop /usr/sbin/telnetd
+}