Commit Graph

129 Commits

Author SHA1 Message Date
Ashish Sharma f8d9220565 fix: stop reading ws data when peer closes the connection
Closes https://github.com/espressif/esp-idf/issues/17822
2026-01-22 18:17:01 +08:00
Vincent Hamp 6421482fa1 fix(esp_http_server): WebSocket frame parsing errors
Fixes the Websocket frame pasring error, by making sure
that two bytes are read compulsary for length bytes 126.

Closes https://github.com/espressif/esp-idf/pull/15767
Closes https://github.com/espressif/esp-idf/issues/15235
2025-07-17 14:30:59 +05:30
hrushikesh.bhosale 6559ae7ec2 feat(http_server): httpd register handler strdup failure case check
In httpd_register_uri_handler api, for the strdup function failure case was not
checked and not returned any error by freeing previously allocated memory, if the memory
allocation for strdup function did not gets successful.

Closes https://github.com/espressif/esp-idf/issues/15878
2025-05-29 11:50:27 +05:30
harshal.patil 86fb48da77 fix(esp-tls): Fix build failure when CONFIG_MBEDTLS_SHA1_C is disabled 2025-04-29 11:17:27 +05:30
hrushikesh.bhosale fce6e09463 feat(https_server): Added checks to verify if uri is empty
Added the checks if the URI is empty for the funtions httpd_req_get_url_query_len
and httpd_req_get_url_query_str in httpd_parser.c
2025-01-10 11:09:43 +05:30
nilesh.kale d48984ad3f feat(esp_http_server): add support to handle HTTP 1.0 requests
This commit adds support to handle HTTP/1.0 requests alongside HTTP/1.1 for
legacy compliance purposes.
2024-12-16 14:10:46 +05:30
Jiang Jiang Jian d8a2be0564 Merge branch 'contrib/github_pr_14196_v5.3' into 'release/v5.3'
fix(esp_http_server): prevent concurrent access to socket used in async http requests (GitHub PR) (v5.3)

See merge request espressif/esp-idf!34684
2024-11-14 19:10:23 +08:00
Friedolin Gröger 8b559ce614 fix(esp_http_server): prevent concurrent access to socket used in async http requests 2024-11-06 08:10:55 +01:00
nilesh.kale b06249f483 fix(esp_http_server): updated condition to verify http version
Closes https://github.com/espressif/esp-idf/issues/14723
2024-11-04 15:50:00 +05:30
Harshit Malpani 0fa6298774 fix: Fix spelling mistakes in esp_http_server.h 2024-10-06 17:06:48 +05:30
Chen Jichang 84f024478c fix(ci): rerun pre-commit to fix readme files 2024-09-27 11:12:55 +08:00
Harshit Malpani eb8dad2fa6 fix: Add warning to enable LWIP_NETIF_LOOPBACK to use control socket API
Closes https://github.com/espressif/esp-idf/issues/13659
2024-05-20 10:43:41 +05:30
Aditya Patwardhan d444ff58ec Merge branch 'contrib/github_pr_13462' into 'master'
fix: Allocate HTTP header space for async httpd_req_t objects (GitHub PR)

Closes IDFGH-12445

See merge request espressif/esp-idf!29868
2024-04-22 14:17:21 +08:00
laokaiyao 65b1fd33d3 ci(esp32c5mp): disable the unsupported tests 2024-04-07 12:13:29 +08:00
Mooneer Salem f799e99909 fix: Allocate HTTP header space for async httpd_req_t objects
This resolves bug #13430 by allocating a new copy of resp_hdrs
when calling httpd_req_async_handler_begin(), thus preventing
invalid access to memory from async tasks.
2024-03-27 00:50:29 -07:00
Jakob Hasse 4d629be602 refactor(linux): Unified libbsd handling
* Users can now use libbsd string.h and sys/cdefs.h functionality
  (e.g., strlcpy, containerof) on Linux by just including
  string.h or sys/cdefs.h. In other words, the includes are the same
  on the Linux target as well as on chips targets (ESP32, etc.).
* libbsd linking is done by the linux component (belongs to common
  components) now instead of handling it separately in each component
2024-03-08 12:26:54 +08:00
Marius Vikhammer 1f7c666701 ci(test_apps): limit dependencies for misc test_apps
Only pull in direct dependencies for the test apps, reducing build time
as well making it possible for CI to determine if the test should run or not
when dependencies are changed.
2024-02-18 16:01:58 +08:00
Harshit Malpani 1d81af367d feat: support HTTP_ANY method in esp_http_server
Closes https://github.com/espressif/esp-idf/issues/12794
2024-01-15 14:32:06 +05:30
Harshit Malpani ae71e1ddb9 fix(esp_http_server): Add support for custom HTTP status codes
Closes https://github.com/espressif/esp-idf/issues/12399
2023-12-20 16:59:38 +05:30
Ivan Grokhotkov 49f289f893 fix(esp_http_server): fix build for IDF_TARGET=linux on macOS 2023-12-19 13:28:59 +01:00
Alon Bar-Lev af79fe0495 change(components/esp_http_server): add task_caps configuration
The HTTP server is not a critical component, it would be nice if we can
control the task caps by using configuration.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Signed-off-by: Harshit Malpani <harshit.malpani@espressif.com>
2023-12-13 12:26:59 +05:30
Ivan Grokhotkov 88fa79fcc7 feat(unity): upgrade to 2.6.0-RC1 2023-11-28 20:22:02 +01:00
Harshit Malpani 692e1a9e61 feat: ECDSA peripheral while performing http connection with mutual auth 2023-09-08 12:22:41 +05:30
Armando 7dbd3f6909 feat(ci): Enable p4 example, test_apps and unit tests CI build 2023-08-24 12:51:19 +08:00
Chip Weinberger 3824eba04d feat(httpd): add support for asynchronous request handling
This commit adds support for handling multiple requests simultaneously by introducing two new functions: `httpd_req_async_handler_begin()` and `httpd_req_async_handler_complete()`. These functions allow creating an asynchronous copy of a request that can be used on a separate thread and marking the asynchronous request as completed, respectively.

Additionally, a new flag `for_async_req` has been added to the `httpd_sess_t` struct to indicate if a socket is being used for an asynchronous request and should not be purged from the LRU cache.

An example have been added to demonstrate the usage of these new functions.

Closes https://github.com/espressif/esp-idf/issues/10594

Signed-off-by: Harshit Malpani <harshit.malpani@espressif.com>
2023-05-19 10:05:42 +05:30
David Cermak b2af4d9689 lwip/linux: Add lwip support for networking component under linux
linux/lwip: Wrap some IO posix functions
* to workaourd the FreeRTOS EINTR issue (when building without lwip)
* to correctly choose the sub-system based on fd (when building with
lwip) -- passing control to either linux/system or to lwip
This commit also addapts tapio-if to provide DHCP client by default and
configurable settings for static IP
2023-05-05 05:03:39 +00:00
Harshit Malpani 7c68b67295 esp_http_server: Update to support build for Linux 2023-03-31 16:42:05 +05:30
Marius Vikhammer 0be8e03907 ci: update test apps to use run_all_single_board_cases 2023-03-10 14:27:09 +08:00
David Cermak 5f6cb31105 lwip: Support IPv6 only mode 2023-02-27 08:53:34 +01:00
Omar Chebib 5e5343d429 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-02-17 11:22:25 +08:00
Harshit Malpani e1e46e5dae esp_http_server: fix return values for httpd_socket_send() and httpd_socket_recv() APIs
Closes https://github.com/espressif/esp-idf/issues/10658
2023-01-31 11:29:49 +05:30
Cao Sen Miao 94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Mahavir Jain 035c2e5799 esp_http(s)_server: remove "Wno-format" cflag and fix formatting errors 2022-12-21 14:14:04 +05:30
Harshit Malpani 0885d8542d esp_http_server: Added support for esp_events 2022-12-19 17:33:37 +05:30
Harshit Malpani 89a56392e3 esp_http_server: fix wrong context pointer in httpd_req_cleanup function
Added example which fails without the fix

Closes https://github.com/espressif/esp-idf/issues/10265
2022-12-16 14:40:37 +05:30
Nathan Phillips 2d047f5439 Fix type of cast 2022-12-08 10:51:16 +00:00
Mahavir Jain 79216c657e esp_http_server: modify error print for clarifying internal socket usage
Closes https://github.com/espressif/esp-idf/issues/10108
Closes IDFGH-8663
2022-11-15 20:46:35 +05:30
Mahavir Jain 34f3287323 esp_http_server: fix default control port for HTTPS configuration
For simultaneous HTTP and HTTPS server use-case, default configurations
set same control socket port and hence one of the server initialization
fails with an error "error in creating control socket".

This commit modifies default initializers to use different control
socket port in HTTP vs HTTPS server case.

Closes https://github.com/espressif/esp-idf/issues/10160
Closes IDFGH-8719
2022-11-15 20:46:35 +05:30
Mahavir Jain a6b9304a50 Merge branch 'feature/add_keep_alive_for_httpserver' into 'master'
esp_http_server: Add support to enable TCP keepalive config

Closes IDFGH-8379

See merge request espressif/esp-idf!20842
2022-11-01 17:13:41 +08:00
Song Ruo Jing be0fdfa176 soc: Add a soc cap, SOC_CLK_RC_FAST_D256_SUPPORTED, for whether the target has the RC_FAST_D256 clock 2022-11-01 11:23:26 +08:00
yuanjianmin e05d61d075 esp_http_server: Add support to enable TCP keepalive config
Closes https://github.com/espressif/esp-idf/issues/9848
2022-10-31 14:37:05 +08:00
Mahavir Jain fffc72d307 esp_http_server: fix few coverity warnings
- unreachable code
- uninitialized values
- missing return checks
2022-10-10 15:35:43 +05:30
Harshit Malpani a3fd6d1070 esp_http_server: Add linger in httpd_config_t
Closes: https://github.com/espressif/esp-idf/issues/9514
2022-09-22 10:11:50 +05:30
Laukik Hase 463b02eeec 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
2022-09-07 10:27:22 +05:30
Harshit Malpani cae004a815 ci: Migrate esp_http_server unit tests from unit-test-app to component-test-app 2022-08-25 03:43:46 +00:00
Ivan Grokhotkov 401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
yuanjm b9b1a7aba8 fix(websocket): Support handler deal with PING and CLOSE frame
Closes https://github.com/espressif/esp-idf/issues/8803
2022-06-08 16:16:57 +08:00
Harshit Malpani 73fc12cdcd esp_http_server: Remove http_server.h Header file 2022-05-13 16:00:17 +05:30
Harshit Malpani 1bb03e17a7 esp_http_server: update httpd_queue_work() API to use semaphore
Closes: https://github.com/espressif/esp-idf/issues/8440
2022-05-09 18:00:05 +05:30
Yuan Jian Min 293830a8ee fix(server): Fix websocket server not support handle multiple connections when client send CLOSE frame 2022-05-06 09:18:05 +08:00