Commit Graph

38 Commits

Author SHA1 Message Date
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
0660ece128 feat(mdns): Unit tests for add/remove/update deleg/selfhosted services 2024-08-19 11:28:01 +02:00
David Cermak
f107dcd118 feat(mdns): Console test: set instance for service 2024-08-15 16:18:42 +02:00
David Cermak
ee00e97b2b feat(mdns): Console test: add subtype for service 2024-08-15 16:18:42 +02:00
David Cermak
07b79abf62 feat(mdns): Console test: set port for (delegated) srvs 2024-08-15 16:18:42 +02:00
David Cermak
c9a58d7350 feat(mdns): Console test: add/remove TXT recs for delegated srvs 2024-08-15 16:18:42 +02:00
David Cermak
6b9a6ce65b feat(mdns): Console test for changing TXT records 2024-08-15 16:18:42 +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
ce7f326af0 feat(mdns): Console test for add/remove delegated host APIs 2024-08-15 16:18:42 +02:00
David Cermak
a91ead8ef5 feat(mdns): Console test for lookup 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
Suren Gabrielyan
139166c2c5 fix(mdns): Fix of mdns afl tests 2024-06-04 10:23:27 +04:00
WanqQixiang
2646dcd23a fix(mdns): fix compiling issue when disabling IPv4 2024-01-17 10:48:40 +08:00
Suren Gabrielyan
4be5efc84e fix(mdns): fixed CI issues for host and afl tests 2024-01-04 17:46:18 +04:00
Ivan Grokhotkov
1ee9dae6bf fix(common): remove protocol_examples_common
Remaining references to protocol_examples_common are replaced with
references to ESP-IDF.
We will later re-add protocol_examples_common or some equivalent of it
under components/, and release it to the Component Registry.
2023-11-09 15:38:44 +01:00
Suren Gabrielyan
c48e44205d fix(common): removed Wno-format flag and fixed formatting warnings 2023-09-25 19:55:44 +04:00
Xu Si Yu
28cd898eca feat(mdns): Allow setting length of mDNS action queue in menuconfig 2023-07-18 19:09:16 +08:00
David Cermak
588465d9db feat(examples): Add support for lwip build under linux 2023-06-20 15:15:37 +02:00
David Cermak
79a0e57ca1 fix(mdns): Refactor freertos linux compat layers
Move it to a separate component that could be shared by multiple network
libs.
2023-06-20 15:15:37 +02:00
David Cermak
c974c14220 fix(websocket): Added unit tests to CI + minor fix to pass it 2023-05-17 07:14:48 +02:00
David Cermak
1a0a41fa2d fix(mdns): Use idf-build-apps package for building mdns 2023-04-17 13:44:18 +02:00
David Cermak
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
xieqinan
5ed3e9a6a1 mdns: append all ipv6 address in mdns answer 2023-03-22 12:00:38 +08:00
David Cermak
537d170f1d test(mdns): Host tests to use IDF's esp_event_stub
Also fixes one minor from esp_netif_linux implementation
2023-03-20 12:17:36 +01:00
david-cermak
9ae88aab48 Merge pull request #223 from AndriiFilippov/master
Unite all tags under common structure (IDFGH-9399)
2023-02-17 15:08:18 +01:00
AndriiFilippov
c6db3ea84c unite all tags under common structure
py test: update tags under common structure
2023-02-17 14:27:34 +01:00
David Cermak
d4825f5c53 feat(mdns): Add support for IPv6 reverse query
Implements reverse querries together with
b87bef52e5 (IPv4)

Closes https://github.com/espressif/esp-protocols/issues/101
2023-02-07 20:16:26 +01:00
David Cermak
91134f10ff mdns: Make reverse query conditional per Kconfig
and auto-register reverse logical names
2023-02-02 10:32:01 +01:00
David Cermak
fb8a2f0198 fix(mdns): Host test with IDFv5.1 2023-02-02 10:31:01 +01:00
David Cermak
a8339e4618 fix(mdns): Allow setting instance name only after hostname set
Closes https://github.com/espressif/esp-protocols/issues/190
2023-01-31 16:06:52 +01:00
David Cermak
12cfcb5aed fix(mdns): Make unit test executable with pytest 2023-01-31 16:06:52 +01:00
David Cermak
0247926219 fix(mdns): AFL port layer per IDF-latest changes 2023-01-31 11:15:06 +01:00
Suren Gabrielyan
aee016d6e4 Examples: using pytest.ini from top level directory 2022-10-25 23:59:33 +04:00
Suren Gabrielyan
f71f61ff0a mDNS: test_app pytest migration 2022-10-19 09:23:36 +02:00
Suren Gabrielyan
945bd17701 CI: fixing the files to be complient with pre-commit hooks 2022-10-17 18:16:52 +02:00
gabsuren
469f953b28 esp_modem: updated package version to 0.1.19 2022-08-18 15:59:48 +04:00
Alexey Lapshin
0b102f6286 mdns: Fix test_app build 2022-07-11 20:39:56 +04:00
suren-gabrielyan-espressif
b6b20ad399 mDNS: Initial version based on IDF 5.0 2022-06-01 21:04:37 +04:00