[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.58 and 1.59

version 1.58, 2001/04/04 09:48:34 version 1.59, 2001/04/04 23:09:18
Line 124 
Line 124 
 Newkeys *newkeys[MODE_MAX];  Newkeys *newkeys[MODE_MAX];
   
 void  void
 clear_enc_keys(Enc *enc, int len)  
 {  
         memset(enc->iv,  0, len);  
         memset(enc->key, 0, len);  
         xfree(enc->iv);  
         xfree(enc->key);  
         enc->iv = NULL;  
         enc->key = NULL;  
 }  
 void  
 packet_set_ssh2_format(void)  packet_set_ssh2_format(void)
 {  {
         DBG(debug("use_ssh2_packet_format"));          DBG(debug("use_ssh2_packet_format"));
Line 524 
Line 514 
         cc = (mode == MODE_OUT) ? &send_context : &receive_context;          cc = (mode == MODE_OUT) ? &send_context : &receive_context;
         if (newkeys[mode] != NULL) {          if (newkeys[mode] != NULL) {
                 debug("newkeys: rekeying");                  debug("newkeys: rekeying");
                 memset(cc, 0, sizeof(*cc));  
                 /* todo: free old keys, reset compression/cipher-ctxt; */                  /* todo: free old keys, reset compression/cipher-ctxt; */
                   memset(cc, 0, sizeof(*cc));
                   enc  = &newkeys[mode]->enc;
                   mac  = &newkeys[mode]->mac;
                   comp = &newkeys[mode]->comp;
                   memset(mac->key, 0, mac->key_len);
                   xfree(enc->name);
                   xfree(enc->iv);
                   xfree(enc->key);
                   xfree(mac->name);
                   xfree(mac->key);
                   xfree(comp->name);
                 xfree(newkeys[mode]);                  xfree(newkeys[mode]);
         }          }
         newkeys[mode] = kex_get_newkeys(mode);          newkeys[mode] = kex_get_newkeys(mode);
Line 539 
Line 539 
         DBG(debug("cipher_init_context: %d", mode));          DBG(debug("cipher_init_context: %d", mode));
         cipher_init(cc, enc->cipher, enc->key, enc->cipher->key_len,          cipher_init(cc, enc->cipher, enc->key, enc->cipher->key_len,
             enc->iv, enc->cipher->block_size);              enc->iv, enc->cipher->block_size);
         clear_enc_keys(enc, enc->cipher->key_len);          memset(enc->iv,  0, enc->cipher->block_size);
           memset(enc->key, 0, enc->cipher->key_len);
         if (comp->type != 0 && comp->enabled == 0) {          if (comp->type != 0 && comp->enabled == 0) {
                 comp->enabled = 1;                  comp->enabled = 1;
                 if (! packet_compression)                  if (! packet_compression)

Legend:
Removed from v.1.58  
changed lines
  Added in v.1.59