mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-09 00:00:04 +01:00
lwsws conf allow setting cipher list and ecdh curve
Signed-off-by: Andy Green <andy@warmcat.com>
This commit is contained in:
parent
d6be6776a8
commit
6954daabd2
2 changed files with 17 additions and 0 deletions
|
@ -190,6 +190,13 @@ Other vhost options
|
|||
|
||||
- `"enable-client-ssl"`: `"1"` enables the vhost's client SSL context, you will need this if you plan to create client conections on the vhost that will use SSL. You don't need it if you only want http / ws client connections.
|
||||
|
||||
- "`ciphers`": "<cipher list>" sets the allowed list of ciphers and key exchange protocols for the vhost. The default list is restricted to only those providing PFS (Perfect Forward Secrecy) on the author's Fedora system.
|
||||
|
||||
If you need to allow weaker ciphers,you can provide an alternative list here per-vhost.
|
||||
|
||||
- "`ecdh-curve`": "<curve name>" The default ecdh curve is "prime256v1", but you can override it here, per-vhost
|
||||
|
||||
|
||||
Mounts
|
||||
------
|
||||
|
||||
|
|
10
lwsws/conf.c
10
lwsws/conf.c
|
@ -65,6 +65,8 @@ static const char * const paths_vhosts[] = {
|
|||
"vhosts[].ws-protocols[]",
|
||||
"vhosts[].keepalive_timeout",
|
||||
"vhosts[].enable-client-ssl",
|
||||
"vhosts[].ciphers",
|
||||
"vhosts[].ecdh-curve",
|
||||
};
|
||||
|
||||
enum lejp_vhost_paths {
|
||||
|
@ -93,6 +95,8 @@ enum lejp_vhost_paths {
|
|||
LEJPVP_PROTOCOL,
|
||||
LEJPVP_KEEPALIVE_TIMEOUT,
|
||||
LEJPVP_ENABLE_CLIENT_SSL,
|
||||
LEJPVP_CIPHERS,
|
||||
LEJPVP_ECDH_CURVE,
|
||||
};
|
||||
|
||||
#define MAX_PLUGIN_DIRS 10
|
||||
|
@ -389,6 +393,12 @@ lejp_vhosts_cb(struct lejp_ctx *ctx, char reason)
|
|||
case LEJPVP_KEEPALIVE_TIMEOUT:
|
||||
a->info->keepalive_timeout = atoi(ctx->buf);
|
||||
return 0;
|
||||
case LEJPVP_CIPHERS:
|
||||
a->info->ssl_cipher_list = a->p;
|
||||
break;
|
||||
case LEJPVP_ECDH_CURVE:
|
||||
a->info->ecdh_curve = a->p;
|
||||
break;
|
||||
case LEJPVP_CGI_ENV:
|
||||
mp_cgienv = lwsws_align(a);
|
||||
a->p += sizeof(*a->m.cgienv);
|
||||
|
|
Loading…
Add table
Reference in a new issue