Commit Graph

238 Commits

Author SHA1 Message Date
zhangwenxu
50f6302c5d mdns: support multiple instance for mdns service txt set 2021-12-14 15:10:25 +08:00
David Cermak
c297301ecc mdns: Minor fix of API description and API usage 2021-12-10 13:25:03 +01:00
David Cermak
cb5653fd94 mdns: Fix potential null deref reported by fuzzer test 2021-12-07 16:17:53 +01:00
Jiacheng Guo
456f80b754 mdns: always send A/AAAA records in announcements 2021-12-07 11:44:49 +08:00
Jiacheng Guo
5d0c47303d mdns: filter instance name for ANY queries
The instance name in ANY quries was ignored. The MR fixes the issue.
2021-12-03 19:20:14 +08:00
0xFEEDC0DE64
f391d610e8 Added results count to MDNS 2021-12-02 12:33:10 +01:00
Guo Jia Cheng
2a97578ce0 Merge branch 'bugfix/mdns-ptr-record-cnt' into 'master'
mdns: fix wrong PTR record count

See merge request espressif/esp-idf!15891
2021-11-23 03:13:02 +00:00
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
Jiacheng Guo
5d3f8157e0 mdns: fix wrong PTR record count 2021-11-10 17:29:09 +08:00
Roland Dobai
9c1d4f5b54 Build & config: Remove the "make" build system
The "make" build system was deprecated in v4.0 in favor of idf.py
(cmake). The remaining support is removed in v5.0.
2021-11-10 09:53:53 +01:00
Sudeep Mohanty
4846222102 freertos: update freertos folder structure to match upstream
The following changes have been made:
1. All FreeRTOS kernel source files are now placed in the
   freertos/FreeRTOS-Kernel folder to match with the upstream folder structure.
2. All kernel include files are now placed in freertos/FreeRTOS-Kernel/include.
3. All port files are now placed in freertos/FreeRTOS-Kernel/portable.
4. All additions/customizations are placed in freertos/esp_additions.
5. All other miscellaneous files (README, License files etc.) are moved to
   freertos/FreeRTOS-Kernel folder to match with the upstream.
6. Updated esp-cryptoauthlib to latest commit to resolve FreeRTOS
   include dependencies.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-10-29 12:05:13 +08:00
Guo Jia Cheng
a928411ab3 Merge branch 'feature/mdns-subtype' into 'master'
mdns: support service subtype

Closes IDFGH-3560

See merge request espressif/esp-idf!15467
2021-10-25 07:50:49 +00:00
David Cermak
d16f9bade5 mdns: Fix parsing non-standard queries
Fix for packets containing unexpected domains, such as openthread.thread.home.arpa.
If we find this packet we set the name entry as invalid, but continue with parsing as the packet might contain related queries for us.

Closes https://github.com/espressif/esp-idf/issues/7694
2021-10-19 16:58:33 +02:00
Jiacheng Guo
e7e8610f56 mdns: support service subtype
* Closes https://github.com/espressif/esp-idf/issues/5508
2021-10-19 17:54:17 +08:00
Guo Jia Cheng
1e67cf1ec5 Merge branch 'feature/mdns-multiple-instance' into 'master'
mdns: allow mutiple instances with same service type

See merge request espressif/esp-idf!15180
2021-10-11 02:49:16 +00:00
David Cermak
2a2b95b9c2 mdns: Update copyright header 2021-10-06 20:39:18 +08:00
David Cermak
e7dabb14f7 mdns: Fix potential null dereference identified by fuzzer tests 2021-10-06 20:39:18 +08:00
Jiacheng Guo
b7a99f4658 mdns: allow mutiple instances with same service type 2021-09-22 13:07:31 +08:00
baohongde
b310c062cd components/bt: move config BT_RESERVE_DRAM from bluedroid to ESP32 controller 2021-09-16 20:26:35 +08:00
Guo Jia Cheng
e5766eb3d3 Merge branch 'feature/mdns-async-callback' into 'master'
mdns: add notification callback for async APIs

