diff options
| author | Vijay Anusuri <vanusuri@mvista.com> | 2026-04-28 10:12:04 +0530 |
|---|---|---|
| committer | Paul Barker <paul@pbarker.dev> | 2026-05-12 21:31:34 +0100 |
| commit | 70f5fb82d2755f5e1fa52820d8069b6440e3110c (patch) | |
| tree | a973417da670cd23ea96b42c0f2a90be0e5530e4 /meta | |
| parent | 0ceef9280230000ab45766c70cf1e3acf217956a (diff) | |
| download | poky-70f5fb82d2755f5e1fa52820d8069b6440e3110c.tar.gz | |
avahi: Fix CVE-2026-34933
Pick patch according to [1]
[1] https://security-tracker.debian.org/tracker/CVE-2026-34933
[2] https://github.com/avahi/avahi/pull/891
[3] https://nvd.nist.gov/vuln/detail/CVE-2026-34933
(From OE-Core rev: a556622a3964957491e7e7e56ed695f1bcfffc02)
Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
Diffstat (limited to 'meta')
3 files changed, 206 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb b/meta/recipes-connectivity/avahi/avahi_0.8.bb index fce2d7cd56..31febc360d 100644 --- a/meta/recipes-connectivity/avahi/avahi_0.8.bb +++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb | |||
| @@ -41,6 +41,8 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/avahi-${PV}.tar.gz \ | |||
| 41 | file://CVE-2025-68468.patch \ | 41 | file://CVE-2025-68468.patch \ |
| 42 | file://CVE-2025-68471.patch \ | 42 | file://CVE-2025-68471.patch \ |
| 43 | file://CVE-2026-24401.patch \ | 43 | file://CVE-2026-24401.patch \ |
| 44 | file://CVE-2026-34933-1.patch \ | ||
| 45 | file://CVE-2026-34933-2.patch \ | ||
| 44 | " | 46 | " |
| 45 | 47 | ||
| 46 | GITHUB_BASE_URI = "https://github.com/avahi/avahi/releases/" | 48 | GITHUB_BASE_URI = "https://github.com/avahi/avahi/releases/" |
diff --git a/meta/recipes-connectivity/avahi/files/CVE-2026-34933-1.patch b/meta/recipes-connectivity/avahi/files/CVE-2026-34933-1.patch new file mode 100644 index 0000000000..208345a325 --- /dev/null +++ b/meta/recipes-connectivity/avahi/files/CVE-2026-34933-1.patch | |||
| @@ -0,0 +1,108 @@ | |||
| 1 | From 0be89b6bb5c3983837b5e0febcbbbf452ecf7675 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Evgeny Vereshchagin <evvers@ya.ru> | ||
| 3 | Date: Wed, 1 Apr 2026 05:31:58 +0000 | ||
| 4 | Subject: [PATCH] core: refuse to accept publish flags where both wide_area and | ||
| 5 | multicast are set | ||
| 6 | |||
| 7 | It fixes a bug where it was possible for unprivileged local users to | ||
| 8 | crash avahi-daemon via D-Bus by calling EntryGroup methods accepting | ||
| 9 | flags and passing both AVAHI_PUBLISH_USE_WIDE_AREA and | ||
| 10 | AVAHI_PUBLISH_USE_MULTICAST there. For example when AddRecord was | ||
| 11 | invoked like that avahi-daemon crashed with | ||
| 12 | ``` | ||
| 13 | dbus-entry-group.c: interface=org.freedesktop.Avahi.EntryGroup, path=/Client0/EntryGroup1, member=AddRecord | ||
| 14 | avahi-daemon: entry.c:57: transport_flags_from_domain: Assertion `!((*flags & AVAHI_PUBLISH_USE_MULTICAST) && (*flags & AVAHI_PUBLISH_USE_WIDE_AREA))' failed. | ||
| 15 | ==84944== | ||
| 16 | ==84944== Process terminating with default action of signal 6 (SIGABRT) | ||
| 17 | ==84944== at 0x4B353BC: __pthread_kill_implementation (pthread_kill.c:44) | ||
| 18 | ==84944== by 0x4ADE941: raise (raise.c:26) | ||
| 19 | ==84944== by 0x4AC64AB: abort (abort.c:77) | ||
| 20 | ==84944== by 0x4AC641F: __assert_fail_base.cold (assert.c:118) | ||
| 21 | ==84944== by 0x48A9404: transport_flags_from_domain (entry.c:57) | ||
| 22 | ==84944== by 0x48A9F8F: server_add_internal (entry.c:224) | ||
| 23 | ==84944== by 0x48AA49F: avahi_server_add (entry.c:324) | ||
| 24 | ==84944== by 0x401A670: avahi_dbus_msg_entry_group_impl (dbus-entry-group.c:348) | ||
| 25 | ==84944== by 0x4A70741: ??? (in /usr/lib/x86_64-linux-gnu/libdbus-1.so.3.38.3) | ||
| 26 | ==84944== by 0x4A5FB22: dbus_connection_dispatch (in /usr/lib/x86_64-linux-gnu/libdbus-1.so.3.38.3) | ||
| 27 | ==84944== by 0x401D01D: dispatch_timeout_callback (dbus-watch-glue.c:105) | ||
| 28 | ==84944== by 0x488E3AE: timeout_callback (simple-watch.c:447) | ||
| 29 | ==84944== | ||
| 30 | ``` | ||
| 31 | It's a follow-up to fbce111b069aa1e4c701ed37ee1d9f6d6cefaac5 where | ||
| 32 | those flags were introduced and consistent with the other places | ||
| 33 | where wide_area/multicast flags are used. | ||
| 34 | |||
| 35 | It was discovered by | ||
| 36 | Guillaume Meunier - Head of Vulnerability Operations Center France - Orange Cyberdefense | ||
| 37 | |||
| 38 | https://github.com/avahi/avahi/security/advisories/GHSA-w65r-6gxh-vhvc | ||
| 39 | |||
| 40 | CVE-2026-34933 | ||
| 41 | |||
| 42 | Upstream-Status: Backport [https://github.com/avahi/avahi/commit/0be89b6bb5c3983837b5e0febcbbbf452ecf7675] | ||
| 43 | CVE: CVE-2026-34933 | ||
| 44 | Signed-off-by: Vijay Anusuri <vanusuri@mvista.com> | ||
| 45 | --- | ||
| 46 | avahi-core/entry.c | 7 +++++++ | ||
| 47 | 1 file changed, 7 insertions(+) | ||
| 48 | |||
| 49 | diff --git a/avahi-core/entry.c b/avahi-core/entry.c | ||
| 50 | index 0d862133d..06eb12076 100644 | ||
| 51 | --- a/avahi-core/entry.c | ||
| 52 | +++ b/avahi-core/entry.c | ||
| 53 | @@ -207,6 +207,7 @@ static AvahiEntry * server_add_internal( | ||
| 54 | AVAHI_PUBLISH_UPDATE| | ||
| 55 | AVAHI_PUBLISH_USE_WIDE_AREA| | ||
| 56 | AVAHI_PUBLISH_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS); | ||
| 57 | + AVAHI_CHECK_VALIDITY_RETURN_NULL(s, !(flags & AVAHI_PUBLISH_USE_WIDE_AREA) || !(flags & AVAHI_PUBLISH_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS); | ||
| 58 | AVAHI_CHECK_VALIDITY_RETURN_NULL(s, avahi_is_valid_domain_name(r->key->name), AVAHI_ERR_INVALID_HOST_NAME); | ||
| 59 | AVAHI_CHECK_VALIDITY_RETURN_NULL(s, r->ttl != 0, AVAHI_ERR_INVALID_TTL); | ||
| 60 | AVAHI_CHECK_VALIDITY_RETURN_NULL(s, !avahi_key_is_pattern(r->key), AVAHI_ERR_IS_PATTERN); | ||
| 61 | @@ -454,6 +455,7 @@ int avahi_server_add_address( | ||
| 62 | AVAHI_PUBLISH_UPDATE| | ||
| 63 | AVAHI_PUBLISH_USE_WIDE_AREA| | ||
| 64 | AVAHI_PUBLISH_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS); | ||
| 65 | + AVAHI_CHECK_VALIDITY(s, !(flags & AVAHI_PUBLISH_USE_WIDE_AREA) || !(flags & AVAHI_PUBLISH_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS); | ||
| 66 | AVAHI_CHECK_VALIDITY(s, !name || avahi_is_valid_fqdn(name), AVAHI_ERR_INVALID_HOST_NAME); | ||
| 67 | |||
| 68 | /* Prepare the host naem */ | ||
| 69 | @@ -595,6 +597,7 @@ static int server_add_service_strlst_nocopy( | ||
| 70 | AVAHI_PUBLISH_UPDATE| | ||
| 71 | AVAHI_PUBLISH_USE_WIDE_AREA| | ||
| 72 | AVAHI_PUBLISH_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS); | ||
| 73 | + AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, !(flags & AVAHI_PUBLISH_USE_WIDE_AREA) || !(flags & AVAHI_PUBLISH_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS); | ||
| 74 | AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, avahi_is_valid_service_name(name), AVAHI_ERR_INVALID_SERVICE_NAME); | ||
| 75 | AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, avahi_is_valid_service_type_strict(type), AVAHI_ERR_INVALID_SERVICE_TYPE); | ||
| 76 | AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, !domain || avahi_is_valid_domain_name(domain), AVAHI_ERR_INVALID_DOMAIN_NAME); | ||
| 77 | @@ -754,6 +757,7 @@ static int server_update_service_txt_strlst_nocopy( | ||
| 78 | AVAHI_PUBLISH_NO_COOKIE| | ||
| 79 | AVAHI_PUBLISH_USE_WIDE_AREA| | ||
| 80 | AVAHI_PUBLISH_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS); | ||
| 81 | + AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, !(flags & AVAHI_PUBLISH_USE_WIDE_AREA) || !(flags & AVAHI_PUBLISH_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS); | ||
| 82 | AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, avahi_is_valid_service_name(name), AVAHI_ERR_INVALID_SERVICE_NAME); | ||
| 83 | AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, avahi_is_valid_service_type_strict(type), AVAHI_ERR_INVALID_SERVICE_TYPE); | ||
| 84 | AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, !domain || avahi_is_valid_domain_name(domain), AVAHI_ERR_INVALID_DOMAIN_NAME); | ||
| 85 | @@ -843,6 +847,7 @@ int avahi_server_add_service_subtype( | ||
| 86 | AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, AVAHI_IF_VALID(interface), AVAHI_ERR_INVALID_INTERFACE); | ||
| 87 | AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, AVAHI_PROTO_VALID(protocol), AVAHI_ERR_INVALID_PROTOCOL); | ||
| 88 | AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, AVAHI_FLAGS_VALID(flags, AVAHI_PUBLISH_USE_MULTICAST|AVAHI_PUBLISH_USE_WIDE_AREA), AVAHI_ERR_INVALID_FLAGS); | ||
| 89 | + AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, !(flags & AVAHI_PUBLISH_USE_WIDE_AREA) || !(flags & AVAHI_PUBLISH_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS); | ||
| 90 | AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, avahi_is_valid_service_name(name), AVAHI_ERR_INVALID_SERVICE_NAME); | ||
| 91 | AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, avahi_is_valid_service_type_strict(type), AVAHI_ERR_INVALID_SERVICE_TYPE); | ||
| 92 | AVAHI_CHECK_VALIDITY_SET_RET_GOTO_FAIL(s, !domain || avahi_is_valid_domain_name(domain), AVAHI_ERR_INVALID_DOMAIN_NAME); | ||
| 93 | @@ -910,6 +915,7 @@ static AvahiEntry *server_add_dns_server_name( | ||
| 94 | assert(name); | ||
| 95 | |||
| 96 | AVAHI_CHECK_VALIDITY_RETURN_NULL(s, AVAHI_FLAGS_VALID(flags, AVAHI_PUBLISH_USE_WIDE_AREA|AVAHI_PUBLISH_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS); | ||
| 97 | + AVAHI_CHECK_VALIDITY_RETURN_NULL(s, !(flags & AVAHI_PUBLISH_USE_WIDE_AREA) || !(flags & AVAHI_PUBLISH_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS); | ||
| 98 | AVAHI_CHECK_VALIDITY_RETURN_NULL(s, type == AVAHI_DNS_SERVER_UPDATE || type == AVAHI_DNS_SERVER_RESOLVE, AVAHI_ERR_INVALID_FLAGS); | ||
| 99 | AVAHI_CHECK_VALIDITY_RETURN_NULL(s, port != 0, AVAHI_ERR_INVALID_PORT); | ||
| 100 | AVAHI_CHECK_VALIDITY_RETURN_NULL(s, avahi_is_valid_fqdn(name), AVAHI_ERR_INVALID_HOST_NAME); | ||
| 101 | @@ -967,6 +973,7 @@ int avahi_server_add_dns_server_address( | ||
| 102 | AVAHI_CHECK_VALIDITY(s, AVAHI_IF_VALID(interface), AVAHI_ERR_INVALID_INTERFACE); | ||
| 103 | AVAHI_CHECK_VALIDITY(s, AVAHI_PROTO_VALID(protocol) && AVAHI_PROTO_VALID(address->proto), AVAHI_ERR_INVALID_PROTOCOL); | ||
| 104 | AVAHI_CHECK_VALIDITY(s, AVAHI_FLAGS_VALID(flags, AVAHI_PUBLISH_USE_MULTICAST|AVAHI_PUBLISH_USE_WIDE_AREA), AVAHI_ERR_INVALID_FLAGS); | ||
| 105 | + AVAHI_CHECK_VALIDITY(s, !(flags & AVAHI_PUBLISH_USE_WIDE_AREA) || !(flags & AVAHI_PUBLISH_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS); | ||
| 106 | AVAHI_CHECK_VALIDITY(s, type == AVAHI_DNS_SERVER_UPDATE || type == AVAHI_DNS_SERVER_RESOLVE, AVAHI_ERR_INVALID_FLAGS); | ||
| 107 | AVAHI_CHECK_VALIDITY(s, port != 0, AVAHI_ERR_INVALID_PORT); | ||
| 108 | AVAHI_CHECK_VALIDITY(s, !domain || avahi_is_valid_domain_name(domain), AVAHI_ERR_INVALID_DOMAIN_NAME); | ||
diff --git a/meta/recipes-connectivity/avahi/files/CVE-2026-34933-2.patch b/meta/recipes-connectivity/avahi/files/CVE-2026-34933-2.patch new file mode 100644 index 0000000000..479d0d7e93 --- /dev/null +++ b/meta/recipes-connectivity/avahi/files/CVE-2026-34933-2.patch | |||
| @@ -0,0 +1,96 @@ | |||
| 1 | From a93fdd980d2db5d453475c0aa2b39946bd6611bd Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Evgeny Vereshchagin <evvers@ya.ru> | ||
| 3 | Date: Wed, 1 Apr 2026 05:30:58 +0000 | ||
| 4 | Subject: [PATCH] tests: make sure AVAHI_PUBLISH_USE_WIDE_AREA is refused | ||
| 5 | |||
| 6 | Upstream-Status: Backport [https://github.com/avahi/avahi/commit/a93fdd980d2db5d453475c0aa2b39946bd6611bd] | ||
| 7 | CVE: CVE-2026-34933 | ||
| 8 | Signed-off-by: Vijay Anusuri <vanusuri@mvista.com> | ||
| 9 | --- | ||
| 10 | avahi-client/client-test.c | 25 +++++++++++++++++++++++++ | ||
| 11 | avahi-core/avahi-test.c | 12 +++++++++++- | ||
| 12 | 2 files changed, 36 insertions(+), 1 deletion(-) | ||
| 13 | |||
| 14 | diff --git a/avahi-client/client-test.c b/avahi-client/client-test.c | ||
| 15 | index 9a015d7..c80e12f 100644 | ||
| 16 | --- a/avahi-client/client-test.c | ||
| 17 | +++ b/avahi-client/client-test.c | ||
| 18 | @@ -212,6 +212,28 @@ static void terminate(AVAHI_GCC_UNUSED AvahiTimeout *timeout, AVAHI_GCC_UNUSED v | ||
| 19 | avahi_simple_poll_quit(simple_poll); | ||
| 20 | } | ||
| 21 | |||
| 22 | +static void test_refuse_publish_flags(AvahiEntryGroup *g, AvahiPublishFlags flags, int expected) { | ||
| 23 | + AvahiAddress a; | ||
| 24 | + AvahiStringList *l = NULL; | ||
| 25 | + int r; | ||
| 26 | + | ||
| 27 | + r = avahi_entry_group_add_record(g, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, flags, "test.local", AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_CNAME, 120, "\0", 1); | ||
| 28 | + assert(r == expected); | ||
| 29 | + | ||
| 30 | + avahi_address_parse("224.0.0.251", AVAHI_PROTO_UNSPEC, &a); | ||
| 31 | + r = avahi_entry_group_add_address(g, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, flags, "test.local", &a); | ||
| 32 | + assert(r == expected); | ||
| 33 | + | ||
| 34 | + r = avahi_entry_group_add_service_strlst(g, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, flags, "test", "_http._tcp", NULL, NULL, 80, l); | ||
| 35 | + assert(r == expected); | ||
| 36 | + | ||
| 37 | + r = avahi_entry_group_update_service_txt_strlst(g, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, flags, "test", "_http._tcp", NULL, l); | ||
| 38 | + assert(r == expected); | ||
| 39 | + | ||
| 40 | + r = avahi_entry_group_add_service_subtype(g, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, flags, "test", "_http._tcp", NULL, "_magic._sub._http._tcp"); | ||
| 41 | + assert(r == expected); | ||
| 42 | +} | ||
| 43 | + | ||
| 44 | int main (AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) { | ||
| 45 | AvahiClient *avahi; | ||
| 46 | AvahiEntryGroup *group, *group2; | ||
| 47 | @@ -275,6 +297,9 @@ int main (AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) { | ||
| 48 | error = avahi_entry_group_add_record (group, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, 0, "TestX", 0x01, 0x10, 120, "", 0); | ||
| 49 | assert(error != AVAHI_OK); | ||
| 50 | |||
| 51 | + test_refuse_publish_flags(group, AVAHI_PUBLISH_USE_WIDE_AREA, AVAHI_ERR_NOT_SUPPORTED); | ||
| 52 | + test_refuse_publish_flags(group, AVAHI_PUBLISH_USE_WIDE_AREA|AVAHI_PUBLISH_USE_MULTICAST, AVAHI_ERR_INVALID_FLAGS); | ||
| 53 | + | ||
| 54 | avahi_entry_group_commit (group); | ||
| 55 | |||
| 56 | domain = avahi_domain_browser_new (avahi, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, NULL, AVAHI_DOMAIN_BROWSER_BROWSE, 0, avahi_domain_browser_callback, (char*) "omghai3u"); | ||
| 57 | diff --git a/avahi-core/avahi-test.c b/avahi-core/avahi-test.c | ||
| 58 | index 2a7872b..2bae82b 100644 | ||
| 59 | --- a/avahi-core/avahi-test.c | ||
| 60 | +++ b/avahi-core/avahi-test.c | ||
| 61 | @@ -30,6 +30,7 @@ | ||
| 62 | #include <netinet/in.h> | ||
| 63 | #include <arpa/inet.h> | ||
| 64 | |||
| 65 | +#include <avahi-common/error.h> | ||
| 66 | #include <avahi-common/malloc.h> | ||
| 67 | #include <avahi-common/simple-watch.h> | ||
| 68 | #include <avahi-common/alternative.h> | ||
| 69 | @@ -150,6 +151,7 @@ static void remove_entries(void) { | ||
| 70 | static void create_entries(int new_name) { | ||
| 71 | AvahiAddress a; | ||
| 72 | AvahiRecord *r; | ||
| 73 | + int error; | ||
| 74 | |||
| 75 | remove_entries(); | ||
| 76 | |||
| 77 | @@ -181,7 +183,15 @@ static void create_entries(int new_name) { | ||
| 78 | goto fail; | ||
| 79 | } | ||
| 80 | |||
| 81 | - if (avahi_server_add_dns_server_address(server, group, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, 0, NULL, AVAHI_DNS_SERVER_RESOLVE, avahi_address_parse("192.168.50.1", AVAHI_PROTO_UNSPEC, &a), 53) < 0) { | ||
| 82 | + avahi_address_parse("192.168.50.1", AVAHI_PROTO_UNSPEC, &a); | ||
| 83 | + | ||
| 84 | + error = avahi_server_add_dns_server_address(server, group, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, AVAHI_PUBLISH_USE_WIDE_AREA, NULL, AVAHI_DNS_SERVER_RESOLVE, &a, 53); | ||
| 85 | + assert(error == AVAHI_ERR_NOT_SUPPORTED); | ||
| 86 | + | ||
| 87 | + error = avahi_server_add_dns_server_address(server, group, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, AVAHI_PUBLISH_USE_WIDE_AREA|AVAHI_PUBLISH_USE_MULTICAST, NULL, AVAHI_DNS_SERVER_RESOLVE, &a, 53); | ||
| 88 | + assert(error == AVAHI_ERR_INVALID_FLAGS); | ||
| 89 | + | ||
| 90 | + if (avahi_server_add_dns_server_address(server, group, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, 0, NULL, AVAHI_DNS_SERVER_RESOLVE, &a, 53) < 0) { | ||
| 91 | avahi_log_error("Failed to add new DNS Server address"); | ||
| 92 | goto fail; | ||
| 93 | } | ||
| 94 | -- | ||
| 95 | 2.43.0 | ||
| 96 | |||
