@@ -5483,30 +5483,30 @@ static const char cannedKexAlgoNames[] =
54835483#if !defined (WOLFSSH_NO_ECDH_SHA2_NISTP256 )
54845484 "ecdh-sha2-nistp256"
54855485#endif
5486- #if !defined(WOLFSSH_NO_ECDH_SHA2_NISTP256 ) && !defined(WOLFSSH_NO_ECDH_GEX_SHA256 )
5486+ #if !defined(WOLFSSH_NO_ECDH_SHA2_NISTP256 ) && !defined(WOLFSSH_NO_DH_GEX_SHA256 )
54875487 ","
54885488#endif
5489- #if !defined(WOLFSSH_NO_ECDH_GEX_SHA256 )
5489+ #if !defined(WOLFSSH_NO_DH_GEX_SHA256 )
54905490 "diffie-hellman-group-exchange-sha256"
54915491#endif
5492- #if (!defined(WOLFSSH_NO_ECDH_SHA2_NISTP256 ) || !defined(WOLFSSH_NO_ECDH_GEX_SHA256 ))\
5493- && !defined(WOLFSSH_NO_ECDH_GROUP14_SHA1 )
5492+ #if (!defined(WOLFSSH_NO_ECDH_SHA2_NISTP256 ) || !defined(WOLFSSH_NO_DH_GEX_SHA256 ))\
5493+ && !defined(WOLFSSH_NO_DH_GROUP14_SHA1 )
54945494 ","
54955495#endif
5496- #if !defined(WOLFSSH_NO_ECDH_GROUP14_SHA1 )
5496+ #if !defined(WOLFSSH_NO_DH_GROUP14_SHA1 )
54975497 "diffie-hellman-group14-sha1"
54985498#endif
5499- #if (!defined(WOLFSSH_NO_ECDH_SHA2_NISTP256 ) || !defined(WOLFSSH_NO_ECDH_GEX_SHA256 ) \
5500- || !defined(WOLFSSH_NO_ECDH_GROUP14_SHA1 )) && !defined(WOLFSSH_NO_ECDH_GROUP1_SHA1 )
5499+ #if (!defined(WOLFSSH_NO_ECDH_SHA2_NISTP256 ) || !defined(WOLFSSH_NO_DH_GEX_SHA256 ) \
5500+ || !defined(WOLFSSH_NO_DH_GROUP14_SHA1 )) && !defined(WOLFSSH_NO_DH_GROUP1_SHA1 )
55015501 ","
55025502#endif
5503- #if !defined(WOLFSSH_NO_ECDH_GROUP1_SHA1 )
5503+ #if !defined(WOLFSSH_NO_DH_GROUP1_SHA1 )
55045504 "diffie-hellman-group1-sha1" ;
55055505#endif
5506- #if defined(WOLFSSH_NO_ECDH_SHA2_NISTP256 ) && defined(WOLFSSH_NO_ECDH_GEX_SHA256 )\
5507- && defined(WOLFSSH_NO_ECDH_GROUP14_SHA1 ) && defined(WOLFSSH_NO_ECDH_GROUP1_SHA1 )
5508- #warning "You need at least one of ECDH-SHA2-NISTP256, ECDH -GEX-SHA256, "
5509- "ECDH_GROUP14- SHA1 or ECDH -GROUP1-SHA1"
5506+ #if defined(WOLFSSH_NO_ECDH_SHA2_NISTP256 ) && defined(WOLFSSH_NO_DH_GEX_SHA256 )\
5507+ && defined(WOLFSSH_NO_DH_GROUP14_SHA1 ) && defined(WOLFSSH_NO_DH_GROUP1_SHA1 )
5508+ #warning "You need at least one of ECDH-SHA2-NISTP256, DH -GEX-SHA256, "
5509+ "DH-GROUP14- SHA1 or DH -GROUP1-SHA1"
55105510#endif
55115511
55125512static const char cannedNoneNames [] = "none" ;
@@ -5993,7 +5993,7 @@ int SendKexDhReply(WOLFSSH* ssh)
59935993 if (ret == 0 ) {
59945994 if (!useEcc ) {
59955995 DhKey privKey ;
5996- byte y [256 ];
5996+ byte y [MAX_KEX_KEY_SZ ];
59975997 word32 ySz = sizeof (y );
59985998
59995999 ret = wc_InitDhKey (& privKey );
@@ -6364,6 +6364,10 @@ int SendKexDhGexRequest(WOLFSSH* ssh)
63646364
63656365 output [idx ++ ] = MSGID_KEXDH_GEX_REQUEST ;
63666366
6367+ WLOG (WS_LOG_INFO , " min = %u, preferred = %u, max = %u" ,
6368+ ssh -> handshake -> dhGexMinSz ,
6369+ ssh -> handshake -> dhGexPreferredSz ,
6370+ ssh -> handshake -> dhGexMaxSz );
63676371 c32toa (ssh -> handshake -> dhGexMinSz , output + idx );
63686372 idx += UINT32_SZ ;
63696373 c32toa (ssh -> handshake -> dhGexPreferredSz , output + idx );
@@ -6466,7 +6470,7 @@ int SendKexDhInit(WOLFSSH* ssh)
64666470 word32 generatorSz = dhGeneratorSz ;
64676471 int ret = WS_SUCCESS ;
64686472 byte msgId = MSGID_KEXDH_INIT ;
6469- byte e [256 ];
6473+ byte e [MAX_KEX_KEY_SZ + 1 ]; /* plus 1 in case of padding. */
64706474 word32 eSz = sizeof (e );
64716475 byte ePad = 0 ;
64726476
@@ -6563,7 +6567,7 @@ int SendKexDhInit(WOLFSSH* ssh)
65636567
65646568 if (ePad ) {
65656569 output [idx ] = 0 ;
6566- idx += 1 ;
6570+ idx ++ ;
65676571 }
65686572
65696573 WMEMCPY (output + idx , e , eSz );
0 commit comments