Harshit Malpani
935661ba4a
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-02-10 10:57:05 +05:30
Harshit Malpani
1a39a17777
esp_http_server: Added support for esp_events
2022-12-29 18:08:38 +05:30
Harshit Malpani
a5ee1504f8
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-21 10:32:34 +05:30
yuanjianmin
311b50498b
esp_http_server: Add support to enable TCP keepalive config
...
Closes https://github.com/espressif/esp-idf/issues/9848
2022-12-05 11:43:06 +08:00
Harshit Malpani
ee0d9e03d0
esp_http_server: Add linger in httpd_config_t
...
Closes: https://github.com/espressif/esp-idf/issues/9514
2022-09-27 10:10:03 +05:30
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
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
Shubham Kulkarni
a4afeed209
esp_http_server: Minor updates in error messages
...
idf_http_server_test/client.py: Update test script with new error message
2022-03-09 14:43:10 +05:30
MacDue
72e322fbba
esp_http_server: reword error messages
2022-03-07 17:39:02 +00:00
Aditya Patwardhan
3b71bd7326
mbedtls-3.0: Fixed ESP32 build issues
...
- Added MBEDLTS_PRIVATE(...) wherever necessary
- For functions like mbedtls_pk_parse_key(...), it is necessary to pass the RNG function
pointers as parameter. Solved for dependent components: wpa_supplicant & openSSL
- For libcoap, the SSLv2 ClientHello handshake method has been deprecated, need to handle this.
Currently, corresponding snippet has been commented.
- Examples tested: hello-world | https_request | wifi_prov_mgr
mbedtls-3.0: Fixed ESP32-C3 & ESP32-S3 build issues
- Removed MBEDTLS_DEPRECATED_REMOVED macro from sha1 port
- DS peripheral: esp_ds_rsa_sign -> removed unsused 'mode' argument
- Added MBEDTLS_PRIVATE(...) wherever required
mbedtls-3.0: Fixed ESP32-S2 build issues
- Fixed outdated function prototypes and usage in mbedlts/port/aes/esp_aes_gcm.c due to changes in GCM module
mbedtls-3.0: Fixed ESP32-H2 build issues
ci: Fixing build stage
- Added MBEDTLS_PRIVATE(...) wherever required
- Added RNG function parameter
- Updated GCM Module changes
- Updated Copyright notices
- Tests:
- build_esp_idf_tests_cmake_esp32
- build_esp_idf_tests_cmake_esp32s2
- build_esp_idf_tests_cmake_esp32c3
- build_esp_idf_tests_cmake_esp32s3
ci: Fixing build stage (mbedtls-related changes)
- Added MBEDTLS_PRIVATE(...) wherever required
- Updated SHAXXX functions
- Updated esp_config according to mbedtls changes
- Tests:
- build_examples_cmake_esp32
- build_examples_cmake_esp32s2
- build_examples_cmake_esp32c3
- build_examples_cmake_esp32s3
ci: Fixing build stage (example-related changes)
- Added MBEDTLS_PRIVATE(...) wherever required
- Updated SHAXXX functions
- Updated esp_config according to mbedtls changes
- Tests:
- build_examples_cmake_esp32
- build_examples_cmake_esp32s2
- build_examples_cmake_esp32c3
- build_examples_cmake_esp32s3
ci: Fixing target_test stage
- Updated test SSL version to TLS_v1_2
- Tests:
- example_test_protocols 1/2
ci: Fixing build stage
- Added checks for MBEDTLS_DHM_C (disabled by default)
- Updated esp_cryptoauthlib submodule
- Updated factory partition size for legacy BLE provisioning example
- Tests:
- build_examples_cmake_esp32
- build_examples_cmake_esp32s2
- build_examples_cmake_esp32c3
- build_examples_cmake_esp32s3
Co-authored-by: Laukik Hase <laukik.hase@espressif.com>
2022-03-03 01:37:10 +05:30
Mahavir Jain
af9a194672
Merge branch 'feature/websocket_server_support_close_handle' into 'master'
...
esp_http_server: Websocket CLOSE frame can support callback function
Closes IDFGH-5785
See merge request espressif/esp-idf!17086
2022-02-16 07:08:57 +00:00
Darian Leung
57fd78f5ba
freertos: Remove legacy data types
...
This commit removes the usage of all legacy FreeRTOS data types that
are exposed via configENABLE_BACKWARD_COMPATIBILITY. Legacy types can
still be used by enabling CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY.
2022-02-09 23:05:45 +08:00
yuanjm
7f1cba9912
esp_http_server: Websocket CLOSE frame can support callback function
...
Closes https://github.com/espressif/esp-idf/issues/7493
2022-02-09 10:15:36 +08:00
Dániel Buga
994038e0e9
esp_http_server: Check for failure in stopping http server
...
In some cases, sending the shutdown signal may fail, which causes `httpd_stop` to wait indefinitely.
This PR adds a check to prevent this infinite loop.
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
Closes https://github.com/espressif/esp-idf/pull/7843
2021-11-11 11:43:57 +05:30
Martin Valik
1f451a4a77
Added more convenient functions for sending data to websocket
2021-09-16 10:53:29 +02:00
yuanjm
5db3853c2c
esp_http_server: Fix ws server handle length over 1440(MTU) messages incorrectly.
...
Closes https://github.com/espressif/esp-idf/issues/7457
2021-08-30 14:50:19 +08:00
yuanjm
5bdbfd1d05
Revert "Merge branch 'bugfix/fix_ws_handle_big_messages_error' into 'master'"
...
This reverts commit d838a11d78
, reversing
changes made to 70fd8529e9
.
2021-08-30 14:50:19 +08:00
Patryk Krzywdziński
f43e9cdaa7
http: Function to get Cookie value from request.
...
Closes https://github.com/espressif/esp-idf/pull/7273
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
2021-07-30 13:23:25 +08:00
yuanjm
f2a0b48cf9
esp_http_server: Fix ws server handle length over 1440(MTU) messages incorrectly.
...
Closes https://github.com/espressif/esp-idf/issues/7202
2021-07-05 20:09:49 +08:00
Siarhei Volkau
ba15970abb
esp_http_server, protocomm: Consider a connection as closed if recv() returns 0
...
This check prevents infinite loop on closed sockets
Closes https://github.com/espressif/esp-idf/pull/6541
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
2021-06-08 05:48:30 +00:00
Jan Brudny
967e057906
esp-tls, esp_http_client and esp_http_server: update copyright notice
2021-05-31 20:06:09 +08:00
Aditya Patwardhan
3e82fcd566
esp_http_server: Fix transport_ctx not getting freed
...
Closes https://github.com/espressif/esp-idf/issues/6813
2021-04-07 05:25:39 +00:00
yuanjm
382fe8807d
httpd: Support user_ctx in websocket handler callback request
...
Closes https://github.com/espressif/esp-idf/issues/6538
2021-03-10 12:31:38 +00:00
Mahavir Jain
907ea44ee9
Merge branch 'feature/http_server_optimizations' into 'master'
...
esp_http_server optimisations
Closes IDFGH-4484 and IDFGH-4741
See merge request espressif/esp-idf!12240
2021-03-08 09:01:20 +00:00
Shubham Kulkarni
6a7587d35f
esp_http_server: Run format.sh script to fix code style issues
2021-03-04 04:08:47 +00:00
Jermolinski
282726b619
The httpd_sess_* functions have been re-designed to speed up the httpd server
...
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
Merges: https://github.com/espressif/esp-idf/pull/6313
2021-03-04 04:08:47 +00:00
Martin Valik
f221b1655d
httpd: remove redundant condition from get_client_list()
...
Premature return from httpd_uri() was also removed to call uri handler after establishing websocket.
2021-03-04 03:23:57 +00:00
yuanjm
cd521d4ae3
esp_http_server: support dynamic payload len for ws server
...
Closes https://github.com/espressif/esp-idf/issues/6433
2021-02-24 11:40:34 +00:00
yuanjm
da58235a0e
components: Use CONFIG_LWIP_IPV6 to strip IPv6 function in components
2021-02-23 18:26:03 +08:00
David Cermak
c415c6f9a6
httpd: Fixed wrong header in ws_send_async() for lengthy packets
...
Closes https://github.com/espressif/esp-idf/issues/6196
2021-01-18 12:13:58 +00:00
Shubham Kulkarni
00876a8946
esp_http_server: Add lru_socket flag in sock_db to indicate httpd_sess_close is called from httpd_sess_close_lru
2021-01-15 05:53:41 +00:00
Liu Han
669d9820fc
esp_http_server: Add some response error code, such as 401, 403 etc.
...
Closes https://github.com/espressif/esp-idf/issues/5466
2020-12-09 06:22:01 +00:00
Marius Vikhammer
dcb09bac6a
http_server: adds support for setting websocket subprotocol
...
Adds support for setting support subprotocol per websocket URI
2020-11-13 06:40:51 +00:00
David Cermak
6f3fa81863
http_server: Simplified httpd_get_client_list() to return clients in int array
2020-09-09 08:00:20 +02:00
David Cermak
5e1e5f8be9
http_server: Add a flag to enable using control frames in user handlers
2020-09-09 08:00:20 +02:00
David Cermak
fbf2680427
esp_http_server: Add Websocket API to return list of active clients
...
Closes https://github.com/espressif/esp-idf/issues/5406
2020-09-09 08:00:20 +02:00
David Cermak
d3801be6d9
esp_http_server: Add httpd_ws_get_fd_info() API to check active WS clients
...
Added a new API to WebSocket server to test provided socket descriptor if it belongs to active clients for this server and if websocket handshake has been performed
Closes https://github.com/espressif/esp-idf/issues/5602
2020-09-03 20:40:11 +02:00
David Čermák
f8b649baaf
Merge branch 'bugfix/ws_server_async_send_fin' into 'master'
...
http_server example: WebSocket server to set final flag in async messages
Closes IDFGH-3443
See merge request espressif/esp-idf!9251
2020-07-15 05:31:02 +08:00
David Cermak
005f21accc
http_server: WebSocket server to set flag in transmitted messages by default
...
Add logic to set `FIN` flag automatically for transmitted WS frames, but
if `fragmented` option set indicating an expert/manual mode, then the
`FIN` flag is set according to the `final` option.
2020-07-13 14:39:22 +00:00
sU8U7SfkcwTJVH7PjaVmej7D
6673407f98
httpd_resp_send: use HTTPD_RESP_USE_STRLEN
when possible
2020-07-13 05:34:56 +00:00
Shubham Kulkarni
0ec5096742
esp_http_server: Update LRU counter on accepting a new connection
...
Closes https://github.com/espressif/esp-idf/issues/3851
2020-06-26 05:29:00 +00:00
Piyush Shah
24587ccbbf
esp_http_server: Expose low level socket send/recv APIs
...
For some advanced use cases, the low level APIs may be useful.
2020-06-11 01:56:47 +00:00
Piyush Shah
c2ab112590
esp_http_server: Fixed a bug which could cause issues with LRU purge
...
LRU counter should be started from 1, and not 0, so that all checks
work fine.
Closes https://github.com/espressif/esp-idf/issues/4753
2020-05-19 22:11:02 +05:30
David Cermak
1b842ce1a8
http_server: websocket server to support async send
2020-03-18 20:24:46 +00:00
Jackson Ming Hu
e983042af2
http_server: adds WebSocket support
...
This commit adds the WebSocket support for esp_http_server
library. It mainly does:
- Handling WebSocket handshake
- Parsing HTTP upgrade request
- Reply the upgrade request
- Receive WebSocket packets
- Parse header, decode to a struct
- Unmask payload (if required)
- Send WebSocket frames
- Receive WebSocket frame
- Automatic control frame handling
Merges https://github.com/espressif/esp-idf/pull/4306
Closes https://github.com/espressif/esp-idf/issues/4819
2020-03-18 20:24:46 +00:00
Chinmay Chhajed
a6cc964a26
esp_http_server : Bugfix in parsing of empty header values
...
This MR is intended to fix incorrect parsing of HTTP requests when empty header values are present.
The issue is was due to asymmetric behavior of `http_parser` library, which in case of:
non-empty header values : invokes callbacks with the pointer to the start of a value
empty header values : invokes callbacks with pointer to the start of next header or section
Since HTTP server relies on this pointer (along with length of the value) to locate the end of a value, and replace the line terminators (CRLFs) with null characters, the second case needed to be handled correctly.
Closes IDFGH-1539
Closes https://github.com/espressif/esp-idf/issues/3803
2019-09-06 11:02:36 +08:00
Piyush Shah
c93cab858e
httpd_sess_close: Check for session validity before closing
...
If httpd_sess_trigger_close() gets called twice for the same socket,
the first httpd_sess_close() cb closes the correct socket, but the second
invocation closes the wrong socket which was just accepted and added to
the socket db. Checking for the lru counter will help identify this as the
counter is set only for requests actually served.
2019-08-06 19:31:57 +05:30
Anton Maklakov
afbaf74007
tools: Mass fixing of empty prototypes (for -Wstrict-prototypes)
2019-08-01 16:28:56 +07:00
xueyunfei
fa02598b5c
lwip_2.1.2 for idf_4.0
2019-07-07 01:51:45 +00:00