[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.70.2.3 and 1.70.2.4

version 1.70.2.3, 2002/05/17 00:03:23 version 1.70.2.4, 2002/06/22 07:23:17
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. */

Legend:
Removed from v.1.70.2.3  
changed lines
  Added in v.1.70.2.4