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

Diff for /src/usr.bin/ssh/packet.c between version 1.93 and 1.93.2.1

version 1.93, 2002/03/24 16:01:13 version 1.93.2.1, 2002/06/26 15:30:38
Line 60 
Line 60 
 #include "log.h"  #include "log.h"
 #include "canohost.h"  #include "canohost.h"
 #include "misc.h"  #include "misc.h"
   #include "ssh.h"
   
 #ifdef PACKET_DEBUG  #ifdef PACKET_DEBUG
 #define DBG(x) x  #define DBG(x) x
Line 118 
Line 119 
 static u_int32_t read_seqnr = 0;  static u_int32_t read_seqnr = 0;
 static u_int32_t send_seqnr = 0;  static u_int32_t send_seqnr = 0;
   
   /* Session key for protocol v1 */
   static u_char ssh1_key[SSH_SESSION_KEY_LENGTH];
   static u_int ssh1_keylen;
   
 /* roundup current message to extra_pad bytes */  /* roundup current message to extra_pad bytes */
 static u_char extra_pad = 0;  static u_char extra_pad = 0;
   
Line 263 
Line 268 
         else if (mode == MODE_OUT)          else if (mode == MODE_OUT)
                 send_seqnr = seqnr;                  send_seqnr = seqnr;
         else          else
                 fatal("%s: bad mode %d", __FUNCTION__, mode);                  fatal("packet_set_seqnr: bad mode %d", mode);
 }  }
   
 /* returns 1 if connection is via ipv4 */  /* returns 1 if connection is via ipv4 */
Line 386 
Line 391 
  * key is used for both sending and reception.  However, both directions are   * key is used for both sending and reception.  However, both directions are
  * encrypted independently of each other.   * encrypted independently of each other.
  */   */
   
 void  void
 packet_set_encryption_key(const u_char *key, u_int keylen,  packet_set_encryption_key(const u_char *key, u_int keylen,
     int number)      int number)
Line 395 
Line 401 
                 fatal("packet_set_encryption_key: unknown cipher number %d", number);                  fatal("packet_set_encryption_key: unknown cipher number %d", number);
         if (keylen < 20)          if (keylen < 20)
                 fatal("packet_set_encryption_key: keylen too small: %d", keylen);                  fatal("packet_set_encryption_key: keylen too small: %d", keylen);
           if (keylen > SSH_SESSION_KEY_LENGTH)
                   fatal("packet_set_encryption_key: keylen too big: %d", keylen);
           memcpy(ssh1_key, key, keylen);
           ssh1_keylen = keylen;
         cipher_init(&send_context, cipher, key, keylen, NULL, 0, CIPHER_ENCRYPT);          cipher_init(&send_context, cipher, key, keylen, NULL, 0, CIPHER_ENCRYPT);
         cipher_init(&receive_context, cipher, key, keylen, NULL, 0, CIPHER_DECRYPT);          cipher_init(&receive_context, cipher, key, keylen, NULL, 0, CIPHER_DECRYPT);
 }  }
   
   u_int
   packet_get_encryption_key(u_char *key)
   {
           if (key == NULL)
                   return (ssh1_keylen);
           memcpy(key, ssh1_key, ssh1_keylen);
           return (ssh1_keylen);
   }
   
 /* Start constructing a packet to send. */  /* Start constructing a packet to send. */
 void  void
 packet_start(u_char type)  packet_start(u_char type)
Line 991 
Line 1010 
 int  int
 packet_read_poll_seqnr(u_int32_t *seqnr_p)  packet_read_poll_seqnr(u_int32_t *seqnr_p)
 {  {
         int reason, seqnr;          u_int reason, seqnr;
         u_char type;          u_char type;
         char *msg;          char *msg;
   
Line 1014 
Line 1033 
                         case SSH2_MSG_DISCONNECT:                          case SSH2_MSG_DISCONNECT:
                                 reason = packet_get_int();                                  reason = packet_get_int();
                                 msg = packet_get_string(NULL);                                  msg = packet_get_string(NULL);
                                 log("Received disconnect from %s: %d: %.400s", get_remote_ipaddr(),                                  log("Received disconnect from %s: %u: %.400s",
                                         reason, msg);                                      get_remote_ipaddr(), reason, msg);
                                 xfree(msg);                                  xfree(msg);
                                 fatal_cleanup();                                  fatal_cleanup();
                                 break;                                  break;
                         case SSH2_MSG_UNIMPLEMENTED:                          case SSH2_MSG_UNIMPLEMENTED:
                                 seqnr = packet_get_int();                                  seqnr = packet_get_int();
                                 debug("Received SSH2_MSG_UNIMPLEMENTED for %d", seqnr);                                  debug("Received SSH2_MSG_UNIMPLEMENTED for %u",
                                       seqnr);
                                 break;                                  break;
                         default:                          default:
                                 return type;                                  return type;
Line 1039 
Line 1059 
                                 break;                                  break;
                         case SSH_MSG_DISCONNECT:                          case SSH_MSG_DISCONNECT:
                                 msg = packet_get_string(NULL);                                  msg = packet_get_string(NULL);
                                 log("Received disconnect from %s: %.400s", get_remote_ipaddr(),                                  log("Received disconnect from %s: %.400s",
                                         msg);                                      get_remote_ipaddr(), msg);
                                 fatal_cleanup();                                  fatal_cleanup();
                                 xfree(msg);                                  xfree(msg);
                                 break;                                  break;

Legend:
Removed from v.1.93  
changed lines
  Added in v.1.93.2.1