[BACK]Return to session.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/session.c between version 1.278 and 1.279

version 1.278, 2015/04/24 01:36:00 version 1.279, 2015/10/24 22:52:22
Line 142 
Line 142 
 login_cap_t *lc;  login_cap_t *lc;
   
 static int is_child = 0;  static int is_child = 0;
   static int in_chroot = 0;
   
 /* Name and directory of socket for authentication agent forwarding. */  /* Name and directory of socket for authentication agent forwarding. */
 static char *auth_sock_name = NULL;  static char *auth_sock_name = NULL;
Line 1212 
Line 1213 
                         exit(1);                          exit(1);
                 }                  }
   
                 if (options.chroot_directory != NULL &&                  if (!in_chroot && options.chroot_directory != NULL &&
                     strcasecmp(options.chroot_directory, "none") != 0) {                      strcasecmp(options.chroot_directory, "none") != 0) {
                         tmp = tilde_expand_filename(options.chroot_directory,                          tmp = tilde_expand_filename(options.chroot_directory,
                             pw->pw_uid);                              pw->pw_uid);
Line 1224 
Line 1225 
                         /* Make sure we don't attempt to chroot again */                          /* Make sure we don't attempt to chroot again */
                         free(options.chroot_directory);                          free(options.chroot_directory);
                         options.chroot_directory = NULL;                          options.chroot_directory = NULL;
                           in_chroot = 1;
                 }                  }
   
                 /* Set UID */                  /* Set UID */
Line 1412 
Line 1414 
         if (chdir(pw->pw_dir) < 0) {          if (chdir(pw->pw_dir) < 0) {
                 /* Suppress missing homedir warning for chroot case */                  /* Suppress missing homedir warning for chroot case */
                 r = login_getcapbool(lc, "requirehome", 0);                  r = login_getcapbool(lc, "requirehome", 0);
                 if (r || options.chroot_directory == NULL ||                  if (r || !in_chroot) {
                     strcasecmp(options.chroot_directory, "none") == 0)  
                         fprintf(stderr, "Could not chdir to home "                          fprintf(stderr, "Could not chdir to home "
                             "directory %s: %s\n", pw->pw_dir,                              "directory %s: %s\n", pw->pw_dir,
                             strerror(errno));                              strerror(errno));
                   }
                 if (r)                  if (r)
                         exit(1);                          exit(1);
         }          }

Legend:
Removed from v.1.278  
changed lines
  Added in v.1.279