Initial commit
This commit is contained in:
@@ -0,0 +1,190 @@
|
||||
SUMMARY = "Avahi IPv4LL network address configuration daemon"
|
||||
DESCRIPTION = 'Avahi is a fully LGPL framework for Multicast DNS Service Discovery. It \
|
||||
allows programs to publish and discover services and hosts running on a local network \
|
||||
with no specific configuration. This tool implements IPv4LL, "Dynamic Configuration of \
|
||||
IPv4 Link-Local Addresses" (IETF RFC3927), a protocol for automatic IP address \
|
||||
configuration from the link-local 169.254.0.0/16 range without the need for a central \
|
||||
server.'
|
||||
AUTHOR = "Lennart Poettering <lennart@poettering.net>"
|
||||
HOMEPAGE = "http://avahi.org"
|
||||
BUGTRACKER = "https://github.com/lathiat/avahi/issues"
|
||||
SECTION = "network"
|
||||
|
||||
# major part is under LGPL-2.1-or-later, but several .dtd, .xsl, initscripts and
|
||||
# python scripts are under GPL-2.0-or-later
|
||||
LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
|
||||
file://avahi-common/address.h;endline=25;md5=b1d1d2cda1c07eb848ea7d6215712d9d \
|
||||
file://avahi-core/dns.h;endline=23;md5=6fe82590b81aa0ddea5095b548e2fdcb \
|
||||
file://avahi-daemon/main.c;endline=21;md5=9ee77368c5407af77caaef1b07285969 \
|
||||
file://avahi-client/client.h;endline=23;md5=f4ac741a25c4f434039ba3e18c8674cf"
|
||||
|
||||
SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/avahi-${PV}.tar.gz \
|
||||
file://00avahi-autoipd \
|
||||
file://99avahi-autoipd \
|
||||
file://initscript.patch \
|
||||
file://0001-Fix-opening-etc-resolv.conf-error.patch \
|
||||
file://handle-hup.patch \
|
||||
file://local-ping.patch \
|
||||
"
|
||||
|
||||
GITHUB_BASE_URI = "https://github.com/lathiat/avahi/releases/"
|
||||
SRC_URI[md5sum] = "229c6aa30674fc43c202b22c5f8c2be7"
|
||||
SRC_URI[sha256sum] = "060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda"
|
||||
|
||||
CVE_STATUS[CVE-2021-26720] = "not-applicable-platform: Issue only affects Debian/SUSE"
|
||||
|
||||
DEPENDS = "expat libcap libdaemon glib-2.0 glib-2.0-native"
|
||||
|
||||
# For gtk related PACKAGECONFIGs: gtk, gtk3
|
||||
AVAHI_GTK ?= ""
|
||||
|
||||
PACKAGECONFIG ??= "dbus ${@bb.utils.contains_any('DISTRO_FEATURES','x11 wayland','${AVAHI_GTK}','',d)}"
|
||||
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
|
||||
PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+"
|
||||
PACKAGECONFIG[gtk3] = "--enable-gtk3,--disable-gtk3,gtk+3"
|
||||
PACKAGECONFIG[libdns_sd] = "--enable-compat-libdns_sd --enable-dbus,,dbus"
|
||||
PACKAGECONFIG[libevent] = "--enable-libevent,--disable-libevent,libevent"
|
||||
PACKAGECONFIG[qt5] = "--enable-qt5,--disable-qt5,qtbase"
|
||||
|
||||
inherit autotools pkgconfig gettext gobject-introspection github-releases
|
||||
|
||||
EXTRA_OECONF = "--with-avahi-priv-access-group=adm \
|
||||
--disable-stack-protector \
|
||||
--disable-gdbm \
|
||||
--disable-dbm \
|
||||
--disable-mono \
|
||||
--disable-monodoc \
|
||||
--disable-qt3 \
|
||||
--disable-qt4 \
|
||||
--disable-python \
|
||||
--disable-doxygen-doc \
|
||||
--enable-manpages \
|
||||
${EXTRA_OECONF_SYSVINIT} \
|
||||
${EXTRA_OECONF_SYSTEMD} \
|
||||
"
|
||||
|
||||
# The distro choice determines what init scripts are installed
|
||||
EXTRA_OECONF_SYSVINIT = "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','--with-distro=debian','--with-distro=none',d)}"
|
||||
EXTRA_OECONF_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES','systemd','--with-systemdsystemunitdir=${systemd_system_unitdir}/','--without-systemdsystemunitdir',d)}"
|
||||
|
||||
do_configure:prepend() {
|
||||
# This m4 file will get in the way of our introspection.m4 with special cross-compilation fixes
|
||||
rm "${S}/common/introspection.m4" || true
|
||||
}
|
||||
|
||||
do_compile:prepend() {
|
||||
export GIR_EXTRA_LIBS_PATH="${B}/avahi-gobject/.libs:${B}/avahi-common/.libs:${B}/avahi-client/.libs:${B}/avahi-glib/.libs"
|
||||
}
|
||||
|
||||
RRECOMMENDS:${PN}:append:libc-glibc = " libnss-mdns"
|
||||
|
||||
do_install() {
|
||||
autotools_do_install
|
||||
rm -rf ${D}/run
|
||||
test -d ${D}${datadir}/dbus-1 && rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1
|
||||
rm -rf ${D}${libdir}/avahi
|
||||
|
||||
# Move example service files out of /etc/avahi/services so we don't
|
||||
# advertise ssh & sftp-ssh by default
|
||||
install -d ${D}${docdir}/avahi
|
||||
mv ${D}${sysconfdir}/avahi/services/* ${D}${docdir}/avahi
|
||||
}
|
||||
|
||||
PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "libdns_sd", "libavahi-compat-libdnssd", "", d)}"
|
||||
|
||||
FILES:libavahi-compat-libdnssd = "${libdir}/libdns_sd.so.*"
|
||||
|
||||
RPROVIDES:libavahi-compat-libdnssd = "libdns-sd"
|
||||
|
||||
inherit update-rc.d systemd useradd
|
||||
|
||||
PACKAGES =+ "libavahi-gobject avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib avahi-autoipd avahi-utils avahi-discover avahi-ui"
|
||||
|
||||
FILES:avahi-ui = "${libdir}/libavahi-ui*.so.*"
|
||||
FILES:avahi-discover = "${datadir}/applications/avahi-discover.desktop \
|
||||
${datadir}/avahi/interfaces/avahi-discover.ui \
|
||||
${bindir}/avahi-discover-standalone \
|
||||
"
|
||||
|
||||
LICENSE:libavahi-gobject = "LGPL-2.1-or-later"
|
||||
LICENSE:avahi-daemon = "LGPL-2.1-or-later"
|
||||
LICENSE:libavahi-common = "LGPL-2.1-or-later"
|
||||
LICENSE:libavahi-core = "LGPL-2.1-or-later"
|
||||
LICENSE:libavahi-client = "LGPL-2.1-or-later"
|
||||
LICENSE:avahi-dnsconfd = "LGPL-2.1-or-later"
|
||||
LICENSE:libavahi-glib = "LGPL-2.1-or-later"
|
||||
LICENSE:avahi-autoipd = "LGPL-2.1-or-later"
|
||||
LICENSE:avahi-utils = "LGPL-2.1-or-later"
|
||||
|
||||
# As avahi doesn't put any files into PN, clear the files list to avoid problems
|
||||
# if extra libraries appear.
|
||||
FILES:${PN} = ""
|
||||
FILES:avahi-autoipd = "${sbindir}/avahi-autoipd \
|
||||
${sysconfdir}/avahi/avahi-autoipd.action \
|
||||
${sysconfdir}/dhcp/*/avahi-autoipd \
|
||||
${sysconfdir}/udhcpc.d/00avahi-autoipd \
|
||||
${sysconfdir}/udhcpc.d/99avahi-autoipd"
|
||||
FILES:libavahi-common = "${libdir}/libavahi-common.so.*"
|
||||
FILES:libavahi-core = "${libdir}/libavahi-core.so.* ${libdir}/girepository-1.0/AvahiCore*.typelib"
|
||||
FILES:avahi-daemon = "${sbindir}/avahi-daemon \
|
||||
${sysconfdir}/avahi/avahi-daemon.conf \
|
||||
${sysconfdir}/avahi/hosts \
|
||||
${sysconfdir}/avahi/services \
|
||||
${sysconfdir}/dbus-1 \
|
||||
${sysconfdir}/init.d/avahi-daemon \
|
||||
${datadir}/dbus-1/interfaces \
|
||||
${datadir}/avahi/avahi-service.dtd \
|
||||
${datadir}/avahi/service-types \
|
||||
${datadir}/dbus-1/system-services"
|
||||
FILES:libavahi-client = "${libdir}/libavahi-client.so.*"
|
||||
FILES:avahi-dnsconfd = "${sbindir}/avahi-dnsconfd \
|
||||
${sysconfdir}/avahi/avahi-dnsconfd.action \
|
||||
${sysconfdir}/init.d/avahi-dnsconfd"
|
||||
FILES:libavahi-glib = "${libdir}/libavahi-glib.so.*"
|
||||
FILES:libavahi-gobject = "${libdir}/libavahi-gobject.so.* ${libdir}/girepository-1.0/Avahi*.typelib"
|
||||
FILES:avahi-utils = "${bindir}/avahi-* ${bindir}/b* ${datadir}/applications/b*"
|
||||
|
||||
DEV_PKG_DEPENDENCY = "avahi-daemon (= ${EXTENDPKGV}) libavahi-core (= ${EXTENDPKGV})"
|
||||
DEV_PKG_DEPENDENCY += "${@["", " libavahi-client (= ${EXTENDPKGV})"][bb.utils.contains('PACKAGECONFIG', 'dbus', 1, 0, d)]}"
|
||||
RDEPENDS:${PN}-dnsconfd = "${PN}-daemon"
|
||||
|
||||
RRECOMMENDS:avahi-daemon:append:libc-glibc = " libnss-mdns"
|
||||
|
||||
CONFFILES:avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf"
|
||||
|
||||
USERADD_PACKAGES = "avahi-daemon avahi-autoipd"
|
||||
USERADD_PARAM:avahi-daemon = "--system --home /run/avahi-daemon \
|
||||
--no-create-home --shell /bin/false \
|
||||
--user-group avahi"
|
||||
|
||||
USERADD_PARAM:avahi-autoipd = "--system --home /run/avahi-autoipd \
|
||||
--no-create-home --shell /bin/false \
|
||||
--user-group \
|
||||
-c \"Avahi autoip daemon\" \
|
||||
avahi-autoipd"
|
||||
|
||||
INITSCRIPT_PACKAGES = "avahi-daemon avahi-dnsconfd"
|
||||
INITSCRIPT_NAME:avahi-daemon = "avahi-daemon"
|
||||
INITSCRIPT_PARAMS:avahi-daemon = "defaults 21 19"
|
||||
INITSCRIPT_NAME:avahi-dnsconfd = "avahi-dnsconfd"
|
||||
INITSCRIPT_PARAMS:avahi-dnsconfd = "defaults 22 19"
|
||||
|
||||
SYSTEMD_PACKAGES = "${PN}-daemon ${PN}-dnsconfd"
|
||||
SYSTEMD_SERVICE:${PN}-daemon = "avahi-daemon.service"
|
||||
SYSTEMD_SERVICE:${PN}-dnsconfd = "avahi-dnsconfd.service"
|
||||
|
||||
do_install:append() {
|
||||
install -d ${D}${sysconfdir}/udhcpc.d
|
||||
install ${WORKDIR}/00avahi-autoipd ${D}${sysconfdir}/udhcpc.d
|
||||
install ${WORKDIR}/99avahi-autoipd ${D}${sysconfdir}/udhcpc.d
|
||||
}
|
||||
|
||||
# At the time the postinst runs, dbus might not be setup so only restart if running
|
||||
# Don't exit early, because update-rc.d needs to run subsequently.
|
||||
pkg_postinst:avahi-daemon () {
|
||||
if [ -z "$D" ]; then
|
||||
killall -q -HUP dbus-daemon || true
|
||||
fi
|
||||
}
|
||||
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
From 78967814f5c37ed67f4cf64d70c9f76a03ee89bc Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Wed, 20 Jun 2018 13:57:35 +0800
|
||||
Subject: [PATCH] Fix opening /etc/resolv.conf error
|
||||
|
||||
Fix to start avahi-daemon after systemd-resolved.service. This is because
|
||||
/etc/resolv.conf is a link to /etc/resolv-conf.systemd which in turn is
|
||||
a symlink to /run/systemd/resolve/resolv.conf. And /run/systemd/resolve/resolv.conf
|
||||
is created by systemd-resolved.service by default in current OE's systemd
|
||||
based systems.
|
||||
|
||||
This fixes errro like below.
|
||||
|
||||
Failed to open /etc/resolv.conf: Invalid argument
|
||||
|
||||
In fact, handling of /etc/resolv.conf is quite distro specific. So this patch
|
||||
is marked as OE specific.
|
||||
|
||||
Upstream-Status: Inappropriate [OE Specific]
|
||||
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
|
||||
When connman installed to image, /etc/resolv.conf is link to
|
||||
/etc/resolv-conf.connman. So launch avahi-daemon after connman too.
|
||||
|
||||
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
||||
---
|
||||
avahi-daemon/avahi-daemon.service.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/avahi-daemon/avahi-daemon.service.in b/avahi-daemon/avahi-daemon.service.in
|
||||
index 548c834..63e28e4 100644
|
||||
--- a/avahi-daemon/avahi-daemon.service.in
|
||||
+++ b/avahi-daemon/avahi-daemon.service.in
|
||||
@@ -18,6 +18,7 @@
|
||||
[Unit]
|
||||
Description=Avahi mDNS/DNS-SD Stack
|
||||
Requires=avahi-daemon.socket
|
||||
+After=systemd-resolved.service connman.service
|
||||
|
||||
[Service]
|
||||
Type=dbus
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
|
||||
|
||||
case "$1" in
|
||||
|
||||
deconfig|renew|bound)
|
||||
/usr/sbin/avahi-autoipd -k $interface 2> /dev/null
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
|
||||
|
||||
case "$1" in
|
||||
|
||||
leasefail)
|
||||
/usr/sbin/avahi-autoipd -wD $interface 2> /dev/null
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,41 @@
|
||||
CVE: CVE-2021-3468
|
||||
Upstream-Status: Submitted [https://github.com/lathiat/avahi/pull/330]
|
||||
Signed-off-by: Ross Burton <ross.burton@arm.com>
|
||||
|
||||
From 447affe29991ee99c6b9732fc5f2c1048a611d3b Mon Sep 17 00:00:00 2001
|
||||
From: Riccardo Schirone <sirmy15@gmail.com>
|
||||
Date: Fri, 26 Mar 2021 11:50:24 +0100
|
||||
Subject: [PATCH] Avoid infinite-loop in avahi-daemon by handling HUP event in
|
||||
client_work
|
||||
|
||||
If a client fills the input buffer, client_work() disables the
|
||||
AVAHI_WATCH_IN event, thus preventing the function from executing the
|
||||
`read` syscall the next times it is called. However, if the client then
|
||||
terminates the connection, the socket file descriptor receives a HUP
|
||||
event, which is not handled, thus the kernel keeps marking the HUP event
|
||||
as occurring. While iterating over the file descriptors that triggered
|
||||
an event, the client file descriptor will keep having the HUP event and
|
||||
the client_work() function is always called with AVAHI_WATCH_HUP but
|
||||
without nothing being done, thus entering an infinite loop.
|
||||
|
||||
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=984938
|
||||
---
|
||||
avahi-daemon/simple-protocol.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/avahi-daemon/simple-protocol.c b/avahi-daemon/simple-protocol.c
|
||||
index 3e0ebb11..6c0274d6 100644
|
||||
--- a/avahi-daemon/simple-protocol.c
|
||||
+++ b/avahi-daemon/simple-protocol.c
|
||||
@@ -424,6 +424,11 @@ static void client_work(AvahiWatch *watch, AVAHI_GCC_UNUSED int fd, AvahiWatchEv
|
||||
}
|
||||
}
|
||||
|
||||
+ if (events & AVAHI_WATCH_HUP) {
|
||||
+ client_free(c);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
c->server->poll_api->watch_update(
|
||||
watch,
|
||||
(c->outbuf_length > 0 ? AVAHI_WATCH_OUT : 0) |
|
||||
@@ -0,0 +1,47 @@
|
||||
Upstream-Status: Pending
|
||||
|
||||
Index: avahi-0.7/initscript/debian/avahi-daemon.in
|
||||
===================================================================
|
||||
--- avahi-0.7.orig/initscript/debian/avahi-daemon.in
|
||||
+++ avahi-0.7/initscript/debian/avahi-daemon.in
|
||||
@@ -1,5 +1,17 @@
|
||||
#!/bin/sh
|
||||
-
|
||||
+### BEGIN INIT INFO
|
||||
+# Provides: avahi
|
||||
+# Required-Start: $remote_fs dbus
|
||||
+# Required-Stop: $remote_fs dbus
|
||||
+# Should-Start: $syslog
|
||||
+# Should-Stop: $syslog
|
||||
+# Default-Start: 2 3 4 5
|
||||
+# Default-Stop: 0 1 6
|
||||
+# Short-Description: Avahi mDNS/DNS-SD Daemon
|
||||
+# Description: Zeroconf daemon for configuring your network
|
||||
+# automatically
|
||||
+### END INIT INFO
|
||||
+#
|
||||
# This file is part of avahi.
|
||||
#
|
||||
# avahi is free software; you can redistribute it and/or modify it
|
||||
Index: avahi-0.7/initscript/debian/avahi-dnsconfd.in
|
||||
===================================================================
|
||||
--- avahi-0.7.orig/initscript/debian/avahi-dnsconfd.in
|
||||
+++ avahi-0.7/initscript/debian/avahi-dnsconfd.in
|
||||
@@ -1,4 +1,17 @@
|
||||
#!/bin/sh
|
||||
+### BEGIN INIT INFO
|
||||
+# Provides: avahi-dnsconfd
|
||||
+# Required-Start: $remote_fs avahi
|
||||
+# Required-Stop: $remote_fs avahi
|
||||
+# Should-Start: $syslog
|
||||
+# Should-Stop: $syslog
|
||||
+# Default-Start: 2 3 4 5
|
||||
+# Default-Stop: 0 1 6
|
||||
+# Short-Description: Avahi mDNS/DNS-SD DNS configuration
|
||||
+# Description: Zeroconf daemon for configuring your network
|
||||
+# automatically
|
||||
+### END INIT INFO
|
||||
+#
|
||||
|
||||
# This file is part of avahi.
|
||||
#
|
||||
@@ -0,0 +1,153 @@
|
||||
CVE: CVE-2021-36217
|
||||
CVE: CVE-2021-3502
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Ross Burton <ross.burton@arm.com>
|
||||
|
||||
From 9d31939e55280a733d930b15ac9e4dda4497680c Mon Sep 17 00:00:00 2001
|
||||
From: Tommi Rantala <tommi.t.rantala@nokia.com>
|
||||
Date: Mon, 8 Feb 2021 11:04:43 +0200
|
||||
Subject: [PATCH] Fix NULL pointer crashes from #175
|
||||
|
||||
avahi-daemon is crashing when running "ping .local".
|
||||
The crash is due to failing assertion from NULL pointer.
|
||||
Add missing NULL pointer checks to fix it.
|
||||
|
||||
Introduced in #175 - merge commit 8f75a045709a780c8cf92a6a21e9d35b593bdecd
|
||||
---
|
||||
avahi-core/browse-dns-server.c | 5 ++++-
|
||||
avahi-core/browse-domain.c | 5 ++++-
|
||||
avahi-core/browse-service-type.c | 3 +++
|
||||
avahi-core/browse-service.c | 3 +++
|
||||
avahi-core/browse.c | 3 +++
|
||||
avahi-core/resolve-address.c | 5 ++++-
|
||||
avahi-core/resolve-host-name.c | 5 ++++-
|
||||
avahi-core/resolve-service.c | 5 ++++-
|
||||
8 files changed, 29 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/avahi-core/browse-dns-server.c b/avahi-core/browse-dns-server.c
|
||||
index 049752e9..c2d914fa 100644
|
||||
--- a/avahi-core/browse-dns-server.c
|
||||
+++ b/avahi-core/browse-dns-server.c
|
||||
@@ -343,7 +343,10 @@ AvahiSDNSServerBrowser *avahi_s_dns_server_browser_new(
|
||||
AvahiSDNSServerBrowser* b;
|
||||
|
||||
b = avahi_s_dns_server_browser_prepare(server, interface, protocol, domain, type, aprotocol, flags, callback, userdata);
|
||||
+ if (!b)
|
||||
+ return NULL;
|
||||
+
|
||||
avahi_s_dns_server_browser_start(b);
|
||||
|
||||
return b;
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
diff --git a/avahi-core/browse-domain.c b/avahi-core/browse-domain.c
|
||||
index f145d56a..06fa70c0 100644
|
||||
--- a/avahi-core/browse-domain.c
|
||||
+++ b/avahi-core/browse-domain.c
|
||||
@@ -253,7 +253,10 @@ AvahiSDomainBrowser *avahi_s_domain_browser_new(
|
||||
AvahiSDomainBrowser *b;
|
||||
|
||||
b = avahi_s_domain_browser_prepare(server, interface, protocol, domain, type, flags, callback, userdata);
|
||||
+ if (!b)
|
||||
+ return NULL;
|
||||
+
|
||||
avahi_s_domain_browser_start(b);
|
||||
|
||||
return b;
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
diff --git a/avahi-core/browse-service-type.c b/avahi-core/browse-service-type.c
|
||||
index fdd22dcd..b1fc7af8 100644
|
||||
--- a/avahi-core/browse-service-type.c
|
||||
+++ b/avahi-core/browse-service-type.c
|
||||
@@ -171,6 +171,9 @@ AvahiSServiceTypeBrowser *avahi_s_service_type_browser_new(
|
||||
AvahiSServiceTypeBrowser *b;
|
||||
|
||||
b = avahi_s_service_type_browser_prepare(server, interface, protocol, domain, flags, callback, userdata);
|
||||
+ if (!b)
|
||||
+ return NULL;
|
||||
+
|
||||
avahi_s_service_type_browser_start(b);
|
||||
|
||||
return b;
|
||||
diff --git a/avahi-core/browse-service.c b/avahi-core/browse-service.c
|
||||
index 5531360c..63e0275a 100644
|
||||
--- a/avahi-core/browse-service.c
|
||||
+++ b/avahi-core/browse-service.c
|
||||
@@ -184,6 +184,9 @@ AvahiSServiceBrowser *avahi_s_service_browser_new(
|
||||
AvahiSServiceBrowser *b;
|
||||
|
||||
b = avahi_s_service_browser_prepare(server, interface, protocol, service_type, domain, flags, callback, userdata);
|
||||
+ if (!b)
|
||||
+ return NULL;
|
||||
+
|
||||
avahi_s_service_browser_start(b);
|
||||
|
||||
return b;
|
||||
diff --git a/avahi-core/browse.c b/avahi-core/browse.c
|
||||
index 2941e579..e8a915e9 100644
|
||||
--- a/avahi-core/browse.c
|
||||
+++ b/avahi-core/browse.c
|
||||
@@ -634,6 +634,9 @@ AvahiSRecordBrowser *avahi_s_record_browser_new(
|
||||
AvahiSRecordBrowser *b;
|
||||
|
||||
b = avahi_s_record_browser_prepare(server, interface, protocol, key, flags, callback, userdata);
|
||||
+ if (!b)
|
||||
+ return NULL;
|
||||
+
|
||||
avahi_s_record_browser_start_query(b);
|
||||
|
||||
return b;
|
||||
diff --git a/avahi-core/resolve-address.c b/avahi-core/resolve-address.c
|
||||
index ac0b29b1..e61dd242 100644
|
||||
--- a/avahi-core/resolve-address.c
|
||||
+++ b/avahi-core/resolve-address.c
|
||||
@@ -286,7 +286,10 @@ AvahiSAddressResolver *avahi_s_address_resolver_new(
|
||||
AvahiSAddressResolver *b;
|
||||
|
||||
b = avahi_s_address_resolver_prepare(server, interface, protocol, address, flags, callback, userdata);
|
||||
+ if (!b)
|
||||
+ return NULL;
|
||||
+
|
||||
avahi_s_address_resolver_start(b);
|
||||
|
||||
return b;
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
diff --git a/avahi-core/resolve-host-name.c b/avahi-core/resolve-host-name.c
|
||||
index 808b0e72..4e8e5973 100644
|
||||
--- a/avahi-core/resolve-host-name.c
|
||||
+++ b/avahi-core/resolve-host-name.c
|
||||
@@ -318,7 +318,10 @@ AvahiSHostNameResolver *avahi_s_host_name_resolver_new(
|
||||
AvahiSHostNameResolver *b;
|
||||
|
||||
b = avahi_s_host_name_resolver_prepare(server, interface, protocol, host_name, aprotocol, flags, callback, userdata);
|
||||
+ if (!b)
|
||||
+ return NULL;
|
||||
+
|
||||
avahi_s_host_name_resolver_start(b);
|
||||
|
||||
return b;
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
diff --git a/avahi-core/resolve-service.c b/avahi-core/resolve-service.c
|
||||
index 66bf3cae..43771763 100644
|
||||
--- a/avahi-core/resolve-service.c
|
||||
+++ b/avahi-core/resolve-service.c
|
||||
@@ -519,7 +519,10 @@ AvahiSServiceResolver *avahi_s_service_resolver_new(
|
||||
AvahiSServiceResolver *b;
|
||||
|
||||
b = avahi_s_service_resolver_prepare(server, interface, protocol, name, type, domain, aprotocol, flags, callback, userdata);
|
||||
+ if (!b)
|
||||
+ return NULL;
|
||||
+
|
||||
avahi_s_service_resolver_start(b);
|
||||
|
||||
return b;
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
Reference in New Issue
Block a user