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

Diff for /src/usr.bin/ssh/kex.c between version 1.87 and 1.88

version 1.87, 2012/08/17 01:22:56 version 1.88, 2013/01/08 18:49:04
Line 293 
Line 293 
         enc->name = name;          enc->name = name;
         enc->enabled = 0;          enc->enabled = 0;
         enc->iv = NULL;          enc->iv = NULL;
           enc->iv_len = cipher_ivlen(enc->cipher);
         enc->key = NULL;          enc->key = NULL;
         enc->key_len = cipher_keylen(enc->cipher);          enc->key_len = cipher_keylen(enc->cipher);
         enc->block_size = cipher_blocksize(enc->cipher);          enc->block_size = cipher_blocksize(enc->cipher);
Line 402 
Line 403 
         char **my, **peer;          char **my, **peer;
         char **cprop, **sprop;          char **cprop, **sprop;
         int nenc, nmac, ncomp;          int nenc, nmac, ncomp;
         u_int mode, ctos, need;          u_int mode, ctos, need, authlen;
         int first_kex_follows, type;          int first_kex_follows, type;
   
         my   = kex_buf2prop(&kex->my, NULL);          my   = kex_buf2prop(&kex->my, NULL);
Line 435 
Line 436 
                 nenc  = ctos ? PROPOSAL_ENC_ALGS_CTOS  : PROPOSAL_ENC_ALGS_STOC;                  nenc  = ctos ? PROPOSAL_ENC_ALGS_CTOS  : PROPOSAL_ENC_ALGS_STOC;
                 nmac  = ctos ? PROPOSAL_MAC_ALGS_CTOS  : PROPOSAL_MAC_ALGS_STOC;                  nmac  = ctos ? PROPOSAL_MAC_ALGS_CTOS  : PROPOSAL_MAC_ALGS_STOC;
                 ncomp = ctos ? PROPOSAL_COMP_ALGS_CTOS : PROPOSAL_COMP_ALGS_STOC;                  ncomp = ctos ? PROPOSAL_COMP_ALGS_CTOS : PROPOSAL_COMP_ALGS_STOC;
                 choose_enc (&newkeys->enc,  cprop[nenc],  sprop[nenc]);                  choose_enc(&newkeys->enc, cprop[nenc], sprop[nenc]);
                 choose_mac (&newkeys->mac,  cprop[nmac],  sprop[nmac]);                  /* ignore mac for authenticated encryption */
                   authlen = cipher_authlen(newkeys->enc.cipher);
                   if (authlen == 0)
                           choose_mac(&newkeys->mac, cprop[nmac], sprop[nmac]);
                 choose_comp(&newkeys->comp, cprop[ncomp], sprop[ncomp]);                  choose_comp(&newkeys->comp, cprop[ncomp], sprop[ncomp]);
                 debug("kex: %s %s %s %s",                  debug("kex: %s %s %s %s",
                     ctos ? "client->server" : "server->client",                      ctos ? "client->server" : "server->client",
                     newkeys->enc.name,                      newkeys->enc.name,
                     newkeys->mac.name,                      authlen == 0 ? newkeys->mac.name : "<implicit>",
                     newkeys->comp.name);                      newkeys->comp.name);
         }          }
         choose_kex(kex, cprop[PROPOSAL_KEX_ALGS], sprop[PROPOSAL_KEX_ALGS]);          choose_kex(kex, cprop[PROPOSAL_KEX_ALGS], sprop[PROPOSAL_KEX_ALGS]);
Line 454 
Line 458 
                         need = newkeys->enc.key_len;                          need = newkeys->enc.key_len;
                 if (need < newkeys->enc.block_size)                  if (need < newkeys->enc.block_size)
                         need = newkeys->enc.block_size;                          need = newkeys->enc.block_size;
                   if (need < newkeys->enc.iv_len)
                           need = newkeys->enc.iv_len;
                 if (need < newkeys->mac.key_len)                  if (need < newkeys->mac.key_len)
                         need = newkeys->mac.key_len;                          need = newkeys->mac.key_len;
         }          }

Legend:
Removed from v.1.87  
changed lines
  Added in v.1.88