|
@@ -2132,21 +2132,21 @@ enum {
|
|
|
|
|
|
/* Config option name, config types, default value */
|
|
/* Config option name, config types, default value */
|
|
static struct mg_option config_options[] = {
|
|
static struct mg_option config_options[] = {
|
|
- {"cgi_pattern", CONFIG_TYPE_EXT_PATTERN, "**.cgi$|**.pl$|**.php$"},
|
|
|
|
- {"cgi_environment", CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
- {"put_delete_auth_file", CONFIG_TYPE_FILE, NULL},
|
|
|
|
- {"cgi_interpreter", CONFIG_TYPE_FILE, NULL},
|
|
|
|
- {"protect_uri", CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
- {"authentication_domain", CONFIG_TYPE_STRING, "mydomain.com"},
|
|
|
|
- {"enable_auth_domain_check", CONFIG_TYPE_BOOLEAN, "yes"},
|
|
|
|
- {"ssi_pattern", CONFIG_TYPE_EXT_PATTERN, "**.shtml$|**.shtm$"},
|
|
|
|
- {"throttle", CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
- {"access_log_file", CONFIG_TYPE_FILE, NULL},
|
|
|
|
- {"enable_directory_listing", CONFIG_TYPE_BOOLEAN, "yes"},
|
|
|
|
- {"error_log_file", CONFIG_TYPE_FILE, NULL},
|
|
|
|
- {"global_auth_file", CONFIG_TYPE_FILE, NULL},
|
|
|
|
|
|
+ {"cgi_pattern", MG_CONFIG_TYPE_EXT_PATTERN, "**.cgi$|**.pl$|**.php$"},
|
|
|
|
+ {"cgi_environment", MG_CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
+ {"put_delete_auth_file", MG_CONFIG_TYPE_FILE, NULL},
|
|
|
|
+ {"cgi_interpreter", MG_CONFIG_TYPE_FILE, NULL},
|
|
|
|
+ {"protect_uri", MG_CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
+ {"authentication_domain", MG_CONFIG_TYPE_STRING, "mydomain.com"},
|
|
|
|
+ {"enable_auth_domain_check", MG_CONFIG_TYPE_BOOLEAN, "yes"},
|
|
|
|
+ {"ssi_pattern", MG_CONFIG_TYPE_EXT_PATTERN, "**.shtml$|**.shtm$"},
|
|
|
|
+ {"throttle", MG_CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
+ {"access_log_file", MG_CONFIG_TYPE_FILE, NULL},
|
|
|
|
+ {"enable_directory_listing", MG_CONFIG_TYPE_BOOLEAN, "yes"},
|
|
|
|
+ {"error_log_file", MG_CONFIG_TYPE_FILE, NULL},
|
|
|
|
+ {"global_auth_file", MG_CONFIG_TYPE_FILE, NULL},
|
|
{"index_files",
|
|
{"index_files",
|
|
- CONFIG_TYPE_STRING_LIST,
|
|
|
|
|
|
+ MG_CONFIG_TYPE_STRING_LIST,
|
|
#ifdef USE_LUA
|
|
#ifdef USE_LUA
|
|
"index.xhtml,index.html,index.htm,"
|
|
"index.xhtml,index.html,index.htm,"
|
|
"index.lp,index.lsp,index.lua,index.cgi,"
|
|
"index.lp,index.lsp,index.lua,index.cgi,"
|
|
@@ -2154,79 +2154,79 @@ static struct mg_option config_options[] = {
|
|
#else
|
|
#else
|
|
"index.xhtml,index.html,index.htm,index.cgi,index.shtml,index.php"},
|
|
"index.xhtml,index.html,index.htm,index.cgi,index.shtml,index.php"},
|
|
#endif
|
|
#endif
|
|
- {"enable_keep_alive", CONFIG_TYPE_BOOLEAN, "no"},
|
|
|
|
- {"access_control_list", CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
- {"extra_mime_types", CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
- {"listening_ports", CONFIG_TYPE_STRING_LIST, "8080"},
|
|
|
|
- {"document_root", CONFIG_TYPE_DIRECTORY, NULL},
|
|
|
|
- {"ssl_certificate", CONFIG_TYPE_FILE, NULL},
|
|
|
|
- {"ssl_certificate_chain", CONFIG_TYPE_FILE, NULL},
|
|
|
|
- {"num_threads", CONFIG_TYPE_NUMBER, "50"},
|
|
|
|
- {"run_as_user", CONFIG_TYPE_STRING, NULL},
|
|
|
|
- {"url_rewrite_patterns", CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
- {"hide_files_patterns", CONFIG_TYPE_EXT_PATTERN, NULL},
|
|
|
|
- {"request_timeout_ms", CONFIG_TYPE_NUMBER, "30000"},
|
|
|
|
- {"keep_alive_timeout_ms", CONFIG_TYPE_NUMBER, "500"},
|
|
|
|
- {"linger_timeout_ms", CONFIG_TYPE_NUMBER, NULL},
|
|
|
|
|
|
+ {"enable_keep_alive", MG_CONFIG_TYPE_BOOLEAN, "no"},
|
|
|
|
+ {"access_control_list", MG_CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
+ {"extra_mime_types", MG_CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
+ {"listening_ports", MG_CONFIG_TYPE_STRING_LIST, "8080"},
|
|
|
|
+ {"document_root", MG_CONFIG_TYPE_DIRECTORY, NULL},
|
|
|
|
+ {"ssl_certificate", MG_CONFIG_TYPE_FILE, NULL},
|
|
|
|
+ {"ssl_certificate_chain", MG_CONFIG_TYPE_FILE, NULL},
|
|
|
|
+ {"num_threads", MG_CONFIG_TYPE_NUMBER, "50"},
|
|
|
|
+ {"run_as_user", MG_CONFIG_TYPE_STRING, NULL},
|
|
|
|
+ {"url_rewrite_patterns", MG_CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
+ {"hide_files_patterns", MG_CONFIG_TYPE_EXT_PATTERN, NULL},
|
|
|
|
+ {"request_timeout_ms", MG_CONFIG_TYPE_NUMBER, "30000"},
|
|
|
|
+ {"keep_alive_timeout_ms", MG_CONFIG_TYPE_NUMBER, "500"},
|
|
|
|
+ {"linger_timeout_ms", MG_CONFIG_TYPE_NUMBER, NULL},
|
|
|
|
|
|
/* TODO(Feature): this is no longer a boolean, but yes/no/optional */
|
|
/* TODO(Feature): this is no longer a boolean, but yes/no/optional */
|
|
- {"ssl_verify_peer", CONFIG_TYPE_BOOLEAN, "no"},
|
|
|
|
-
|
|
|
|
- {"ssl_ca_path", CONFIG_TYPE_DIRECTORY, NULL},
|
|
|
|
- {"ssl_ca_file", CONFIG_TYPE_FILE, NULL},
|
|
|
|
- {"ssl_verify_depth", CONFIG_TYPE_NUMBER, "9"},
|
|
|
|
- {"ssl_default_verify_paths", CONFIG_TYPE_BOOLEAN, "yes"},
|
|
|
|
- {"ssl_cipher_list", CONFIG_TYPE_STRING, NULL},
|
|
|
|
- {"ssl_protocol_version", CONFIG_TYPE_NUMBER, "0"},
|
|
|
|
- {"ssl_short_trust", CONFIG_TYPE_BOOLEAN, "no"},
|
|
|
|
|
|
+ {"ssl_verify_peer", MG_CONFIG_TYPE_BOOLEAN, "no"},
|
|
|
|
+
|
|
|
|
+ {"ssl_ca_path", MG_CONFIG_TYPE_DIRECTORY, NULL},
|
|
|
|
+ {"ssl_ca_file", MG_CONFIG_TYPE_FILE, NULL},
|
|
|
|
+ {"ssl_verify_depth", MG_CONFIG_TYPE_NUMBER, "9"},
|
|
|
|
+ {"ssl_default_verify_paths", MG_CONFIG_TYPE_BOOLEAN, "yes"},
|
|
|
|
+ {"ssl_cipher_list", MG_CONFIG_TYPE_STRING, NULL},
|
|
|
|
+ {"ssl_protocol_version", MG_CONFIG_TYPE_NUMBER, "0"},
|
|
|
|
+ {"ssl_short_trust", MG_CONFIG_TYPE_BOOLEAN, "no"},
|
|
#if defined(USE_WEBSOCKET)
|
|
#if defined(USE_WEBSOCKET)
|
|
- {"websocket_timeout_ms", CONFIG_TYPE_NUMBER, "30000"},
|
|
|
|
|
|
+ {"websocket_timeout_ms", MG_CONFIG_TYPE_NUMBER, "30000"},
|
|
#endif
|
|
#endif
|
|
- {"decode_url", CONFIG_TYPE_BOOLEAN, "yes"},
|
|
|
|
|
|
+ {"decode_url", MG_CONFIG_TYPE_BOOLEAN, "yes"},
|
|
|
|
|
|
#if defined(USE_LUA)
|
|
#if defined(USE_LUA)
|
|
- {"lua_preload_file", CONFIG_TYPE_FILE, NULL},
|
|
|
|
- {"lua_script_pattern", CONFIG_TYPE_EXT_PATTERN, "**.lua$"},
|
|
|
|
- {"lua_server_page_pattern", CONFIG_TYPE_EXT_PATTERN, "**.lp$|**.lsp$"},
|
|
|
|
|
|
+ {"lua_preload_file", MG_CONFIG_TYPE_FILE, NULL},
|
|
|
|
+ {"lua_script_pattern", MG_CONFIG_TYPE_EXT_PATTERN, "**.lua$"},
|
|
|
|
+ {"lua_server_page_pattern", MG_CONFIG_TYPE_EXT_PATTERN, "**.lp$|**.lsp$"},
|
|
#endif
|
|
#endif
|
|
#if defined(USE_DUKTAPE)
|
|
#if defined(USE_DUKTAPE)
|
|
/* The support for duktape is still in alpha version state.
|
|
/* The support for duktape is still in alpha version state.
|
|
* The name of this config option might change. */
|
|
* The name of this config option might change. */
|
|
- {"duktape_script_pattern", CONFIG_TYPE_EXT_PATTERN, "**.ssjs$"},
|
|
|
|
|
|
+ {"duktape_script_pattern", MG_CONFIG_TYPE_EXT_PATTERN, "**.ssjs$"},
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if defined(USE_WEBSOCKET)
|
|
#if defined(USE_WEBSOCKET)
|
|
- {"websocket_root", CONFIG_TYPE_DIRECTORY, NULL},
|
|
|
|
|
|
+ {"websocket_root", MG_CONFIG_TYPE_DIRECTORY, NULL},
|
|
#endif
|
|
#endif
|
|
#if defined(USE_LUA) && defined(USE_WEBSOCKET)
|
|
#if defined(USE_LUA) && defined(USE_WEBSOCKET)
|
|
- {"lua_websocket_pattern", CONFIG_TYPE_EXT_PATTERN, "**.lua$"},
|
|
|
|
|
|
+ {"lua_websocket_pattern", MG_CONFIG_TYPE_EXT_PATTERN, "**.lua$"},
|
|
#endif
|
|
#endif
|
|
- {"access_control_allow_origin", CONFIG_TYPE_STRING, "*"},
|
|
|
|
- {"access_control_allow_methods", CONFIG_TYPE_STRING, "*"},
|
|
|
|
- {"access_control_allow_headers", CONFIG_TYPE_STRING, "*"},
|
|
|
|
- {"error_pages", CONFIG_TYPE_DIRECTORY, NULL},
|
|
|
|
- {"tcp_nodelay", CONFIG_TYPE_NUMBER, "0"},
|
|
|
|
|
|
+ {"access_control_allow_origin", MG_CONFIG_TYPE_STRING, "*"},
|
|
|
|
+ {"access_control_allow_methods", MG_CONFIG_TYPE_STRING, "*"},
|
|
|
|
+ {"access_control_allow_headers", MG_CONFIG_TYPE_STRING, "*"},
|
|
|
|
+ {"error_pages", MG_CONFIG_TYPE_DIRECTORY, NULL},
|
|
|
|
+ {"tcp_nodelay", MG_CONFIG_TYPE_NUMBER, "0"},
|
|
#if !defined(NO_CACHING)
|
|
#if !defined(NO_CACHING)
|
|
- {"static_file_max_age", CONFIG_TYPE_NUMBER, "3600"},
|
|
|
|
|
|
+ {"static_file_max_age", MG_CONFIG_TYPE_NUMBER, "3600"},
|
|
#endif
|
|
#endif
|
|
#if !defined(NO_SSL)
|
|
#if !defined(NO_SSL)
|
|
- {"strict_transport_security_max_age", CONFIG_TYPE_NUMBER, NULL},
|
|
|
|
|
|
+ {"strict_transport_security_max_age", MG_CONFIG_TYPE_NUMBER, NULL},
|
|
#endif
|
|
#endif
|
|
#if defined(__linux__)
|
|
#if defined(__linux__)
|
|
- {"allow_sendfile_call", CONFIG_TYPE_BOOLEAN, "yes"},
|
|
|
|
|
|
+ {"allow_sendfile_call", MG_CONFIG_TYPE_BOOLEAN, "yes"},
|
|
#endif
|
|
#endif
|
|
#if defined(_WIN32)
|
|
#if defined(_WIN32)
|
|
- {"case_sensitive", CONFIG_TYPE_BOOLEAN, "no"},
|
|
|
|
|
|
+ {"case_sensitive", MG_CONFIG_TYPE_BOOLEAN, "no"},
|
|
#endif
|
|
#endif
|
|
#if defined(USE_LUA)
|
|
#if defined(USE_LUA)
|
|
- {"lua_background_script", CONFIG_TYPE_FILE, NULL},
|
|
|
|
- {"lua_background_script_params", CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
|
|
|
+ {"lua_background_script", MG_CONFIG_TYPE_FILE, NULL},
|
|
|
|
+ {"lua_background_script_params", MG_CONFIG_TYPE_STRING_LIST, NULL},
|
|
#endif
|
|
#endif
|
|
- {"additional_header", CONFIG_TYPE_STRING_MULTILINE, NULL},
|
|
|
|
- {"max_request_size", CONFIG_TYPE_NUMBER, "16384"},
|
|
|
|
- {"allow_index_script_resource", CONFIG_TYPE_BOOLEAN, "no"},
|
|
|
|
|
|
+ {"additional_header", MG_CONFIG_TYPE_STRING_MULTILINE, NULL},
|
|
|
|
+ {"max_request_size", MG_CONFIG_TYPE_NUMBER, "16384"},
|
|
|
|
+ {"allow_index_script_resource", MG_CONFIG_TYPE_BOOLEAN, "no"},
|
|
|
|
|
|
- {NULL, CONFIG_TYPE_UNKNOWN, NULL}};
|
|
|
|
|
|
+ {NULL, MG_CONFIG_TYPE_UNKNOWN, NULL}};
|
|
|
|
|
|
|
|
|
|
/* Check if the config_options and the corresponding enum have compatible
|
|
/* Check if the config_options and the corresponding enum have compatible
|
|
@@ -11375,7 +11375,7 @@ read_websocket(struct mg_connection *conn,
|
|
}
|
|
}
|
|
|
|
|
|
if (exit_by_callback
|
|
if (exit_by_callback
|
|
- || ((mop & 0xf) == WEBSOCKET_OPCODE_CONNECTION_CLOSE)) {
|
|
|
|
|
|
+ || ((mop & 0xf) == MG_WEBSOCKET_OPCODE_CONNECTION_CLOSE)) {
|
|
/* Opcode == 8, connection close */
|
|
/* Opcode == 8, connection close */
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -18036,7 +18036,7 @@ mg_init_library(unsigned features)
|
|
mg_ssl_initialized = 1;
|
|
mg_ssl_initialized = 1;
|
|
} else {
|
|
} else {
|
|
(void)ebuf;
|
|
(void)ebuf;
|
|
- /* TODO: print error */
|
|
|
|
|
|
+ DEBUG_TRACE("Initializing SSL failed: %s", ebuf);
|
|
features_inited &= ~(2u);
|
|
features_inited &= ~(2u);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|