Skip to content
Snippets Groups Projects
Commit d7fddada authored by Andy Green's avatar Andy Green
Browse files

context creation info add ecdh_curve

parent 79afbe34
No related branches found
No related tags found
No related merge requests found
Changelog Changelog
--------- ---------
User API additions
------------------
1) There's a new member in struct lws_context_creation_info, ecdh_curve,
which lets you set the name of the ECDH curve OpenSSL should use. By
default (if you leave ecdh_curve NULL) it will use "prime256v1"
v1.7.0 v1.7.0
====== ======
......
...@@ -1319,6 +1319,7 @@ extern int lws_extension_callback_pm_deflate( ...@@ -1319,6 +1319,7 @@ extern int lws_extension_callback_pm_deflate(
* library are protected from hanging forever by timeouts. If * library are protected from hanging forever by timeouts. If
* nonzero, this member lets you set the timeout used in seconds. * nonzero, this member lets you set the timeout used in seconds.
* Otherwise a default timeout is used. * Otherwise a default timeout is used.
* @ecdh_curve: if NULL, defaults to initializing server with "prime256v1"
*/ */
struct lws_context_creation_info { struct lws_context_creation_info {
...@@ -1353,6 +1354,7 @@ struct lws_context_creation_info { ...@@ -1353,6 +1354,7 @@ struct lws_context_creation_info {
unsigned int count_threads; unsigned int count_threads;
unsigned int fd_limit_per_thread; unsigned int fd_limit_per_thread;
unsigned int timeout_secs; unsigned int timeout_secs;
const char *ecdh_curve;
/* Add new things just above here ---^ /* Add new things just above here ---^
* This is part of the ABI, don't needlessly break compatibility * This is part of the ABI, don't needlessly break compatibility
......
...@@ -144,6 +144,9 @@ lws_context_ssl_init_ecdh_curve(struct lws_context_creation_info *info, ...@@ -144,6 +144,9 @@ lws_context_ssl_init_ecdh_curve(struct lws_context_creation_info *info,
int ecdh_nid; int ecdh_nid;
const char *ecdh_curve = "prime256v1"; const char *ecdh_curve = "prime256v1";
if (info->ecdh_curve)
ecdh_curve = info->ecdh_curve;
ecdh_nid = OBJ_sn2nid(ecdh_curve); ecdh_nid = OBJ_sn2nid(ecdh_curve);
if (NID_undef == ecdh_nid) { if (NID_undef == ecdh_nid) {
lwsl_err("SSL: Unknown curve name '%s'", ecdh_curve); lwsl_err("SSL: Unknown curve name '%s'", ecdh_curve);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment