Bug 1564

Summary: non-accessible user's home directory not reported when ChrootDirectory=none
Product: Portable OpenSSH Reporter: Jan Pechanec <Jan.Pechanec>
Component: sshdAssignee: 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:
Description Flags
suggested patch none

Description Jan Pechanec 2009-02-26 23:21:07 AEDT
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.
Comment 1 Damien Miller 2010-06-18 13:16:15 AEST
Fix applied - thanks. This will be in OpenSSH-5.6
Comment 2 Damien Miller 2011-01-24 12:33:53 AEDT
Move resolved bugs to CLOSED after 5.7 release