libwebsockets
Lightweight C library for HTML5 websockets
context and vhost related functions

Modules

 Vhost mounts and options
 

Data Structures

struct  lws_context_creation_info
 
struct  lws_protocol_vhost_options
 

Macros

#define lws_check_opt(c, f)   (((c) & (f)) == (f))
 

Typedefs

typedef int(* lws_reload_func) (void)
 

Enumerations

enum  lws_context_options {
  LWS_SERVER_OPTION_REQUIRE_VALID_OPENSSL_CLIENT_CERT, LWS_SERVER_OPTION_SKIP_SERVER_CANONICAL_NAME = (1 << 2), LWS_SERVER_OPTION_ALLOW_NON_SSL_ON_SSL_PORT, LWS_SERVER_OPTION_LIBEV = (1 << 4),
  LWS_SERVER_OPTION_DISABLE_IPV6 = (1 << 5), LWS_SERVER_OPTION_DISABLE_OS_CA_CERTS = (1 << 6), LWS_SERVER_OPTION_PEER_CERT_NOT_REQUIRED = (1 << 7), LWS_SERVER_OPTION_VALIDATE_UTF8 = (1 << 8),
  LWS_SERVER_OPTION_SSL_ECDH, LWS_SERVER_OPTION_LIBUV = (1 << 10), LWS_SERVER_OPTION_REDIRECT_HTTP_TO_HTTPS, LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT = (1 << 12),
  LWS_SERVER_OPTION_EXPLICIT_VHOSTS = (1 << 13), LWS_SERVER_OPTION_UNIX_SOCK = (1 << 14), LWS_SERVER_OPTION_STS = (1 << 15), LWS_SERVER_OPTION_IPV6_V6ONLY_MODIFY = (1 << 16),
  LWS_SERVER_OPTION_IPV6_V6ONLY_VALUE = (1 << 17), LWS_SERVER_OPTION_UV_NO_SIGSEGV_SIGFPE_SPIN = (1 << 18), LWS_SERVER_OPTION_JUST_USE_RAW_ORIGIN = (1 << 19), LWS_SERVER_OPTION_FALLBACK_TO_RAW = (1 << 20),
  LWS_SERVER_OPTION_LIBEVENT = (1 << 21), LWS_SERVER_OPTION_ONLY_RAW = (1 << 22), LWS_SERVER_OPTION_ALLOW_LISTEN_SHARE = (1 << 23), LWS_SERVER_OPTION_CREATE_VHOST_SSL_CTX = (1 << 24),
  LWS_SERVER_OPTION_SKIP_PROTOCOL_INIT = (1 << 25), LWS_SERVER_OPTION_IGNORE_MISSING_CERT = (1 << 26), LWS_SERVER_OPTION_VHOST_UPG_STRICT_HOST_CHECK = (1 << 27), LWS_SERVER_OPTION_HTTP_HEADERS_SECURITY_BEST_PRACTICES_ENFORCE = (1 << 28)
}
 

Functions

LWS_VISIBLE LWS_EXTERN struct lws_context * lws_create_context (const struct lws_context_creation_info *info)
 
LWS_VISIBLE LWS_EXTERN void lws_context_destroy (struct lws_context *context)
 
LWS_VISIBLE LWS_EXTERN void lws_context_deprecate (struct lws_context *context, lws_reload_func cb)
 
LWS_VISIBLE LWS_EXTERN int lws_context_is_deprecated (struct lws_context *context)
 
LWS_VISIBLE LWS_EXTERN int lws_set_proxy (struct lws_vhost *vhost, const char *proxy)
 
LWS_VISIBLE LWS_EXTERN int lws_set_socks (struct lws_vhost *vhost, const char *socks)
 
LWS_VISIBLE LWS_EXTERN struct lws_vhost * lws_create_vhost (struct lws_context *context, const struct lws_context_creation_info *info)
 
LWS_VISIBLE LWS_EXTERN void lws_vhost_destroy (struct lws_vhost *vh)
 
LWS_VISIBLE LWS_EXTERN int lwsws_get_config_globals (struct lws_context_creation_info *info, const char *d, char **config_strings, int *len)
 
