| Summary: | non-accessible user's home directory not reported when ChrootDirectory=none | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Portable OpenSSH | Reporter: | Jan Pechanec <Jan.Pechanec> | ||||
| Component: | sshd | Assignee: | Assigned to nobody <unassigned-bugs> | ||||
| Status: | CLOSED FIXED | ||||||
| Severity: | normal | CC: | djm | ||||
| Priority: | P3 | ||||||
| Version: | 5.2p1 | ||||||
| Hardware: | All | ||||||
| OS: | Solaris | ||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 1708 | ||||||
| Attachments: |
|
||||||
Fix applied - thanks. This will be in OpenSSH-5.6 Move resolved bugs to CLOSED after 5.7 release |
Created attachment 1608 [details] suggested patch ChrootDirectory=none is the same as not specifying ChrootDirectory at all. In both cases, sshd should report when the user's directory can't be cd into. It does that only when chroot_directory is NULL. There is a missing check for "none" in session.c: /* Suppress missing homedir warning for chroot case */ #ifdef HAVE_LOGIN_CAP r = login_getcapbool(lc, "requirehome", 0); #endif if (r || options.chroot_directory == NULL) fprintf(stderr, "Could not chdir to home " "directory %s: %s\n", pw->pw_dir, strerror(errno)); all other checks with chroot_directory has that "none" part. The patch to fix this is very simple and attached. Tested against 5.2p1.