See merge request espressif/esp-idf!14760
2021-08-25 03:34:00 +00:00
Guo Jia Cheng
139bf4af64 Merge branch 'feature/add-mdns-result-attributes' into 'master'
mdns: add more mdns result attributes

See merge request espressif/esp-idf!14674
2021-08-23 09:28:19 +00:00
David Cermak
fc7e2d9e90 mdns: Add host test using linux target 2021-08-17 18:39:40 +08:00
David Cermak
73dfe84bf2 mdns: Implement mdns_networking using BSD sockets
And use only if configured. By default we still use lwip raw (low-level) API
2021-08-17 18:39:40 +08:00
Jiacheng Guo
986603cf07 mdns: add notification callback for async APIs 2021-08-17 16:53:37 +08:00
Jiacheng Guo
76ec76c12c mdns: add more mdns result attributes 2021-08-11 19:02:05 +08:00
Jiacheng Guo
5e98772eaf mdns: fix crash when adding services without hostname set 2021-07-29 10:45:10 +08:00
David Cermak
619235c2ee mdns: Fix fuzzer IDF-mock layer
Removed lwip dependencies
Simplified the mocks for esp32 and esp-netif
2021-07-01 15:45:05 +02:00
David Cermak
54e329444a mdns: Clean the main mdns module from lwip dependencies
* Reduced number of include paths
* Abstract the internals of mdns packet (specifics defined in
mdns_networking.c)
* Use ESP_IP addresses instead of lwip addresses
2021-07-01 15:01:39 +02:00
David Čermák
6661d01a64 Merge branch 'feature/mdns_query_async' into 'master'
mdns: Add asynchronous query API

See merge request espressif/esp-idf!13988
2021-07-01 12:28:54 +00:00
David Čermák
68f33b75de Merge branch 'bugfix/mdns_fuzzer_crashes' into 'master'
mdns: Fix null dereferences reported by fuzzer tests

See merge request espressif/esp-idf!14153
2021-07-01 10:46:55 +00:00
David Cermak
d81482d699 mdns: Add asynchronous query API
Closes https://github.com/espressif/esp-idf/issues/7090
2021-06-30 17:20:30 +04:00
Jiacheng Guo
2386113972 mdns: return ESP_OK rather than ERR_OK in API functions 2021-06-29 17:35:45 +08:00
Jiacheng Guo
0baee93211 mdns: fix memory leak in mdns_free when adding delegated hostnames 2021-06-29 17:35:45 +08:00
David Cermak
4a2e72677c mdns: Fix crashes reported by the fuzzer tests 2021-06-25 08:34:39 +02:00
David Cermak
dae803335e mdns/fuzzer: Fix non-instrumentation test to reproduce fuzzer issues
Regression from 7d76245173 skipped reading the packet causing issues when locally reproducing crashed found by the fuzzer
2021-06-25 08:33:38 +02:00
David Cermak
f167238fac mdns: Support for One-Shot mDNS queries 2021-06-24 07:05:00 +02:00
David Čermák
3452c5f194 Merge branch 'feature/mdns-value-len' into 'master'
mdns: allow explicit txt value length

See merge request espressif/esp-idf!13981
2021-06-23 14:53:48 +00:00
David Čermák
4d604ee6d2 Merge branch 'bugfix/remove_unstable_network_tests' into 'master'
CI: Move mqtt publish tests from regular pipeline to weekend tests

Closes IDFCI-653

