+ if (pwd && pwd->pw_uid == 0)
+ rootlogin = 1;
+
+ (void)setpriority(PRIO_PROCESS, 0, -4);
+
+ p = getpass("Password:");
+
+ if (pwd) {
+#ifdef KERBEROS
+ rval = klogin(pwd, instance, localhost, p);
+ if (rval != 0 && rootlogin && pwd->pw_uid != 0)
+ rootlogin = 0;
+ if (rval == 0)
+ authok = 1;
+ else if (rval == 1)
+ rval = strcmp(crypt(p, salt), pwd->pw_passwd);
+#else
+ rval = strcmp(crypt(p, salt), pwd->pw_passwd);
+#endif
+ }
+ memset(p, 0, strlen(p));
+
+ (void)setpriority(PRIO_PROCESS, 0, 0);