mirror of
https://github.com/espressif/esp-idf
synced 2025-03-10 01:29:21 -04:00
http_server: Increment active socket count for SSL session
- The callback `open_fn` is used for creating a new SSL session with httpd_sess_new. - If the call fails, the active socket count (httpd_data->hd_sd_active_count) is not incremented. But, httpd_sess_delete is called, which decrements the count, resulting in a negative value for several failed session creations in a row. Closes https://github.com/espressif/esp-idf/issues/9683
This commit is contained in:
parent
15e0606ca0
commit
463b02eeec
@ -204,6 +204,9 @@ esp_err_t httpd_sess_new(struct httpd_data *hd, int newfd)
|
|||||||
session->send_fn = httpd_default_send;
|
session->send_fn = httpd_default_send;
|
||||||
session->recv_fn = httpd_default_recv;
|
session->recv_fn = httpd_default_recv;
|
||||||
|
|
||||||
|
// increment number of sessions
|
||||||
|
hd->hd_sd_active_count++;
|
||||||
|
|
||||||
// Call user-defined session opening function
|
// Call user-defined session opening function
|
||||||
if (hd->config.open_fn) {
|
if (hd->config.open_fn) {
|
||||||
esp_err_t ret = hd->config.open_fn(hd, session->fd);
|
esp_err_t ret = hd->config.open_fn(hd, session->fd);
|
||||||
@ -214,10 +217,8 @@ esp_err_t httpd_sess_new(struct httpd_data *hd, int newfd)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// increment number of sessions
|
|
||||||
hd->hd_sd_active_count++;
|
|
||||||
ESP_LOGD(TAG, LOG_FMT("active sockets: %d"), hd->hd_sd_active_count);
|
|
||||||
|
|
||||||
|
ESP_LOGD(TAG, LOG_FMT("active sockets: %d"), hd->hd_sd_active_count);
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user