|
Lines 57-62
Link Here
|
| 57 |
|
57 |
|
| 58 |
#include "port-aix.h" |
58 |
#include "port-aix.h" |
| 59 |
|
59 |
|
|
|
60 |
static char *lastlogin_msg = NULL; |
| 61 |
|
| 60 |
# ifdef HAVE_SETAUTHDB |
62 |
# ifdef HAVE_SETAUTHDB |
| 61 |
static char old_registry[REGISTRY_SIZE] = ""; |
63 |
static char old_registry[REGISTRY_SIZE] = ""; |
| 62 |
# endif |
64 |
# endif |
|
Lines 276-298
sys_auth_record_login(const char *user,
Link Here
|
| 276 |
Buffer *loginmsg) |
278 |
Buffer *loginmsg) |
| 277 |
{ |
279 |
{ |
| 278 |
char *msg = NULL; |
280 |
char *msg = NULL; |
| 279 |
static int msg_done = 0; |
|
|
| 280 |
int success = 0; |
281 |
int success = 0; |
| 281 |
|
282 |
|
| 282 |
aix_setauthdb(user); |
283 |
aix_setauthdb(user); |
| 283 |
if (loginsuccess((char *)user, (char *)host, (char *)ttynm, &msg) == 0) { |
284 |
if (loginsuccess((char *)user, (char *)host, (char *)ttynm, &msg) == 0) { |
| 284 |
success = 1; |
285 |
success = 1; |
| 285 |
if (msg != NULL && loginmsg != NULL && !msg_done) { |
286 |
if (msg != NULL) { |
| 286 |
debug("AIX/loginsuccess: msg %s", msg); |
287 |
debug("AIX/loginsuccess: msg %s", msg); |
| 287 |
buffer_append(loginmsg, msg, strlen(msg)); |
288 |
if (lastlogin_msg == NULL) |
| 288 |
xfree(msg); |
289 |
lastlogin_msg = msg; |
| 289 |
msg_done = 1; |
|
|
| 290 |
} |
290 |
} |
| 291 |
} |
291 |
} |
| 292 |
aix_restoreauthdb(); |
292 |
aix_restoreauthdb(); |
| 293 |
return (success); |
293 |
return (success); |
| 294 |
} |
294 |
} |
| 295 |
|
295 |
|
|
|
296 |
char * |
| 297 |
sys_auth_get_lastlogin_msg(const char *user, uid_t uid) |
| 298 |
{ |
| 299 |
char *msg = lastlogin_msg; |
| 300 |
|
| 301 |
lastlogin_msg = NULL; |
| 302 |
return msg; |
| 303 |
} |
| 304 |
|
| 296 |
# ifdef CUSTOM_FAILED_LOGIN |
305 |
# ifdef CUSTOM_FAILED_LOGIN |
| 297 |
/* |
306 |
/* |
| 298 |
* record_failed_login: generic "login failed" interface function |
307 |
* record_failed_login: generic "login failed" interface function |