LWS_VISIBLE LWS_EXTERN int lwsws_get_config_vhosts (struct lws_context *context, struct lws_context_creation_info *info, const char *d, char **config_strings, int *len)
 
LWS_VISIBLE LWS_EXTERN struct lws_vhost * lws_vhost_get (struct lws *wsi) LWS_WARN_DEPRECATED
 
LWS_VISIBLE LWS_EXTERN struct lws_vhost * lws_get_vhost (struct lws *wsi)
 
LWS_VISIBLE const LWS_EXTERN char * lws_get_vhost_name (struct lws_vhost *vhost)
 
LWS_VISIBLE LWS_EXTERN int lws_get_vhost_port (struct lws_vhost *vhost)
 
LWS_VISIBLE LWS_EXTERN void * lws_get_vhost_user (struct lws_vhost *vhost)
 
LWS_VISIBLE const LWS_EXTERN char * lws_get_vhost_iface (struct lws_vhost *vhost)
 
LWS_VISIBLE LWS_EXTERN int lws_json_dump_vhost (const struct lws_vhost *vh, char *buf, int len)
 
LWS_VISIBLE LWS_EXTERN int lws_json_dump_context (const struct lws_context *context, char *buf, int len, int hide_vhosts)
 
LWS_VISIBLE LWS_EXTERN void * lws_vhost_user (struct lws_vhost *vhost)
 
LWS_VISIBLE LWS_EXTERN void * lws_context_user (struct lws_context *context)
 

Detailed Description

Context and Vhost releated functions

LWS requires that there is one context, in which you may define multiple vhosts. Each vhost is a virtual host, with either its own listen port or sharing an existing one. Each vhost has its own SSL context that can be set up individually or left disabled.

If you don't care about multiple "site" support, you can ignore it and lws will create a single default vhost at context creation time.

Enumeration Type Documentation

◆ lws_context_options

#include <include/libwebsockets/lws-context-vhost.h>

enum lws_context_options - context and vhost options

Enumerator
LWS_SERVER_OPTION_REQUIRE_VALID_OPENSSL_CLIENT_CERT 

(VH) Don't allow the connection unless the client has a client cert that we recognize; provides LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT

LWS_SERVER_OPTION_SKIP_SERVER_CANONICAL_NAME 

(CTX) Don't try to get the server's hostname

LWS_SERVER_OPTION_ALLOW_NON_SSL_ON_SSL_PORT 

(VH) Allow non-SSL (plaintext) connections on the same port as SSL is listening... undermines the security of SSL; provides LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT

LWS_SERVER_OPTION_LIBEV 

(CTX) Use libev event loop

LWS_SERVER_OPTION_DISABLE_IPV6 

(VH) Disable IPV6 support

LWS_SERVER_OPTION_DISABLE_OS_CA_CERTS 

(VH) Don't load OS CA certs, you will need to load your own CA cert(s)

LWS_SERVER_OPTION_PEER_CERT_NOT_REQUIRED 

(VH) Accept connections with no valid Cert (eg, selfsigned)

LWS_SERVER_OPTION_VALIDATE_UTF8 

(VH) Check UT-8 correctness

LWS_SERVER_OPTION_SSL_ECDH 

(VH) initialize ECDH ciphers

LWS_SERVER_OPTION_LIBUV 

(CTX) Use libuv event loop

LWS_SERVER_OPTION_REDIRECT_HTTP_TO_HTTPS 

(VH) Use http redirect to force http to https (deprecated: use mount redirection)

LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT 

(CTX) Initialize the SSL library at all

LWS_SERVER_OPTION_EXPLICIT_VHOSTS 

(CTX) Only create the context when calling context create api, implies user code will create its own vhosts

LWS_SERVER_OPTION_UNIX_SOCK 

(VH) Use Unix socket

LWS_SERVER_OPTION_STS 

(VH) Send Strict Transport Security header, making clients subsequently go to https even if user asked for http

LWS_SERVER_OPTION_IPV6_V6ONLY_MODIFY 

(VH) Enable LWS_SERVER_OPTION_IPV6_V6ONLY_VALUE to take effect

