643dc6d43b
fix(mdns): Fix API races setting instance name for services
...
Fixes **API race issue** (described in 8a690503
) for API
mdns_service_instance_name_set_for_host()
2024-08-19 12:38:35 +02:00
f9f234c440
fix(mdns): Fix API races while adding subtypes for services
...
Fixes **API race issue** (described in 8a690503
) for API
mdns_service_subtype_add_for_host()
2024-08-19 12:38:28 +02:00
3f97a8228b
fix(mdns): Fix API races removing txt item for services
...
Fixes **API race issue** (described in 8a690503
) for API
mdns_service_txt_item_remove_for_host()
2024-08-19 12:38:20 +02:00
c62b920bb9
fix(mdns): Fix API races adding txt item for services
...
Fixes **API race issue** (described in 8a690503
) for API
mdns_service_txt_item_set_for_host_with_explicit_value_len()
2024-08-19 12:38:12 +02:00
a927bf3a8d
fix(mdns): Fix API races while setting txt for services
...
Fixes **API race issue** (described in 8a690503
) for API
mdns_service_txt_set_for_host()
2024-08-19 12:38:03 +02:00
99d5fb27e9
fix(mdns): Fix API races while setting port for services
...
Fixes **API race issue** (described in 8a690503
) for API
mdns_service_port_set_for_host()
2024-08-19 12:37:52 +02:00
8a690503ed
fix(mdns): Fix services API races to directly add/remove services
...
Original issue (data race when updating hostname): mdns_service_add()
makes a copy of the local hostname and calls using the local copy
mdns_service_add_for_host().
When mdns's hostname is updated the local copy gets out of sync.
**API race issue**: Most of the current API correctly lock the mdns service,
but sometimes unlocks it before sending an action to the action queue,
so it's possible that the situation changes before the actual action
takes place.
**Fix**: After locking the mdns service, we proceed directly with updating
internal structures and do not post actions into the action queue.
**Fix wrtt hostname**: Use mdns_service_add_for_host(hostname=NULL)
for all self hosted services.
MAJOR CHANGE: Fixed mdns API issues when add/remove/update records from multiple threads
This and the following commits fix the API race issues for these mdns APIs:
* mdns_service_add_for_host
* mdns_service_port_set_for_host
* mdns_service_txt_set_for_host
* mdns_service_txt_item_set_for_host_with_explicit_value_len
* mdns_service_txt_item_remove_for_host
* mdns_service_subtype_add_for_host
* mdns_service_instance_name_set_for_host
* mdns_service_remove_for_host
* mdns_service_remove_all
2024-08-19 12:36:05 +02:00
d4da9cb079
fix(mdns): Fix mdns mdns_lookup_service() to handle empty TXT
...
the lookup_service API calls _copy_mdns_txt_items(), which tries to
allocate new TXT records, but didn't handle the case with no TXT.
Originally the _copy_mdns_txt_items() called calloc() with zero's which
returned NULL (on espressif toolchain), so it's safe, but we could see
an error message:
E (1170) mdns: Cannot allocate memory (line: 6191, free heap: 281368 bytes)
This commit addresses the empty TXT case and gets rid of the error
message.
2024-08-19 11:28:56 +02:00
43de7e5c4d
feat(mdns): Console test for add/remove delegated service APIs
2024-08-15 16:18:42 +02:00
50d059af07
feat(mdns): Add linux console functional tests
2024-08-15 15:25:49 +02:00
e2f0477a00
feat(mdns): check if the txt items is changed when browsing
2024-07-16 10:44:05 +08:00
7437d31368
Merge pull request #574 from DejinChen/fix/remove_same_protocol_service
...
fix(mdns): remove same protocol services with different instances
2024-06-03 14:26:40 +04:00
6af6ca52a2
feat(mdns): add check of instance when handling PTR query
2024-05-31 17:29:14 +08:00
042533af90
fix(mdns): remove same protocol services with different instances
2024-05-31 16:37:22 +08:00
afd98bb9c5
fix(mdns): free txt value len
2024-05-10 17:44:48 +08:00
fbdb2483f5
Merge pull request #522 from zwx1995esp/feature/mdns_add_browse_suport
...
mdns add browse support (IDFGH-12512)
2024-04-10 09:48:55 +04:00
af330b6396
feat(mdns): add a new mdns query mode browse
2024-04-10 11:23:24 +08:00
d4e693e392
fix(mdns): Schedule all queued Tx packets from timer task
...
Co-Authored-By: not-my-real-name <none@interent.com >
Partially addresses: https://github.com/espressif/esp-idf/issues/13333
2024-03-20 11:47:29 +01:00
21c84bfa8d
fix(mdns): add lock for some common apis
2024-03-14 17:53:05 +08:00
7be16bcc88
fix(mdns): fix mdns answer append while host is invalid
2024-03-11 20:26:38 +08:00
302b46f8e2
fix(mdns): Fixed build issues for targets without WiFi caps
2024-03-01 10:24:29 +01:00
891384cc53
Merge pull request #414 from wqx6/fix/mdns_disable_ipv4
...
fix(mdns): fix compiling issue when disabling IPv4 (IDFGH-11453)
2024-02-06 11:45:45 +04:00
fc59f87c4e
fix(mdns): Correction on 6d2c475
MDNS_PREDEF_NETIF_ETH fix
2024-01-17 11:51:17 +01:00
2646dcd23a
fix(mdns): fix compiling issue when disabling IPv4
2024-01-17 10:48:40 +08:00
6d2c475c20
fix(mdns): Fix compile error when MDNS_PREDEF_NETIF_ETH is defined, but ETH_ENABLED is not ( #459 )
...
Signed-off-by: Marek Maškarinec <marek@mrms.cz >
2024-01-15 16:50:44 +01:00
19fb36000c
fix(mdns): fix copy delegated host addr
2024-01-03 17:12:41 +08:00
d20a718320
fix(mdns): enable CONFIG_ESP_WIFI_ENABLED if CONFIG_SOC_WIFI_SUPPORTED is also enabled (for ESP-IDF <= 5.1)
2023-11-14 14:48:42 +04:00
ebdac9cc01
Merge pull request #409 from zwx1995esp/fix/mdns_host_name_get
...
fix(mdns): add terminator for the getting host name
2023-11-01 13:25:15 +04:00
b6a4d94ab0
fix(mdns): add terminator for the getting host name
2023-10-31 19:45:35 +08:00
0b783c01dd
fix(mdns): Enable ESP_WIFI_CONFIG when ESP-IDF <= 5.1
2023-10-30 13:34:51 +04:00
60d7145630
Merge pull request #364 from adafruit/circuitpython
...
Fix MDNS free host list (IDFGH-11116)
2023-10-09 14:44:51 +04:00
ea54eef0d0
fix(mdns): set host list NULL on destroy
2023-10-06 09:51:00 -07:00
af1f39e70d
Merge pull request #355 from wqx6/mdns_service_limit
...
fix(mdns): remove the range of MDNS_MAX_SERVICES and fix some issues of str-functions
2023-09-26 19:59:26 +02:00
c48e44205d
fix(common): removed Wno-format flag and fixed formatting warnings
2023-09-25 19:55:44 +04:00
3dadce2d5e
fix(mdns): remove the the range of MDNS_MAX_SERVICES and fix issues of string functions
2023-09-22 17:25:23 +08:00
24f7031012
fix(mdns): fix build issue if CONFIG_ESP_WIFI_ENABLED disabled
2023-08-29 13:41:26 +04:00
71bb461ed8
fix(mdns): added guard check for null pointer
2023-08-03 13:53:17 +04:00
ddc3eb62d0
feat(mdns): add an API for setting address to a delegated host
2023-06-29 21:57:39 +08:00
68392f0ba9
Merge pull request #301 from zwx1995esp/fix/delegated_service_PTR_response
...
fix(mdns): Fix delegated service PTR response (IDFGH-10237)
2023-06-01 23:38:56 +02:00
cab0e1d10e
fix(mdns): Fix delegated service PTR response
2023-06-01 19:01:54 +08:00
c562461711
feat(mdns): Allow for adding a delegated host with no address
2023-05-26 14:03:22 +08:00
f0df12dad3
feat(mdns): Add APIs for looking up self hosted services and getting the self hostname
2023-05-18 12:25:50 +08:00
ea5d3cee29
Merge pull request #268 from wqx6/search_delegated_service
...
mdns: Add APIs to lookup delegated services (IDFGH-9790)
2023-04-18 10:38:27 +02:00
87dcd7dc7d
mdns: Add APIs to look up delegated services
2023-04-17 19:35:41 +08:00
4fa3023ea2
Fix deadly mdns crash
2023-04-05 16:13:07 +02:00
d238e9311b
feat(mdns): Decouple main module from mdns-networking
...
Removed sharing the data via the global variable `_mdns_server`, added
API `mdns_is_netif_ready()`
2023-03-22 12:16:28 +01:00
5ed3e9a6a1
mdns: append all ipv6 address in mdns answer
2023-03-22 12:00:38 +08:00
a06fb7714b
fix(mdns): Removed unused internal lock from mdns_server struct
2023-03-20 16:55:49 +01:00
e69a9ebb3d
fix(mdns): Resolve conflicts only on self hosted items
...
Skip solving conflicts for delegated names and delegated services
Closes https://github.com/espressif/esp-protocols/issues/185
2023-03-20 16:55:49 +01:00
0a682e7f12
fix(mdns): Fix memory issues reported by valgrind
...
* Read after the allocated area (which may lead to subsequent
mdns name corruption)
* Potentially uninit variable used in condition
2023-03-19 20:58:10 +01:00