See merge request espressif/esp-idf!13891
2021-06-17 07:04:51 +00:00
Jiacheng Guo
b4e0088b68 mdns: allow explicit txt value length 2021-06-16 17:47:07 +08:00
David Cermak
79ba738626 mdns: Fix crashes reported by the fuzzer 2021-06-11 16:53:06 +02:00
David Cermak
7d76245173 mdns: Minor correction of the test code 2021-06-11 16:53:06 +02:00
David Cermak
14099fe15e mdns: Fix fuzzer from miss-interpreting adding services as timeouts 2021-06-11 16:53:06 +02:00
Jiacheng Guo
a4f263948c mdns: fix test script delayed response 2021-06-04 10:44:36 +08:00
Jiacheng Guo
e6135552d2 mdns: fix wrong SRV/PTR record handling 2021-06-04 10:44:36 +08:00
Jiacheng Guo
439b31d065 mdns: fix wrong service hostname after mangling 2021-06-04 10:44:36 +08:00
Jiacheng Guo
7bbb72d865 mdns: fix empty address change announce packets 2021-06-04 10:44:36 +08:00
Jiacheng Guo
d2a5d25984 mdns: fix mdns probe/reply behavior
* send correct hostnames when probing.
* add test for mdns host delegation.
2021-06-04 10:44:36 +08:00
Jiacheng Guo
2d34352f3d mdns: make delegate host address a list
Also adds unit test and doc string for new apis.
2021-06-04 10:44:36 +08:00
Jiacheng Guo
2174693096 mdns: add remove delegate host api 2021-06-04 10:44:36 +08:00
Jiacheng Guo
401ff56cc1 mdns: add mdns delegation
This allows publishing mdns services for other devices.
2021-06-04 10:44:36 +08:00
Jiacheng Guo
5f244c86f2 mdns: fix memory free issue when repeating the query in reply
The repeated query will be copied in the next event loop while the
memory is freed instantly. Delay the free to fix this issue.
2021-06-04 10:44:36 +08:00
Suren Gabrielyan
03de74a728 mdns: Fix of crash when wifi interface get deleted and mdns receives the packets
Closes https://github.com/espressif/esp-idf/issues/6973
2021-06-02 13:43:54 +00:00
Suren Gabrielyan
53c18a85db Docs: Added README.md for lwip fuzzer tests
Closes IDFCI-540
2021-05-18 17:52:07 +04:00
David Cermak
5cce919cbe mdns: Fixed the ip header TTL to be correctly set to 255
Defined in https://tools.ietf.org/html/rfc6762#section-11: All Multicast DNS responses (including responses sent via unicast)
   SHOULD be sent with IP TTL set to 255
2021-04-12 13:24:19 +00:00
David Cermak
34049454df mdns: Fix parsing answers with questions when instance name not set
mdns resolver didn't correctly resolved queries when host name wasn't
assigned. Fixed by allowing processing also if some answer present
(non-strict mode)

Closes https://github.com/espressif/esp-idf/issues/6598
2021-04-12 13:24:19 +00:00
David Cermak
b649603a0d mdns: Fix the resolver to correctly parse it's own non-strict answers
The resolver was able to respond correctly, but would also resolve its
own queries and cause issues with BCT 1.5.2, specifically
* MULTIPLE QUESTIONS - DUPLICATE SUPPRESSION
* MULTIPLE QUESTIONS - DISTRIBUTED DUPLICATE SUPPRESSION
tests failed.
2021-04-12 13:24:19 +00:00
suren.gabrielyan
0eee31546d mdns: Add MDNS_STRICT_MODE config option
Strict mode was hardcoded in private header file, but it's useful for
users to enable/disable it depending on the mdns library they are using.
e.g. Avahi might not resolve the non-strict answers.
2021-04-12 13:24:19 +00:00
Renz Bagaporo
39cf818838 freertos: common config header 2021-03-22 12:19:03 +08:00
suren.gabrielyan
55716945a9 mdns: Removed freeRTOS dependancies from fuzzer tests 2021-03-11 08:57:36 +00:00
suren.gabrielyan
9f8d2b944d mDNS: Updated APIs description and shows the warning when hostname contains domain name during the query
Closes https://github.com/espressif/esp-idf/issues/6590
2021-03-10 13:38:13 +00:00
yuanjm
da58235a0e components: Use CONFIG_LWIP_IPV6 to strip IPv6 function in components 2021-02-23 18:26:03 +08:00
suren.gabrielyan
2b9d2c06f5 mdns: add bound check when setting interface as duplicate
Closes IDF-2787

