Loading ssl/ssl_locl.h +3 −0 Original line number Diff line number Diff line Loading @@ -2194,6 +2194,9 @@ SSL_COMP *ssl3_comp_find(STACK_OF(SSL_COMP) *sk, int n); # define TLS_CURVE_PRIME 0x0 # define TLS_CURVE_CHAR2 0x1 # define TLS_CURVE_CUSTOM 0x2 #define bytestogroup(bytes) ((unsigned int)(bytes[0] << 8 | bytes[1])) __owur int tls1_ec_curve_id2nid(int curve_id, unsigned int *pflags); __owur int tls1_ec_nid2curve_id(int nid); __owur int tls1_check_curve(SSL *s, const unsigned char *p, size_t len); Loading ssl/statem/extensions.c +1 −1 Original line number Diff line number Diff line Loading @@ -1039,7 +1039,7 @@ static int final_key_share(SSL *s, unsigned int context, int sent, int *al) /* Find the first group we allow that is also in client's list */ for (i = 0, pcurvestmp = pcurves; i < num_curves; i++, pcurvestmp += 2) { group_id = pcurvestmp[0] << 8 | pcurvestmp[1]; group_id = bytestogroup(pcurvestmp); if (check_in_list(s, group_id, clntcurves, clnt_num_curves, 1)) break; Loading ssl/statem/extensions_clnt.c +2 −2 Original line number Diff line number Diff line Loading @@ -614,7 +614,7 @@ int tls_construct_ctos_key_share(SSL *s, WPACKET *pkt, unsigned int context, if (!tls_curve_allowed(s, pcurves, SSL_SECOP_CURVE_SUPPORTED)) continue; curve_id = (pcurves[0] << 8) | pcurves[1]; curve_id = bytestogroup(pcurves); break; } } Loading Loading @@ -1235,7 +1235,7 @@ int tls_parse_stoc_key_share(SSL *s, PACKET *pkt, unsigned int context, X509 *x, return 0; } for (i = 0; i < num_curves; i++, pcurves += 2) { if (group_id == (unsigned int)((pcurves[0] << 8) | pcurves[1])) if (group_id == bytestogroup(pcurves)) break; } if (i >= num_curves Loading Loading
ssl/ssl_locl.h +3 −0 Original line number Diff line number Diff line Loading @@ -2194,6 +2194,9 @@ SSL_COMP *ssl3_comp_find(STACK_OF(SSL_COMP) *sk, int n); # define TLS_CURVE_PRIME 0x0 # define TLS_CURVE_CHAR2 0x1 # define TLS_CURVE_CUSTOM 0x2 #define bytestogroup(bytes) ((unsigned int)(bytes[0] << 8 | bytes[1])) __owur int tls1_ec_curve_id2nid(int curve_id, unsigned int *pflags); __owur int tls1_ec_nid2curve_id(int nid); __owur int tls1_check_curve(SSL *s, const unsigned char *p, size_t len); Loading
ssl/statem/extensions.c +1 −1 Original line number Diff line number Diff line Loading @@ -1039,7 +1039,7 @@ static int final_key_share(SSL *s, unsigned int context, int sent, int *al) /* Find the first group we allow that is also in client's list */ for (i = 0, pcurvestmp = pcurves; i < num_curves; i++, pcurvestmp += 2) { group_id = pcurvestmp[0] << 8 | pcurvestmp[1]; group_id = bytestogroup(pcurvestmp); if (check_in_list(s, group_id, clntcurves, clnt_num_curves, 1)) break; Loading
ssl/statem/extensions_clnt.c +2 −2 Original line number Diff line number Diff line Loading @@ -614,7 +614,7 @@ int tls_construct_ctos_key_share(SSL *s, WPACKET *pkt, unsigned int context, if (!tls_curve_allowed(s, pcurves, SSL_SECOP_CURVE_SUPPORTED)) continue; curve_id = (pcurves[0] << 8) | pcurves[1]; curve_id = bytestogroup(pcurves); break; } } Loading Loading @@ -1235,7 +1235,7 @@ int tls_parse_stoc_key_share(SSL *s, PACKET *pkt, unsigned int context, X509 *x, return 0; } for (i = 0; i < num_curves; i++, pcurves += 2) { if (group_id == (unsigned int)((pcurves[0] << 8) | pcurves[1])) if (group_id == bytestogroup(pcurves)) break; } if (i >= num_curves Loading