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

Diff for /src/usr.bin/ssh/kexgexs.c between version 1.28 and 1.29

version 1.28, 2016/06/01 04:19:49 version 1.29, 2016/06/08 02:13:01
Line 78 
Line 78 
         kex->nbits = nbits;          kex->nbits = nbits;
         kex->min = min;          kex->min = min;
         kex->max = max;          kex->max = max;
           min = MAX(DH_GRP_MIN, min);
           max = MIN(DH_GRP_MAX, max);
           nbits = MAX(DH_GRP_MIN, nbits);
           nbits = MIN(DH_GRP_MAX, nbits);
   
         if (kex->max < kex->min || kex->nbits < kex->min ||          if (kex->max < kex->min || kex->nbits < kex->min ||
             kex->max < kex->nbits || kex->max < DH_GRP_MIN ||              kex->max < kex->nbits || kex->max < DH_GRP_MIN) {
             kex->min > DH_GRP_MAX) {  
                 r = SSH_ERR_DH_GEX_OUT_OF_RANGE;                  r = SSH_ERR_DH_GEX_OUT_OF_RANGE;
                 goto out;                  goto out;
         }          }
         kex->min = MAX(DH_GRP_MIN, kex->min);  
         kex->max = MIN(DH_GRP_MAX, kex->max);  
         kex->nbits = MAX(DH_GRP_MIN, kex->nbits);  
         kex->nbits = MIN(DH_GRP_MAX, kex->nbits);  
   
         /* Contact privileged parent */          /* Contact privileged parent */
         kex->dh = PRIVSEP(choose_dh(kex->min, kex->nbits, kex->max));          kex->dh = PRIVSEP(choose_dh(min, nbits, max));
         if (kex->dh == NULL) {          if (kex->dh == NULL) {
                 sshpkt_disconnect(ssh, "no matching DH group found");                  sshpkt_disconnect(ssh, "no matching DH grp found");
                 r = SSH_ERR_ALLOC_FAIL;                  r = SSH_ERR_ALLOC_FAIL;
                 goto out;                  goto out;
         }          }

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.29