LWS_SERVER_OPTION_IPV6_V6ONLY_VALUE 

(VH) if set, only ipv6 allowed on the vhost

LWS_SERVER_OPTION_UV_NO_SIGSEGV_SIGFPE_SPIN 

(CTX) Libuv only: Do not spin on SIGSEGV / SIGFPE. A segfault normally makes the lib spin so you can attach a debugger to it even if it happened without a debugger in place. You can disable that by giving this option.

LWS_SERVER_OPTION_JUST_USE_RAW_ORIGIN 

For backwards-compatibility reasons, by default lws prepends "http://" to the origin you give in the client connection info struct. If you give this flag when you create the context, only the string you give in the client connect info for .origin (if any) will be used directly.

LWS_SERVER_OPTION_FALLBACK_TO_RAW 

(VH) if invalid http is coming in the first line,

LWS_SERVER_OPTION_LIBEVENT 

(CTX) Use libevent event loop

LWS_SERVER_OPTION_ONLY_RAW 

(VH) All connections to this vhost / port are RAW as soon as the connection is accepted, no HTTP is going to be coming.

LWS_SERVER_OPTION_ALLOW_LISTEN_SHARE 

(VH) Set to allow multiple listen sockets on one interface + address + port. The default is to strictly allow only one listen socket at a time. This is automatically selected if you have multiple service threads.

LWS_SERVER_OPTION_CREATE_VHOST_SSL_CTX 

(VH) Force setting up the vhost SSL_CTX, even though the user code doesn't explicitly provide a cert in the info struct. It implies the user code is going to provide a cert at the LWS_CALLBACK_OPENSSL_LOAD_EXTRA_SERVER_VERIFY_CERTS callback, which provides the vhost SSL_CTX * in the user parameter.

LWS_SERVER_OPTION_SKIP_PROTOCOL_INIT 

(VH) You probably don't want this. It forces this vhost to not call LWS_CALLBACK_PROTOCOL_INIT on its protocols. It's used in the special case of a temporary vhost bound to a single protocol.

LWS_SERVER_OPTION_IGNORE_MISSING_CERT 

(VH) Don't fail if the vhost TLS cert or key are missing, just continue. The vhost won't be able to serve anything, but if for example the ACME plugin was configured to fetch a cert, this lets you bootstrap your vhost from having no cert to start with.

LWS_SERVER_OPTION_VHOST_UPG_STRICT_HOST_CHECK 

(VH) On this vhost, if the connection is being upgraded, insist that there's a Host: header and that the contents match the vhost name + port (443 / 80 are assumed if no :port given based on if the connection is using TLS).

By default, without this flag, on upgrade lws just checks that the Host: header was given without checking the contents... this is to allow lax hostname mappings like localhost / 127.0.0.1, and CNAME mappings like www.mysite.com / mysite.com

LWS_SERVER_OPTION_HTTP_HEADERS_SECURITY_BEST_PRACTICES_ENFORCE 

(VH) Send lws default HTTP headers recommended by Mozilla Observatory for security. This is a helper option that sends canned headers on each http response enabling a VERY strict Content Security Policy. The policy is so strict, for example it won't let the page run its own inline JS nor show images or take CSS from a different server. In many cases your JS only comes from your server as do the image sources and CSS, so that is what you want... attackers hoping to inject JS into your DOM are completely out of luck since even if they succeed, it will be rejected for execution by the browser according to the strict CSP. In other cases you have to deviate from the complete strictness, in which case don't use this flag: use the .headers member in the vhost init described in struct lws_context_creation_info instead to send the adapted headers yourself.

45  {
47  (1 << 12),
54  (1 << 12),
58  LWS_SERVER_OPTION_LIBEV = (1 << 4),
69  LWS_SERVER_OPTION_SSL_ECDH = (1 << 9) |
70  (1 << 12),
72  LWS_SERVER_OPTION_LIBUV = (1 << 10),
75  (1 << 12),
83  LWS_SERVER_OPTION_UNIX_SOCK = (1 << 14),
85  LWS_SERVER_OPTION_STS = (1 << 15),
107  LWS_SERVER_OPTION_LIBEVENT = (1 << 21),
109  LWS_SERVER_OPTION_ONLY_RAW = (1 << 22),
165  /****** add new things just above ---^ ******/
166 };

