[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.27 and 1.28

version 1.27, 2016/05/31 23:46:14 version 1.28, 2016/06/01 04:19:49
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(min, nbits, max));          kex->dh = PRIVSEP(choose_dh(kex->min, kex->nbits, kex->max));
         if (kex->dh == NULL) {          if (kex->dh == NULL) {
                 sshpkt_disconnect(ssh, "no matching DH grp found");                  sshpkt_disconnect(ssh, "no matching DH group found");
                 r = SSH_ERR_ALLOC_FAIL;                  r = SSH_ERR_ALLOC_FAIL;
                 goto out;                  goto out;
         }          }

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