diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | auth.c | 10 | ||||
-rw-r--r-- | session.c | 1 |
3 files changed, 12 insertions, 3 deletions
@@ -10,6 +10,8 @@ | |||
10 | on one by peak@argo.troja.mff.cuni.cz | 10 | on one by peak@argo.troja.mff.cuni.cz |
11 | - (djm) Bug #111: Run syslog and stderr logging through strnvis to eliminate | 11 | - (djm) Bug #111: Run syslog and stderr logging through strnvis to eliminate |
12 | nasties. Report from peak@argo.troja.mff.cuni.cz | 12 | nasties. Report from peak@argo.troja.mff.cuni.cz |
13 | - (djm) Bug #178: On AIX /etc/nologin wasnt't shown to users. Fix from | ||
14 | Ralf.Wenk@fh-karlsruhe.de and dtucker@zip.com.au | ||
13 | 15 | ||
14 | 20030103 | 16 | 20030103 |
15 | - (djm) Bug #461: ssh-copy-id fails with no arguments. Patch from | 17 | - (djm) Bug #461: ssh-copy-id fails with no arguments. Patch from |
@@ -938,4 +940,4 @@ | |||
938 | save auth method before monitor_reset_key_state(); bugzilla bug #284; | 940 | save auth method before monitor_reset_key_state(); bugzilla bug #284; |
939 | ok provos@ | 941 | ok provos@ |
940 | 942 | ||
941 | $Id: ChangeLog,v 1.2546 2003/01/07 06:04:18 djm Exp $ | 943 | $Id: ChangeLog,v 1.2547 2003/01/07 06:38:58 djm Exp $ |
@@ -218,6 +218,8 @@ allowed_user(struct passwd * pw) | |||
218 | */ | 218 | */ |
219 | if ( (pw->pw_uid != 0) && (geteuid() == 0) && | 219 | if ( (pw->pw_uid != 0) && (geteuid() == 0) && |
220 | loginrestrictions(pw->pw_name, S_RLOGIN, NULL, &loginmsg) != 0) { | 220 | loginrestrictions(pw->pw_name, S_RLOGIN, NULL, &loginmsg) != 0) { |
221 | int loginrestrict_errno = errno; | ||
222 | |||
221 | if (loginmsg && *loginmsg) { | 223 | if (loginmsg && *loginmsg) { |
222 | /* Remove embedded newlines (if any) */ | 224 | /* Remove embedded newlines (if any) */ |
223 | char *p; | 225 | char *p; |
@@ -227,9 +229,13 @@ allowed_user(struct passwd * pw) | |||
227 | } | 229 | } |
228 | /* Remove trailing newline */ | 230 | /* Remove trailing newline */ |
229 | *--p = '\0'; | 231 | *--p = '\0'; |
230 | log("Login restricted for %s: %.100s", pw->pw_name, loginmsg); | 232 | log("Login restricted for %s: %.100s", pw->pw_name, |
233 | loginmsg); | ||
231 | } | 234 | } |
232 | return 0; | 235 | /* Don't fail if /etc/nologin set */ |
236 | if (!(loginrestrict_errno == EPERM && | ||
237 | stat(_PATH_NOLOGIN, &st) == 0)) | ||
238 | return 0; | ||
233 | } | 239 | } |
234 | #endif /* WITH_AIXAUTHENTICATE */ | 240 | #endif /* WITH_AIXAUTHENTICATE */ |
235 | 241 | ||
@@ -1194,6 +1194,7 @@ do_nologin(struct passwd *pw) | |||
1194 | while (fgets(buf, sizeof(buf), f)) | 1194 | while (fgets(buf, sizeof(buf), f)) |
1195 | fputs(buf, stderr); | 1195 | fputs(buf, stderr); |
1196 | fclose(f); | 1196 | fclose(f); |
1197 | fflush(NULL); | ||
1197 | exit(254); | 1198 | exit(254); |
1198 | } | 1199 | } |
1199 | } | 1200 | } |