Function Documentation

◆ lws_context_deprecate()

LWS_VISIBLE LWS_EXTERN void lws_context_deprecate ( struct lws_context *  context,
lws_reload_func  cb 
)

#include <include/libwebsockets/lws-context-vhost.h>

lws_context_deprecate() - Deprecate the websocket context

Parameters
contextWebsocket context
cbCallback notified when old context listen sockets are closed
 This function is used on an existing context before superceding it
 with a new context.

 It closes any listen sockets in the context, so new connections are
 not possible.

 And it marks the context to be deleted when the number of active
 connections into it falls to zero.

 This is aimed at allowing seamless configuration reloads.

 The callback cb will be called after the listen sockets are actually
 closed and may be reopened.  In the callback the new context should be
 configured and created.  (With libuv, socket close happens async after
 more loop events).

◆ lws_context_destroy()

LWS_VISIBLE LWS_EXTERN void lws_context_destroy ( struct lws_context *  context)

#include <include/libwebsockets/lws-context-vhost.h>

lws_context_destroy() - Destroy the websocket context

Parameters
contextWebsocket context
 This function closes any active connections and then frees the
 context.  After calling this, any further use of the context is
 undefined.

◆ lws_context_user()

LWS_VISIBLE LWS_EXTERN void* lws_context_user ( struct lws_context *  context)

#include <include/libwebsockets/lws-context-vhost.h>

lws_context_user() - get the user data associated with the context

Parameters
contextWebsocket context

This returns the optional user allocation that can be attached to the context the sockets live in at context_create time. It's a way to let all sockets serviced in the same context share data without using globals statics in the user code.

◆ lws_create_context()

LWS_VISIBLE LWS_EXTERN struct lws_context* lws_create_context ( const struct lws_context_creation_info info)

#include <include/libwebsockets/lws-context-vhost.h>

lws_create_context() - Create the websocket handler

Parameters
infopointer to struct with parameters
 This function creates the listening socket (if serving) and takes care
 of all initialization in one step.

 If option LWS_SERVER_OPTION_EXPLICIT_VHOSTS is given, no vhost is
 created; you're expected to create your own vhosts afterwards using
 lws_create_vhost().  Otherwise a vhost named "default" is also created
 using the information in the vhost-related members, for compatibility.

 After initialization, it returns a struct lws_context * that
 represents this server.  After calling, user code needs to take care
 of calling lws_service() with the context pointer to get the
 server's sockets serviced.  This must be done in the same process
 context as the initialization call.

 The protocol callback functions are called for a handful of events
 including http requests coming in, websocket connections becoming
 established, and data arriving; it's also called periodically to allow
 async transmission.

 HTTP requests are sent always to the FIRST protocol in protocol, since
 at that time websocket protocol has not been negotiated.  Other
 protocols after the first one never see any HTTP callback activity.

 The server created is a simple http server by default; part of the
 websocket standard is upgrading this http connection to a websocket one.

 This allows the same server to provide files like scripts and favicon /
 images or whatever over http and dynamic data over websockets all in
 one place; they're all handled in the user callback.

◆ lws_create_vhost()

LWS_VISIBLE LWS_EXTERN struct lws_vhost* lws_create_vhost ( struct lws_context *  context,
const struct lws_context_creation_info info 
)

#include <include/libwebsockets/lws-context-vhost.h>

lws_create_vhost() - Create a vhost (virtual server context)

Parameters
contextpointer to result of lws_create_context()
infopointer to struct with parameters

This function creates a virtual server (vhost) using the vhost-related members of the info struct. You can create many vhosts inside one context if you created the context with the option LWS_SERVER_OPTION_EXPLICIT_VHOSTS

◆ lws_get_vhost()

LWS_VISIBLE LWS_EXTERN struct lws_vhost* lws_get_vhost ( struct lws *  wsi)

#include <include/libwebsockets/lws-context-vhost.h>

lws_get_vhost() - return the vhost a wsi belongs to

Parameters
wsiwhich connection

