| Summary: | Connection is dropped for invalid user | ||
|---|---|---|---|
| Product: | Portable OpenSSH | Reporter: | Heinrich.Mislik |
| Component: | sshd | Assignee: | OpenSSH Bugzilla mailing list <openssh-bugs> |
| Status: | CLOSED FIXED | ||
| Severity: | normal | ||
| Priority: | P2 | ||
| Version: | -current | ||
| Hardware: | Alpha | ||
| OS: | AIX | ||
I couldn't replicate this on Linux or OpenBSD, but the code was problematic. Could you try one of the CVS snapshots? http://www.openssh.com/portable.html#cvs I tried openssh-SNAP-20031118.tar.gz and the behavior is now OK. Illegal users are kept in the autloop. Thanks - fix will be in the next release. Mass change of RESOLVED bugs to CLOSED |
If connecting to a server with an illegal userid und an rsa1 key, the connection is dropped immediatly. Normaly, a wrong username will stay in the auth_loop and keep requesting authentication from the user. The reason is in auth-rsa.c in line 293: /* no user given */ if (pw == NULL) return 0; Invalid users nolonger are passwd as NULL-pointers, a faked pw struct is used instead. This results in a call to temporarily_use_uid(pw) with the faked pw struct, which fails with fatal(). As a patch I tried /* no user given */ if (pw == fakepw()) return 0; which worked, but maybe is not the best solution.