forked from wolfSSL/wolfssl
Changed the logic for determining the group used for KeyShare.
This commit is contained in:
17
src/tls.c
17
src/tls.c
@ -10329,20 +10329,21 @@ int TLSX_PopulateExtensions(WOLFSSL* ssl, byte isServer)
|
|||||||
int set = 0;
|
int set = 0;
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
/* Default to first group in supported list. */
|
/* try to find the highest element in ssl->group[]
|
||||||
namedGroup = ssl->group[0];
|
* that is contained in preferredGroup[].
|
||||||
/* Try to find preferred in supported list. */
|
*/
|
||||||
for (i = 0; i < (int)PREFERRED_GROUP_SZ && !set; i++) {
|
namedGroup = preferredGroup[0];
|
||||||
for (j = 0; j < ssl->numGroups; j++) {
|
for (i = 0; i < ssl->numGroups && !set; i++) {
|
||||||
if (preferredGroup[i] == ssl->group[j]) {
|
for (j = 0; j < (int)PREFERRED_GROUP_SZ; j++) {
|
||||||
/* Most preferred that is supported. */
|
if (preferredGroup[j] == ssl->group[i]) {
|
||||||
namedGroup = ssl->group[j];
|
namedGroup = ssl->group[i];
|
||||||
set = 1;
|
set = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
/* Choose the most preferred group. */
|
/* Choose the most preferred group. */
|
||||||
namedGroup = preferredGroup[0];
|
namedGroup = preferredGroup[0];
|
||||||
|
Reference in New Issue
Block a user