fix(esp_https_server): Convert HTTPD_SSL_CONFIG_DEFAULT MACRO to function

Previously with HTTPD_SSL_CONFIG_DEFAULT being a MACRO, the
    configuration options could not be applied to it. This was casuing
    error in multiple scenarios. For e.g., here user_cert_cb is a part
    of httpd_ssl_config_t which this macro defines. But the type of
    user_cert_cb (esp_tls_server_callback_t) is only available when it is enabled
    in esp-tls. The MACRO however cannot be modified to set the defaults
    based on configuration option. This fix solves the issue without
    breaking the compatibility
This commit is contained in:
Aditya Patwardhan
2023-10-10 16:27:59 +05:30
committed by Mahavir Jain
parent d4544a0d5c
commit a0d73b5155
3 changed files with 64 additions and 49 deletions

View File

@@ -48,6 +48,60 @@ static void httpd_ssl_close(void *ctx)
ESP_LOGD(TAG, "Secure socket closed");
}
httpd_ssl_config_t httpd_ssl_config_default(void)
{
httpd_ssl_config_t config = {
.httpd = {
.task_priority = tskIDLE_PRIORITY + 5,
.stack_size = 10240,
.core_id = tskNO_AFFINITY,
.server_port = 0,
.ctrl_port = ESP_HTTPD_DEF_CTRL_PORT + 1,
.max_open_sockets = 4,
.max_uri_handlers = 8,
.max_resp_headers = 8,
.backlog_conn = 5,
.lru_purge_enable = true,
.recv_wait_timeout = 5,
.send_wait_timeout = 5,
.global_user_ctx = NULL,
.global_user_ctx_free_fn = NULL,
.global_transport_ctx = NULL,
.global_transport_ctx_free_fn = NULL,
.enable_so_linger = false,
.linger_timeout = 0,
.keep_alive_enable = false,
.keep_alive_idle = 0,
.keep_alive_interval = 0,
.keep_alive_count = 0,
.open_fn = NULL,
.close_fn = NULL,
.uri_match_fn = NULL,
},
.servercert = NULL,
.servercert_len = 0,
.cacert_pem = NULL,
.cacert_len = 0,
.prvtkey_pem = NULL,
.prvtkey_len = 0,
.use_ecdsa_peripheral = false,
.ecdsa_key_efuse_blk = 0,
.transport_mode = HTTPD_SSL_TRANSPORT_SECURE,
.port_secure = 443,
.port_insecure = 80,
.session_tickets = false,
.use_secure_element = false,
.user_cb = NULL,
.ssl_userdata = NULL,
#if CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK
.cert_select_cb = NULL,
#endif
.alpn_protos = NULL,
};
return config;
}
/**
* SSL socket pending-check function
*