2016-05-12 04:36:12 +08:00
|
|
|
---
|
|
|
|
title: "struct mg_bind_opts"
|
|
|
|
decl_name: "struct mg_bind_opts"
|
|
|
|
symbol_kind: "struct"
|
|
|
|
signature: |
|
|
|
|
struct mg_bind_opts {
|
|
|
|
void *user_data; /* Initial value for connection's user_data */
|
|
|
|
unsigned int flags; /* Extra connection flags */
|
|
|
|
const char **error_string; /* Placeholder for the error string */
|
2016-11-09 22:48:49 +08:00
|
|
|
struct mg_iface *iface; /* Interface instance */
|
Change from using #ifdef to #if for features tests
"#if FOO" still works with simple -DFOO, but gives more flexibility.
Specifically, if user expressed no preference (FOO is not defined),
we can apply reasonable defaults (this is the legitimate use of ifdef).
In short, from now on, please use
#if MG_ENABLE_FOO
instead of
#ifdef MG_ENABLE_FOO
Since we are all used to #ifdef, this change also adds a precommit check
to police this. Specifically, in *.h and *.c files that are Copyright Cesanta,
"ifdef" and "if defined()" are not allowed to be used with macros that contain
ENABLE or DISABLE, unless the like also contains "ifdef-ok".
Hence, if you are sure you want to use ifdef, use this:
#ifdef MG_ENABLE_FOO /* ifdef-ok */
PUBLISHED_FROM=9be829448f53cff575d6cae8b9945fb12531c15a
2016-10-14 01:55:08 +08:00
|
|
|
#if MG_ENABLE_SSL
|
2017-01-10 07:44:44 +08:00
|
|
|
/*
|
|
|
|
* SSL settings.
|
|
|
|
*
|
|
|
|
* Server certificate to present to clients or client certificate to
|
|
|
|
* present to tunnel dispatcher (for tunneled connections).
|
|
|
|
*/
|
|
|
|
const char *ssl_cert;
|
|
|
|
/* Private key corresponding to the certificate. If ssl_cert is set but
|
|
|
|
* ssl_key is not, ssl_cert is used. */
|
|
|
|
const char *ssl_key;
|
|
|
|
/* CA bundle used to verify client certificates or tunnel dispatchers. */
|
|
|
|
const char *ssl_ca_cert;
|
|
|
|
/* Colon-delimited list of acceptable cipher suites.
|
|
|
|
* Names depend on the library used, for example:
|
|
|
|
*
|
|
|
|
* ECDH-ECDSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256 (OpenSSL)
|
|
|
|
* TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256
|
|
|
|
* (mbedTLS)
|
|
|
|
*
|
|
|
|
* For OpenSSL the list can be obtained by running "openssl ciphers".
|
|
|
|
* For mbedTLS, names can be found in library/ssl_ciphersuites.c
|
|
|
|
* If NULL, a reasonable default is used.
|
|
|
|
*/
|
|
|
|
const char *ssl_cipher_suites;
|
2016-05-12 04:36:12 +08:00
|
|
|
#endif
|
|
|
|
};
|
|
|
|
---
|
|
|
|
|
|
|
|
Optional parameters to `mg_bind_opt()`.
|
|
|
|
|
|
|
|
`flags` is an initial `struct mg_connection::flags` bitmask to set,
|
|
|
|
see `MG_F_*` flags definitions.
|
|
|
|
|