The patch below follows changes in AIX utmp handling made between AIX 4.3.3 and 5.1. With it, utmp entries are properly recorded again. The patch applies to OpenSSH 3.1p1, and seems to work fine. The co-worker who sent me the patch hasn't tested backwards compatibility on AIX 4.3.3 systems. Richard ------- *** openssh-2.9.9p2/auth-passwd.c.org Tue Jul 3 23:21:15 2001 --- openssh-2.9.9p2/auth-passwd.c Tue Oct 2 10:13:47 2001 *************** *** 147,153 **** } #endif #ifdef WITH_AIXAUTHENTICATE ! return (authenticate(pw->pw_name,password,&reenter,&authmsg) == 0); #endif #ifdef KRB4 if (options.kerberos_authentication == 1) { --- 147,157 ---- } #endif #ifdef WITH_AIXAUTHENTICATE ! if (authenticate(pw->pw_name,password,&reenter,&authmsg) == 0) ! return 1; ! loginfailed(authctxt->user, ! get_canonical_hostname(options.reverse_mapping_check), "ssh"); ! return 0; #endif #ifdef KRB4 if (options.kerberos_authentication == 1) { *** openssh-2.9.9p2/auth2.c.org Tue Oct 2 17:54:29 2001 --- openssh-2.9.9p2/auth2.c Tue Oct 2 17:54:56 2001 *************** *** 275,280 **** --- 275,287 ---- /* XXX todo: check if multiple auth methods are needed */ if (authenticated == 1) { + #ifdef WITH_AIXAUTHENTICATE + /* We don't have a pty yet, so just label the line as "ssh" */ + if (loginsuccess(authctxt->user?authctxt->user:"NOUSER", + get_canonical_hostname(options.reverse_mapping_check), + "ssh", &aixloginmsg) < 0) + aixloginmsg = NULL; + #endif /* WITH_AIXAUTHENTICATE */ /* turn off userauth */ dispatch_set(SSH2_MSG_USERAUTH_REQUEST, &protocol_error); packet_start(SSH2_MSG_USERAUTH_SUCCESS);