Partially addresses https://github.com/espressif/esp-idf/issues/6440
2021-02-15 06:43:51 +00:00
suren.gabrielyan
be0ae1ebbb mDNS: Fix of text length calculation when detecting a collision 2021-01-18 12:54:27 +00:00
Angus Gratton
9769be3fde Merge branch 'bugfix/fix_sign_compare' into 'master'
global: fix sign-compare warnings for system level components

See merge request espressif/esp-idf!11252
2021-01-13 12:45:05 +08:00
David Čermák
76f6dd6214 lwip: Moved default SNTP API to esp_sntp.h
and make sntp.h in port folders of lwip component obsoleted
2021-01-13 10:28:34 +08:00
morris
753a929525 global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
David Cermak
0693e172de mdns: Allow resolve its own non-strict answers
the mDNS responder should not repeat questions when replying, however resolvers
must ignore these questions field if they are present. esp-idf mDNS
library does include questions in answering packets (thus not strictly
following the RFC6762) so the resolver did not correctly resolved
another instance host name.

Closes https://github.com/espressif/esp-idf/issues/6190
2020-12-29 13:18:00 +00:00
suren.gabrielyan
f33772c960 mDNS: Fix of collision detection during txt length calculation
Closes https://github.com/espressif/esp-idf/issues/6114
2020-12-18 15:38:30 +00:00
Angus Gratton
5228d9f9ce esp32c3: Apply one-liner/small changes for ESP32-C3 2020-12-01 10:58:50 +11:00
morris
b7ecccd901 test: fix several test build error 2020-11-16 13:30:49 +08:00
Angus Gratton
87e13baaf1 freertos: Add RISC-V port
Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
David Cermak
7ac97616c1 mdns: Fix wrong mdns source address if lwIP IPv6 zones disabled
The struct definition of ip6_addr_t in lwip and esp_ip6_addr_t
differs since zone could be possibly disabled in lwip. Using memcpy to copy the
address will cause wrong source address. Copy the entries manually
instead.

Merges https://github.com/espressif/esp-idf/pull/6055
2020-11-11 11:56:44 +00:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Angus Gratton
98a0cc783f test_compile_fuzzers: Fix include paths for host build
Regression in 988be69466, need to add
esp_hw_support component include dir here.
2020-11-05 16:30:07 +11:00
Anton Maklakov
b5b2738644 Merge branch 'test/ci_fuzzer_precheck' into 'master'
CI: Add a test to pre-check fuzzer tests compilation before weekly run

See merge request espressif/esp-idf!10332
2020-11-04 12:22:53 +08:00
Renz Bagaporo
79887fdc6c soc: descriptive part occupy whole component 2020-10-28 07:21:29 +08:00
suren.gabrielyan
637f5c0a68 CI: Add a test to pre-check fuzzer tests compilation before weekly run 2020-10-20 13:57:00 +00:00
Mahavir Jain
20af94ff53 Coredump config option rename throughout IDF 2020-09-30 20:22:27 +05:30
suren.gabrielyan
a43c06a592 mdns, dns, dhcp, dhcps: update fuzzer test to work in CI
Closes: IDF-1861 and IDF-1990
2020-09-10 18:17:30 +00:00
Ivan Grokhotkov
b6467257b9 Merge branch 'feature/cmock_component' into 'master'
cmock as component replacing unity

See merge request espressif/esp-idf!9859
2020-09-10 16:06:20 +08:00
David Cermak
bcfa36db8f mdns: Support queries in responses in mDNS non-strict mode
By default adds original queries to responses in order to be resolved by some resolvers, such as lwIP mdns library. This functionality however is discouraged by the RFC6762, so it could be disabled in menuconfig if MDNS_STRICT_MODE configured

Closes https://github.com/espressif/esp-idf/issues/5521
2020-09-02 11:12:08 +02:00
David Cermak
f62e321d87 mdns: Fix include query ID in reponses
Closes https://github.com/espressif/esp-idf/issues/5574
2020-09-02 11:12:08 +02:00
Jakob Hasse
20c068ef3b cmock: added cmock as component
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
Axel Lin
cf7e48c779 mdns: Allow config mDNS task stack size
Signed-off-by: Axel Lin <axel.lin@gmail.com>