◆ lws_get_vhost_iface()

LWS_VISIBLE const LWS_EXTERN char* lws_get_vhost_iface ( struct lws_vhost *  vhost)

#include <include/libwebsockets/lws-context-vhost.h>

lws_get_vhost_iface() - returns the binding for the vhost listen socket

Parameters
vhostwhich vhost

◆ lws_get_vhost_name()

LWS_VISIBLE const LWS_EXTERN char* lws_get_vhost_name ( struct lws_vhost *  vhost)

#include <include/libwebsockets/lws-context-vhost.h>

lws_get_vhost_name() - returns the name of a vhost

Parameters
vhostwhich vhost

◆ lws_get_vhost_port()

LWS_VISIBLE LWS_EXTERN int lws_get_vhost_port ( struct lws_vhost *  vhost)

#include <include/libwebsockets/lws-context-vhost.h>

lws_get_vhost_port() - returns the port a vhost listens on, or -1

Parameters
vhostwhich vhost

◆ lws_get_vhost_user()

LWS_VISIBLE LWS_EXTERN void* lws_get_vhost_user ( struct lws_vhost *  vhost)

#include <include/libwebsockets/lws-context-vhost.h>

lws_get_vhost_user() - returns the user pointer for the vhost

Parameters
vhostwhich vhost

◆ lws_json_dump_context()

LWS_VISIBLE LWS_EXTERN int lws_json_dump_context ( const struct lws_context *  context,
char *  buf,
int  len,
int  hide_vhosts 
)

#include <include/libwebsockets/lws-context-vhost.h>

lws_json_dump_context() - describe context state and stats in JSON

Parameters
contextthe context
bufbuffer to fill with JSON
lenmax length of buf
hide_vhostsnonzero to not provide per-vhost mount etc information

Generates a JSON description of vhost state into buf

◆ lws_json_dump_vhost()

LWS_VISIBLE LWS_EXTERN int lws_json_dump_vhost ( const struct lws_vhost *  vh,
char *  buf,
int  len 
)

#include <include/libwebsockets/lws-context-vhost.h>

lws_json_dump_vhost() - describe vhost state and stats in JSON

Parameters
vhthe vhost
bufbuffer to fill with JSON
lenmax length of buf

◆ lws_set_proxy()

LWS_VISIBLE LWS_EXTERN int lws_set_proxy ( struct lws_vhost *  vhost,
const char *  proxy 
)

#include <include/libwebsockets/lws-context-vhost.h>

lws_set_proxy() - Setups proxy to lws_context.

Parameters
vhostpointer to struct lws_vhost you want set proxy for
proxypointer to c string containing proxy in format address:port

Returns 0 if proxy string was parsed and proxy was setup. Returns -1 if proxy is NULL or has incorrect format.

This is only required if your OS does not provide the http_proxy environment variable (eg, OSX)

IMPORTANT! You should call this function right after creation of the lws_context and before call to connect. If you call this function after connect behavior is undefined. This function will override proxy settings made on lws_context creation with genenv() call.

◆ lws_set_socks()

LWS_VISIBLE LWS_EXTERN int lws_set_socks ( struct lws_vhost *  vhost,
const char *  socks 
)

#include <include/libwebsockets/lws-context-vhost.h>

lws_set_socks() - Setup socks to lws_context.

Parameters
vhostpointer to struct lws_vhost you want set socks for
sockspointer to c string containing socks in format address:port

Returns 0 if socks string was parsed and socks was setup. Returns -1 if socks is NULL or has incorrect format.

This is only required if your OS does not provide the socks_proxy environment variable (eg, OSX)

IMPORTANT! You should call this function right after creation of the lws_context and before call to connect. If you call this function after connect behavior is undefined. This function will override proxy settings made on lws_context creation with genenv() call.

◆ lws_vhost_destroy()

LWS_VISIBLE LWS_EXTERN void lws_vhost_destroy ( struct lws_vhost *  vh)

#include <include/libwebsockets/lws-context-vhost.h>

lws_vhost_destroy() - Destroy a vhost (virtual server context)

Parameters
vhpointer to result of lws_create_vhost()

