]> git.saurik.com Git - apple/network_cmds.git/blobdiff - rlogind.tproj/rlogind.c
network_cmds-245.1.tar.gz
[apple/network_cmds.git] / rlogind.tproj / rlogind.c
index 4cb0575b4deaa0283ba516e4f3ea8a5a895dedd7..5bd88f80944764eaa77b56971b06fce3ea09773d 100644 (file)
@@ -598,11 +598,19 @@ do_rlogin(dest)
        getstr(term+ENVSIZE, sizeof(term)-ENVSIZE, "Terminal type too long");
 
        pwd = getpwnam(lusername);
-       if (pwd == NULL)
+       if (pwd == NULL) {
+               syslog(LOG_ERR,
+                      "rlogin denied for user %s: getpwnam() failed\n",
+                      lusername);
                return (-1);
-       if (pwd->pw_uid == 0)
+       }
+       if (pwd->pw_uid == 0 && strcmp("root", lusername))
+       {
+               syslog(LOG_ALERT,
+                      "rlogin denied for non-root user %s with uid 0\n",
+                      lusername);
                return (-1);
-       /* XXX why don't we syslog() failure? */
+       }
        return (iruserok(dest->sin_addr.s_addr, 0, rusername, lusername));
 }