Merges https://github.com/espressif/esp-idf/pull/5216
2020-05-07 21:49:02 +02:00
Axel Lin
f4a4549a34 mdns: Remove mbedtls dependency
mdns does not use mbedtls, so remove mbedtls dependency.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
2020-04-26 12:07:28 +08:00
David Cermak
ab8cab1c55 mdns: limit the GOT_IP6_EVENT to only known network interfaces 2020-03-05 18:46:48 +00:00
Konstantin Kondrashov
739eb05bb9 esp32: add implementation of esp_timer based on TG0 LAC timer
Closes: IDF-979
2020-02-06 14:00:18 +08:00
David Cermak
ecca39e19f mdns: fixed typos in the variable names and the comments 2020-01-09 12:50:13 +00:00
Angus Gratton
f0680b99b3 Merge branch 'bugfix/mdns_netif_local' into 'master'
mdns: fix preset of esp_netif ptr for local interfaces

Closes WIFI-1538

See merge request espressif/esp-idf!7009
2019-12-20 12:53:50 +08:00
David Cermak
eaa2f12d67 mdns: fixed crash on event during deinit
mdns library deinitialization destroys internal structures including action queue. if an event (e.g. network update) received
after some essential stucture is destoyed, an unexpected behavour might be introduced (e.g. crash of adding the event notification
to the action queue which was already destroyed

Closes WIFI-1485
2019-12-17 18:18:22 +00:00
David Cermak
09e36f9f33 mdns: fix preset of esp_netif ptr for local interfaces
mdns module store local copy of esp_netif for common interfaces,
but it was correctly initialized only when interface started.
If the event were missed (e.g. mdns_init after interface start)
the local copy wouldn't be initialized. Fixed by restoring the local
copy.

Closes WIFI-1538
2019-12-16 15:39:23 +01:00
David Cermak
de17a1487f mdns: respond to discovery with the proper pseudo name _services._dns-sd._udp
Closes https://github.com/espressif/esp-idf/issues/4369
Closes IDFGH-2219
2019-12-04 12:57:09 +00:00
David Cermak
d9433ef692 mdns: fixed forgotten merge conflicts in debug code 2019-11-22 10:31:06 +01:00
Ivan Grokhotkov
5884b80908 mdns: add missing include of esp_task.h 2019-11-14 18:02:26 +01:00
Ivan Grokhotkov
503c37e013 Merge branch 'bugfix/mdns_configure_task_params' into 'master'
mdns: add configuration values for task priority, affinity and internal service timeouts

See merge request espressif/esp-idf!6580
2019-11-14 21:30:50 +08:00
David Cermak
7f5cda1b82 tcpip_adapter: updated tcpip_adapter compatablity layer to include all
public API and keep 100% backward compatibility
update build of tcpip adapter when ethernet disabled
2019-11-13 12:36:25 +01:00
David Cermak
19e24fe61e mdns: update mdns to use esp-netif for mdns supported services such as STA, AP, ETH
removes also include dependency on lwip to use esp_netif defined address fields and structures
2019-11-13 12:36:25 +01:00
David Cermak
ffe043b1a8 esp_netif: Introduction of esp-netif component as a replacement of tcpip_adpter
- provides object oriented access to network intefaces
- not limited to default netifs
- more generic abstraction to network input output functions
- event handler registration removed from component responsibility
- backward compatibility layer for legacy tcpip_apapter APIs

Closes IDF-39
2019-11-13 12:36:25 +01:00
David Cermak
ec9f245dd3 examples: removed ip4addr_ntoa and used prefered IP2STR for displaying IP addresses 2019-11-13 12:36:25 +01:00
David Cermak
c6f38f04f8 mdns: add configuration values for task priority, affinity and internal service timeouts
closes https://github.com/espressif/esp-idf/issues/4217
2019-11-08 16:29:40 +01:00