This function destroys a vhost. Normally, if you just want to exit, then lws_destroy_context() will take care of everything. If you want to destroy an individual vhost and all connections and allocations, you can do it with this.

If the vhost has a listen sockets shared by other vhosts, it will be given to one of the vhosts sharing it rather than closed.

The vhost close is staged according to the needs of the event loop, and if there are multiple service threads. At the point the vhost itself if about to be freed, if you provided a finalize callback and optional arg at vhost creation time, it will be called just before the vhost is freed.

◆ lws_vhost_get()

LWS_VISIBLE LWS_EXTERN struct lws_vhost* lws_vhost_get ( struct lws *  wsi)

#include <include/libwebsockets/lws-context-vhost.h>

lws_vhost_get() -

Deprecated:
deprecated: use lws_get_vhost()

◆ lws_vhost_user()

LWS_VISIBLE LWS_EXTERN void* lws_vhost_user ( struct lws_vhost *  vhost)

#include <include/libwebsockets/lws-context-vhost.h>

lws_vhost_user() - get the user data associated with the vhost

Parameters
vhostWebsocket vhost

This returns the optional user pointer that can be attached to a vhost when it was created. Lws never dereferences this pointer, it only sets it when the vhost is created, and returns it using this api.

◆ lwsws_get_config_globals()

LWS_VISIBLE LWS_EXTERN int lwsws_get_config_globals ( struct lws_context_creation_info info,
const char *  d,
char **  config_strings,
int *  len 
)

#include <include/libwebsockets/lws-context-vhost.h>

lwsws_get_config_globals() - Parse a JSON server config file

Parameters
infopointer to struct with parameters
dfilepath of the config file
config_stringsstorage for the config strings extracted from JSON, the pointer is incremented as strings are stored
lenpointer to the remaining length left in config_strings the value is decremented as strings are stored

This function prepares a n lws_context_creation_info struct with global settings from a file d.

Requires CMake option LWS_WITH_LEJP_CONF to have been enabled

◆ lwsws_get_config_vhosts()

LWS_VISIBLE LWS_EXTERN int lwsws_get_config_vhosts ( struct lws_context *  context,
struct lws_context_creation_info info,
const char *  d,
char **  config_strings,
int *  len 
)

#include <include/libwebsockets/lws-context-vhost.h>

lwsws_get_config_vhosts() - Create vhosts from a JSON server config file

Parameters
contextpointer to result of lws_create_context()
infopointer to struct with parameters
dfilepath of the config file
config_stringsstorage for the config strings extracted from JSON, the pointer is incremented as strings are stored
lenpointer to the remaining length left in config_strings the value is decremented as strings are stored

This function creates vhosts into a context according to the settings in JSON files found in directory d.

Requires CMake option LWS_WITH_LEJP_CONF to have been enabled

