zwx
062b8dcacc
feat(mdns): support update subtype
2024-11-14 11:07:43 +08:00
david-cermak
fbd296f8dd
Merge pull request #661 from gytxxsy/feat/monitor_interface_status_for_browsing
...
[mdns]: send PTR query for mdns browse when interface is ready (IDFGH-13841)
2024-10-25 17:58:40 +02:00
André Rex
3f48f9ea7e
fix(mdns): Prevent deadlock when deleting a browse request
2024-10-25 12:00:36 +02:00
Xu Si Yu
010a404a04
feat(mdns): Send PTR query for mdns browse when interface is ready
2024-09-23 19:01:10 +08:00
David Cermak
25b3d5fd7b
fix(mdns): Fix use after free reported by coverity
...
Fixes CID 467739: Use after free in mdns.c, mdns_service_remove_for_host
We should look only for one match in the service list, since if we
assume there could be aliases, we might free one and reference the
other.
2024-08-27 15:26:32 +02:00
David Cermak
11846c7d00
fix(mdns): Fixed dead-code reported by coverity
...
Fixes CID 467738: Logically dead code in mdns.c, _copy_mdns_txt_items
Introduced by probably by a merge confilict, as the fix was added in
two separate PRs, merging d4da9cb0
first and 8a690503
later
2024-08-27 15:20:58 +02:00
David Cermak
2c1b16617e
fix(mdns): Fix mdns_delegate_hostname_add() to block until done
...
Adds action semaphore the same way it's done in mdns_hostname_add()
There could still potentially be a minor issue when calling these two APIs
simultanously. Will solve the same ways as in 8a690503
(tracked as
IDF-10913)
2024-08-19 14:34:08 +02:00
David Cermak
169405b534
fix(mdns): Fix API races when removing all services
...
Fixes **API race issue** (described in 8a690503
) for API
mdns_service_remove_all()
2024-08-19 14:33:27 +02:00
David Cermak
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
David Cermak
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
David Cermak
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
David Cermak
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
David Cermak
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
David Cermak
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
David Cermak
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
David Cermak
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
David Cermak
43de7e5c4d
feat(mdns): Console test for add/remove delegated service APIs
2024-08-15 16:18:42 +02:00
David Cermak
50d059af07
feat(mdns): Add linux console functional tests
2024-08-15 15:25:49 +02:00
Xu Si Yu
e2f0477a00
feat(mdns): check if the txt items is changed when browsing
2024-07-16 10:44:05 +08:00
Suren Gabrielyan
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
Xu Si Yu
6af6ca52a2
feat(mdns): add check of instance when handling PTR query
2024-05-31 17:29:14 +08:00
chendejin
042533af90
fix(mdns): remove same protocol services with different instances
2024-05-31 16:37:22 +08:00
chendejin
afd98bb9c5
fix(mdns): free txt value len
2024-05-10 17:44:48 +08:00
Suren
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
zwx
af330b6396
feat(mdns): add a new mdns query mode browse
2024-04-10 11:23:24 +08:00
David Cermak
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
zwx
21c84bfa8d
fix(mdns): add lock for some common apis
2024-03-14 17:53:05 +08:00
zwx
7be16bcc88
fix(mdns): fix mdns answer append while host is invalid
2024-03-11 20:26:38 +08:00
David Cermak
302b46f8e2
fix(mdns): Fixed build issues for targets without WiFi caps
2024-03-01 10:24:29 +01:00
Suren
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
David Cermak
fc59f87c4e
fix(mdns): Correction on 6d2c475
MDNS_PREDEF_NETIF_ETH fix
2024-01-17 11:51:17 +01:00
WanqQixiang
2646dcd23a
fix(mdns): fix compiling issue when disabling IPv4
2024-01-17 10:48:40 +08:00
Marek Maškarinec
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
chendejin
19fb36000c
fix(mdns): fix copy delegated host addr
2024-01-03 17:12:41 +08:00
Suren Gabrielyan
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
Suren
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
zwx
b6a4d94ab0
fix(mdns): add terminator for the getting host name
2023-10-31 19:45:35 +08:00
Suren Gabrielyan
0b783c01dd
fix(mdns): Enable ESP_WIFI_CONFIG when ESP-IDF <= 5.1
2023-10-30 13:34:51 +04:00
Suren
60d7145630
Merge pull request #364 from adafruit/circuitpython
...
Fix MDNS free host list (IDFGH-11116)
2023-10-09 14:44:51 +04:00
Scott Shawcroft
ea54eef0d0
fix(mdns): set host list NULL on destroy
2023-10-06 09:51:00 -07:00
david-cermak
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
Suren Gabrielyan
c48e44205d
fix(common): removed Wno-format flag and fixed formatting warnings
2023-09-25 19:55:44 +04:00
WanqQixiang
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
Suren Gabrielyan
24f7031012
fix(mdns): fix build issue if CONFIG_ESP_WIFI_ENABLED disabled
2023-08-29 13:41:26 +04:00
Suren Gabrielyan
71bb461ed8
fix(mdns): added guard check for null pointer
2023-08-03 13:53:17 +04:00
zhangwenxu
ddc3eb62d0
feat(mdns): add an API for setting address to a delegated host
2023-06-29 21:57:39 +08:00
david-cermak
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
zhangwenxu
cab0e1d10e
fix(mdns): Fix delegated service PTR response
2023-06-01 19:01:54 +08:00
Xu Si Yu
c562461711
feat(mdns): Allow for adding a delegated host with no address
2023-05-26 14:03:22 +08:00
WanqQixiang
f0df12dad3
feat(mdns): Add APIs for looking up self hosted services and getting the self hostname
2023-05-18 12:25:50 +08:00