[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.111 and 1.112

version 1.111, 2001/12/06 18:09:23 version 1.112, 2001/12/19 07:18:56
Line 208 
Line 208 
                         compression_level = packet_get_int();                          compression_level = packet_get_int();
                         if (compression_level < 1 || compression_level > 9) {                          if (compression_level < 1 || compression_level > 9) {
                                 packet_send_debug("Received illegal compression level %d.",                                  packet_send_debug("Received illegal compression level %d.",
                                      compression_level);                                      compression_level);
                                 break;                                  break;
                         }                          }
                         /* Enable compression after we have responded with SUCCESS. */                          /* Enable compression after we have responded with SUCCESS. */
Line 273 
Line 273 
                         if (packet_set_maxsize(packet_get_int()) > 0)                          if (packet_set_maxsize(packet_get_int()) > 0)
                                 success = 1;                                  success = 1;
                         break;                          break;
   
 #if defined(AFS) || defined(KRB5)  #if defined(AFS) || defined(KRB5)
                 case SSH_CMSG_HAVE_KERBEROS_TGT:                  case SSH_CMSG_HAVE_KERBEROS_TGT:
                         if (!options.kerberos_tgt_passing) {                          if (!options.kerberos_tgt_passing) {
Line 281 
Line 281 
                         } else {                          } else {
                                 char *kdata = packet_get_string(&dlen);                                  char *kdata = packet_get_string(&dlen);
                                 packet_integrity_check(plen, 4 + dlen, type);                                  packet_integrity_check(plen, 4 + dlen, type);
   
                                 /* XXX - 0x41, see creds_to_radix version */                                  /* XXX - 0x41, see creds_to_radix version */
                                 if (kdata[0] != 0x41) {                                  if (kdata[0] != 0x41) {
 #ifdef KRB5  #ifdef KRB5
                                         krb5_data tgt;                                          krb5_data tgt;
                                         tgt.data = kdata;                                          tgt.data = kdata;
                                         tgt.length = dlen;                                          tgt.length = dlen;
   
                                         if (auth_krb5_tgt(s->authctxt, &tgt))                                          if (auth_krb5_tgt(s->authctxt, &tgt))
                                                 success = 1;                                                  success = 1;
                                         else                                          else
Line 306 
Line 306 
                         }                          }
                         break;                          break;
 #endif /* AFS || KRB5 */  #endif /* AFS || KRB5 */
   
 #ifdef AFS  #ifdef AFS
                 case SSH_CMSG_HAVE_AFS_TOKEN:                  case SSH_CMSG_HAVE_AFS_TOKEN:
                         if (!options.afs_token_passing || !k_hasafs()) {                          if (!options.afs_token_passing || !k_hasafs()) {
Line 315 
Line 315 
                                 /* Accept AFS token. */                                  /* Accept AFS token. */
                                 char *token = packet_get_string(&dlen);                                  char *token = packet_get_string(&dlen);
                                 packet_integrity_check(plen, 4 + dlen, type);                                  packet_integrity_check(plen, 4 + dlen, type);
   
                                 if (auth_afs_token(s->authctxt, token))                                  if (auth_afs_token(s->authctxt, token))
                                         success = 1;                                          success = 1;
                                 else                                  else
Line 598 
Line 598 
         if (packet_connection_is_on_socket()) {          if (packet_connection_is_on_socket()) {
                 fromlen = sizeof(from);                  fromlen = sizeof(from);
                 if (getpeername(packet_get_connection_in(),                  if (getpeername(packet_get_connection_in(),
                      (struct sockaddr *) & from, &fromlen) < 0) {                      (struct sockaddr *) & from, &fromlen) < 0) {
                         debug("getpeername: %.100s", strerror(errno));                          debug("getpeername: %.100s", strerror(errno));
                         fatal_cleanup();                          fatal_cleanup();
                 }                  }
Line 687 
Line 687 
  */   */
 static void  static void
 child_set_env(char ***envp, u_int *envsizep, const char *name,  child_set_env(char ***envp, u_int *envsizep, const char *name,
               const char *value)          const char *value)
 {  {
         u_int i, namelen;          u_int i, namelen;
         char **env;          char **env;
Line 728 
Line 728 
  */   */
 static void  static void
 read_environment_file(char ***env, u_int *envsize,  read_environment_file(char ***env, u_int *envsize,
                       const char *filename)          const char *filename)
 {  {
         FILE *f;          FILE *f;
         char buf[4096];          char buf[4096];
Line 910 
Line 910 
 #ifdef KRB4  #ifdef KRB4
         if (s->authctxt->krb4_ticket_file)          if (s->authctxt->krb4_ticket_file)
                 child_set_env(&env, &envsize, "KRBTKFILE",                  child_set_env(&env, &envsize, "KRBTKFILE",
                               s->authctxt->krb4_ticket_file);                      s->authctxt->krb4_ticket_file);
 #endif  #endif
 #ifdef KRB5  #ifdef KRB5
         if (s->authctxt->krb5_ticket_file)          if (s->authctxt->krb5_ticket_file)
                 child_set_env(&env, &envsize, "KRB5CCNAME",                  child_set_env(&env, &envsize, "KRB5CCNAME",
                               s->authctxt->krb5_ticket_file);                      s->authctxt->krb5_ticket_file);
 #endif  #endif
         if (auth_get_socket_name() != NULL)          if (auth_get_socket_name() != NULL)
                 child_set_env(&env, &envsize, SSH_AUTHSOCKET_ENV_NAME,                  child_set_env(&env, &envsize, SSH_AUTHSOCKET_ENV_NAME,
                               auth_get_socket_name());                      auth_get_socket_name());
   
         /* read $HOME/.ssh/environment. */          /* read $HOME/.ssh/environment. */
         if (!options.use_login) {          if (!options.use_login) {
Line 982 
Line 982 
         /* Try to get AFS tokens for the local cell. */          /* Try to get AFS tokens for the local cell. */
         if (k_hasafs()) {          if (k_hasafs()) {
                 char cell[64];                  char cell[64];
   
                 if (k_afs_cell_of_file(pw->pw_dir, cell, sizeof(cell)) == 0)                  if (k_afs_cell_of_file(pw->pw_dir, cell, sizeof(cell)) == 0)
                         krb_afslog(cell, 0);                          krb_afslog(cell, 0);
   
                 krb_afslog(0, 0);                  krb_afslog(0, 0);
         }          }
 #endif /* AFS */  #endif /* AFS */
Line 1092 
Line 1092 
                         /* Launch login(1). */                          /* Launch login(1). */
   
                         execl("/usr/bin/login", "login", "-h", hostname,                          execl("/usr/bin/login", "login", "-h", hostname,
                              "-p", "-f", "--", pw->pw_name, (char *)NULL);                              "-p", "-f", "--", pw->pw_name, (char *)NULL);
   
                         /* Login couldn't be executed, die. */                          /* Login couldn't be executed, die. */
   
Line 1120 
Line 1120 
         static int did_init = 0;          static int did_init = 0;
         if (!did_init) {          if (!did_init) {
                 debug("session_new: init");                  debug("session_new: init");
                 for(i = 0; i < MAX_SESSIONS; i++) {                  for (i = 0; i < MAX_SESSIONS; i++) {
                         sessions[i].used = 0;                          sessions[i].used = 0;
                 }                  }
                 did_init = 1;                  did_init = 1;
         }          }
         for(i = 0; i < MAX_SESSIONS; i++) {          for (i = 0; i < MAX_SESSIONS; i++) {
                 Session *s = &sessions[i];                  Session *s = &sessions[i];
                 if (! s->used) {                  if (! s->used) {
                         memset(s, 0, sizeof(*s));                          memset(s, 0, sizeof(*s));
Line 1145 
Line 1145 
 session_dump(void)  session_dump(void)
 {  {
         int i;          int i;
         for(i = 0; i < MAX_SESSIONS; i++) {          for (i = 0; i < MAX_SESSIONS; i++) {
                 Session *s = &sessions[i];                  Session *s = &sessions[i];
                 debug("dump: used %d session %d %p channel %d pid %d",                  debug("dump: used %d session %d %p channel %d pid %d",
                     s->used,                      s->used,
Line 1178 
Line 1178 
 session_by_channel(int id)  session_by_channel(int id)
 {  {
         int i;          int i;
         for(i = 0; i < MAX_SESSIONS; i++) {          for (i = 0; i < MAX_SESSIONS; i++) {
                 Session *s = &sessions[i];                  Session *s = &sessions[i];
                 if (s->used && s->chanid == id) {                  if (s->used && s->chanid == id) {
                         debug("session_by_channel: session %d channel %d", i, id);                          debug("session_by_channel: session %d channel %d", i, id);
Line 1195 
Line 1195 
 {  {
         int i;          int i;
         debug("session_by_pid: pid %d", pid);          debug("session_by_pid: pid %d", pid);
         for(i = 0; i < MAX_SESSIONS; i++) {          for (i = 0; i < MAX_SESSIONS; i++) {
                 Session *s = &sessions[i];                  Session *s = &sessions[i];
                 if (s->used && s->pid == pid)                  if (s->used && s->pid == pid)
                         return s;                          return s;
Line 1598 
Line 1598 
 session_destroy_all(void)  session_destroy_all(void)
 {  {
         int i;          int i;
         for(i = 0; i < MAX_SESSIONS; i++) {          for (i = 0; i < MAX_SESSIONS; i++) {
                 Session *s = &sessions[i];                  Session *s = &sessions[i];
                 if (s->used)                  if (s->used)
                         session_close(s);                          session_close(s);
         }          }
 }  }
Line 1611 
Line 1611 
         static char buf[1024];          static char buf[1024];
         int i;          int i;
         buf[0] = '\0';          buf[0] = '\0';
         for(i = 0; i < MAX_SESSIONS; i++) {          for (i = 0; i < MAX_SESSIONS; i++) {
                 Session *s = &sessions[i];                  Session *s = &sessions[i];
                 if (s->used && s->ttyfd != -1) {                  if (s->used && s->ttyfd != -1) {
                         if (buf[0] != '\0')                          if (buf[0] != '\0')

Legend:
Removed from v.1.111  
changed lines
  Added in v.1.112