LWS_SERVER_OPTION_LIBEV
@ LWS_SERVER_OPTION_LIBEV
Definition: lws-context-vhost.h:58
LWS_SERVER_OPTION_REDIRECT_HTTP_TO_HTTPS
@ LWS_SERVER_OPTION_REDIRECT_HTTP_TO_HTTPS
Definition: lws-context-vhost.h:74
LWS_SERVER_OPTION_LIBUV
@ LWS_SERVER_OPTION_LIBUV
Definition: lws-context-vhost.h:72
LWS_SERVER_OPTION_DISABLE_IPV6
@ LWS_SERVER_OPTION_DISABLE_IPV6
Definition: lws-context-vhost.h:60
LWS_SERVER_OPTION_SKIP_PROTOCOL_INIT
@ LWS_SERVER_OPTION_SKIP_PROTOCOL_INIT
Definition: lws-context-vhost.h:126
LWS_SERVER_OPTION_JUST_USE_RAW_ORIGIN
@ LWS_SERVER_OPTION_JUST_USE_RAW_ORIGIN
Definition: lws-context-vhost.h:98
LWS_SERVER_OPTION_VALIDATE_UTF8
@ LWS_SERVER_OPTION_VALIDATE_UTF8
Definition: lws-context-vhost.h:67
LWS_SERVER_OPTION_REQUIRE_VALID_OPENSSL_CLIENT_CERT
@ LWS_SERVER_OPTION_REQUIRE_VALID_OPENSSL_CLIENT_CERT
Definition: lws-context-vhost.h:46
LWS_SERVER_OPTION_IGNORE_MISSING_CERT
@ LWS_SERVER_OPTION_IGNORE_MISSING_CERT
Definition: lws-context-vhost.h:131
LWS_SERVER_OPTION_FALLBACK_TO_RAW
@ LWS_SERVER_OPTION_FALLBACK_TO_RAW
Definition: lws-context-vhost.h:105
LWS_SERVER_OPTION_IPV6_V6ONLY_MODIFY
@ LWS_SERVER_OPTION_IPV6_V6ONLY_MODIFY
Definition: lws-context-vhost.h:88
LWS_SERVER_OPTION_CREATE_VHOST_SSL_CTX
@ LWS_SERVER_OPTION_CREATE_VHOST_SSL_CTX
Definition: lws-context-vhost.h:119
LWS_SERVER_OPTION_HTTP_HEADERS_SECURITY_BEST_PRACTICES_ENFORCE
@ LWS_SERVER_OPTION_HTTP_HEADERS_SECURITY_BEST_PRACTICES_ENFORCE
Definition: lws-context-vhost.h:148
LWS_SERVER_OPTION_DISABLE_OS_CA_CERTS
@ LWS_SERVER_OPTION_DISABLE_OS_CA_CERTS
Definition: lws-context-vhost.h:62
LWS_SERVER_OPTION_UV_NO_SIGSEGV_SIGFPE_SPIN
@ LWS_SERVER_OPTION_UV_NO_SIGSEGV_SIGFPE_SPIN
Definition: lws-context-vhost.h:92
LWS_SERVER_OPTION_LIBEVENT
@ LWS_SERVER_OPTION_LIBEVENT
Definition: lws-context-vhost.h:107
LWS_SERVER_OPTION_STS
@ LWS_SERVER_OPTION_STS
Definition: lws-context-vhost.h:85
LWS_SERVER_OPTION_PEER_CERT_NOT_REQUIRED
@ LWS_SERVER_OPTION_PEER_CERT_NOT_REQUIRED
Definition: lws-context-vhost.h:65
LWS_SERVER_OPTION_EXPLICIT_VHOSTS
@ LWS_SERVER_OPTION_EXPLICIT_VHOSTS
Definition: lws-context-vhost.h:80
LWS_SERVER_OPTION_ONLY_RAW
@ LWS_SERVER_OPTION_ONLY_RAW
Definition: lws-context-vhost.h:109
LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT
@ LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT
Definition: lws-context-vhost.h:78
LWS_SERVER_OPTION_ALLOW_LISTEN_SHARE
@ LWS_SERVER_OPTION_ALLOW_LISTEN_SHARE
Definition: lws-context-vhost.h:113
LWS_SERVER_OPTION_UNIX_SOCK
@ LWS_SERVER_OPTION_UNIX_SOCK
Definition: lws-context-vhost.h:83
LWS_SERVER_OPTION_SKIP_SERVER_CANONICAL_NAME
@ LWS_SERVER_OPTION_SKIP_SERVER_CANONICAL_NAME
Definition: lws-context-vhost.h:51
LWS_SERVER_OPTION_ALLOW_NON_SSL_ON_SSL_PORT
@ LWS_SERVER_OPTION_ALLOW_NON_SSL_ON_SSL_PORT
Definition: lws-context-vhost.h:53
LWS_SERVER_OPTION_VHOST_UPG_STRICT_HOST_CHECK
@ LWS_SERVER_OPTION_VHOST_UPG_STRICT_HOST_CHECK
Definition: lws-context-vhost.h:137
LWS_SERVER_OPTION_IPV6_V6ONLY_VALUE
@ LWS_SERVER_OPTION_IPV6_V6ONLY_VALUE
Definition: lws-context-vhost.h:90
LWS_SERVER_OPTION_SSL_ECDH
@ LWS_SERVER_OPTION_SSL_ECDH
Definition: lws-context-vhost.h:69