=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/session.c,v retrieving revision 1.238 retrieving revision 1.239 diff -u -r1.238 -r1.239 --- src/usr.bin/ssh/session.c 2008/05/09 16:16:06 1.238 +++ src/usr.bin/ssh/session.c 2008/06/14 18:33:43 1.239 @@ -1,4 +1,4 @@ -/* $OpenBSD: session.c,v 1.238 2008/05/09 16:16:06 markus Exp $ */ +/* $OpenBSD: session.c,v 1.239 2008/06/14 18:33:43 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -1276,6 +1276,7 @@ char *argv[ARGV_MAX]; const char *shell, *shell0, *hostname = NULL; struct passwd *pw = s->pw; + int r = 0; /* remove hostkey from the child's memory */ destroy_sensitive_data(); @@ -1362,9 +1363,13 @@ /* Change current directory to the user's home directory. */ if (chdir(pw->pw_dir) < 0) { - fprintf(stderr, "Could not chdir to home directory %s: %s\n", - pw->pw_dir, strerror(errno)); - if (login_getcapbool(lc, "requirehome", 0)) + /* Suppress missing homedir warning for chroot case */ + r = login_getcapbool(lc, "requirehome", 0); + if (r || options.chroot_directory == NULL) + fprintf(stderr, "Could not chdir to home " + "directory %s: %s\n", pw->pw_dir, + strerror(errno)); + if (r) exit(1); }