base-files: fix telnet login on musl
[openwrt.git] / package / base-files / files / bin / login.sh
index b46769a..25627b6 100755 (executable)
@@ -1,7 +1,10 @@
 #!/bin/sh
 # Copyright (C) 2006-2011 OpenWrt.org
 
-if grep -qs '^root:[^!:]' /etc/passwd /etc/shadow && [ -z "$FAILSAFE" ]; then
+if ( ! grep -qsE '^root:[!x]?:' /etc/shadow || \
+     ! grep -qsE '^root:[!x]?:' /etc/passwd ) && \
+   [ -z "$FAILSAFE" ]
+then
        echo "Login failed."
        exit 0
 else