initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
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
|
||||
|
||||
[Retrieved from:
|
||||
https://github.com/lathiat/avahi/commit/9d31939e55280a733d930b15ac9e4dda4497680c]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
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
|
||||
+}
|
||||
@@ -0,0 +1,49 @@
|
||||
config BR2_PACKAGE_AVAHI
|
||||
bool "avahi"
|
||||
# libdaemon uses fork()
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_STATIC_LIBS
|
||||
help
|
||||
Avahi is a system which facilitates service
|
||||
discovery on a local network.
|
||||
|
||||
http://www.avahi.org/
|
||||
|
||||
if BR2_PACKAGE_AVAHI
|
||||
|
||||
config BR2_PACKAGE_AVAHI_AUTOIPD
|
||||
bool "IPv4LL network address configuration daemon"
|
||||
default y
|
||||
select BR2_PACKAGE_LIBDAEMON
|
||||
help
|
||||
Avahi-autoipd 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.
|
||||
It is primarily intended to be used in ad-hoc networks which
|
||||
lack a DHCP server.
|
||||
|
||||
config BR2_PACKAGE_AVAHI_DAEMON
|
||||
bool "mDNS/DNS-SD daemon"
|
||||
select BR2_PACKAGE_LIBDAEMON
|
||||
select BR2_PACKAGE_EXPAT
|
||||
help
|
||||
The Avahi mDNS/DNS-SD daemon implementing Apple's ZeroConf
|
||||
architecture (also known as "Rendezvous" or "Bonjour").
|
||||
The daemon registers local IP addresses and services using
|
||||
mDNS/DNS-SD.
|
||||
|
||||
config BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY
|
||||
bool "libdns_sd compatibility (Bonjour)"
|
||||
depends on BR2_PACKAGE_AVAHI_DAEMON
|
||||
select BR2_PACKAGE_DBUS
|
||||
help
|
||||
Enable the libdns_sd (Bonjour) compatibility library support
|
||||
for legacy applications.
|
||||
|
||||
endif
|
||||
|
||||
comment "avahi needs a toolchain w/ threads"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
case "$1" in
|
||||
start|"")
|
||||
if [ ! -d /tmp/avahi-autoipd ]; then
|
||||
rm -rf /tmp/avahi-autoipd
|
||||
mkdir /tmp/avahi-autoipd
|
||||
chown avahi.avahi /tmp/avahi-autoipd
|
||||
fi
|
||||
;;
|
||||
stop) ;;
|
||||
*)
|
||||
echo "Usage: S05avahi-setup.sh {start|stop}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# avahi-daemon init script
|
||||
|
||||
DAEMON=/usr/sbin/avahi-daemon
|
||||
case "$1" in
|
||||
start)
|
||||
$DAEMON -c || $DAEMON -D
|
||||
;;
|
||||
stop)
|
||||
$DAEMON -c && $DAEMON -k
|
||||
;;
|
||||
reload)
|
||||
$DAEMON -c && $DAEMON -r
|
||||
;;
|
||||
*)
|
||||
echo "Usage: S50avahi-daemon {start|stop|reload}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda avahi-0.8.tar.gz
|
||||
sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE
|
||||
@@ -0,0 +1,196 @@
|
||||
################################################################################
|
||||
#
|
||||
# avahi
|
||||
#
|
||||
################################################################################
|
||||
|
||||
AVAHI_VERSION = 0.8
|
||||
AVAHI_SITE = https://github.com/lathiat/avahi/releases/download/v$(AVAHI_VERSION)
|
||||
AVAHI_LICENSE = LGPL-2.1+
|
||||
AVAHI_LICENSE_FILES = LICENSE
|
||||
AVAHI_CPE_ID_VENDOR = avahi
|
||||
AVAHI_SELINUX_MODULES = avahi
|
||||
AVAHI_INSTALL_STAGING = YES
|
||||
|
||||
# CVE-2021-26720 is an issue in avahi-daemon-check-dns.sh, which is
|
||||
# part of the Debian packaging and not part of upstream avahi
|
||||
AVAHI_IGNORE_CVES += CVE-2021-26720
|
||||
|
||||
# 0001-Fix-NULL-pointer-crashes-from-175.patch
|
||||
AVAHI_IGNORE_CVES += CVE-2021-36217
|
||||
|
||||
AVAHI_CONF_ENV = \
|
||||
avahi_cv_sys_cxx_works=yes \
|
||||
DATADIRNAME=share
|
||||
|
||||
# Note: even if we have Gtk2 and Gtk3 support in Buildroot, we
|
||||
# explicitly disable support for them, in order to avoid the following
|
||||
# circular dependencies:
|
||||
#
|
||||
# avahi -> libglade -> libgtk2 -> cups -> avahi
|
||||
# avahi -> libgtk3 -> cups -> avahi
|
||||
#
|
||||
# Since Gtk2 and Gtk3 in Avahi are only used for some example/demo
|
||||
# programs, we decided to disable their support to solve the circular
|
||||
# dependency.
|
||||
AVAHI_CONF_OPTS = \
|
||||
--disable-qt3 \
|
||||
--disable-qt4 \
|
||||
--disable-qt5 \
|
||||
--disable-gtk \
|
||||
--disable-gtk3 \
|
||||
--disable-gdbm \
|
||||
--disable-pygobject \
|
||||
--disable-mono \
|
||||
--disable-monodoc \
|
||||
--disable-stack-protector \
|
||||
--disable-introspection \
|
||||
--with-distro=none \
|
||||
--disable-manpages \
|
||||
$(if $(BR2_PACKAGE_AVAHI_AUTOIPD),--enable,--disable)-autoipd \
|
||||
--with-avahi-user=avahi \
|
||||
--with-avahi-group=avahi \
|
||||
--with-autoipd-user=avahi \
|
||||
--with-autoipd-group=avahi
|
||||
|
||||
AVAHI_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES)
|
||||
|
||||
AVAHI_CFLAGS = $(TARGET_CFLAGS)
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
|
||||
AVAHI_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system
|
||||
else
|
||||
AVAHI_CONF_OPTS += --with-systemdsystemunitdir=no
|
||||
AVAHI_CFLAGS += -DDISABLE_SYSTEMD
|
||||
endif
|
||||
|
||||
ifneq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_AVAHI_AUTOIPD),)
|
||||
AVAHI_DEPENDENCIES += libdaemon
|
||||
else
|
||||
AVAHI_CONF_OPTS += --disable-libdaemon
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBCAP),y)
|
||||
AVAHI_DEPENDENCIES += libcap
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_AVAHI_DAEMON),y)
|
||||
AVAHI_DEPENDENCIES += expat
|
||||
AVAHI_CONF_OPTS += --with-xml=expat
|
||||
else
|
||||
AVAHI_CONF_OPTS += --with-xml=none
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY),y)
|
||||
AVAHI_CONF_OPTS += --enable-compat-libdns_sd
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_DBUS),y)
|
||||
AVAHI_DEPENDENCIES += dbus
|
||||
AVAHI_CONF_OPTS += --with-dbus-sys=/usr/share/dbus-1/system.d
|
||||
else
|
||||
AVAHI_CONF_OPTS += --disable-dbus
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBEVENT),y)
|
||||
AVAHI_DEPENDENCIES += libevent
|
||||
else
|
||||
AVAHI_CONF_OPTS += --disable-libevent
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
|
||||
AVAHI_DEPENDENCIES += libglib2
|
||||
else
|
||||
AVAHI_CONF_OPTS += --disable-glib --disable-gobject
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON),y)
|
||||
AVAHI_CONF_ENV += \
|
||||
am_cv_pathless_PYTHON=python \
|
||||
am_cv_path_PYTHON=$(PYTHON_TARGET_BINARY) \
|
||||
am_cv_python_version=$(PYTHON_VERSION) \
|
||||
am_cv_python_platform=linux2 \
|
||||
am_cv_python_pythondir=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \
|
||||
am_cv_python_pyexecdir=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \
|
||||
py_cv_mod_socket_=yes
|
||||
|
||||
AVAHI_DEPENDENCIES += python
|
||||
AVAHI_CONF_OPTS += --enable-python
|
||||
else
|
||||
AVAHI_CONF_OPTS += --disable-python
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_DBUS_PYTHON),y)
|
||||
AVAHI_CONF_OPTS += --enable-python-dbus
|
||||
AVAHI_CONF_ENV += py_cv_mod_dbus_=yes
|
||||
AVAHI_DEPENDENCIES += dbus-python
|
||||
else
|
||||
AVAHI_CONF_OPTS += --disable-python-dbus
|
||||
endif
|
||||
|
||||
AVAHI_CONF_ENV += CFLAGS="$(AVAHI_CFLAGS)"
|
||||
|
||||
AVAHI_MAKE_OPTS += LIBS=$(TARGET_NLS_LIBS)
|
||||
|
||||
define AVAHI_USERS
|
||||
avahi -1 avahi -1 * - - -
|
||||
endef
|
||||
|
||||
define AVAHI_REMOVE_INITSCRIPT
|
||||
rm -rf $(TARGET_DIR)/etc/init.d/avahi-*
|
||||
endef
|
||||
|
||||
AVAHI_POST_INSTALL_TARGET_HOOKS += AVAHI_REMOVE_INITSCRIPT
|
||||
|
||||
ifeq ($(BR2_PACKAGE_AVAHI_AUTOIPD),y)
|
||||
define AVAHI_INSTALL_AUTOIPD
|
||||
rm -f $(TARGET_DIR)/var/lib/avahi-autoipd
|
||||
$(INSTALL) -d -m 0755 $(TARGET_DIR)/var/lib
|
||||
ln -sf /tmp/avahi-autoipd $(TARGET_DIR)/var/lib/avahi-autoipd
|
||||
endef
|
||||
|
||||
define AVAHI_INSTALL_AUTOIPD_INIT_SYSV
|
||||
$(INSTALL) -D -m 0755 package/avahi/S05avahi-setup.sh $(TARGET_DIR)/etc/init.d/S05avahi-setup.sh
|
||||
endef
|
||||
|
||||
AVAHI_POST_INSTALL_TARGET_HOOKS += AVAHI_INSTALL_AUTOIPD
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_AVAHI_DAEMON),y)
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUSERS),y)
|
||||
define AVAHI_INSTALL_SYSTEMD_SYSUSERS
|
||||
$(INSTALL) -D -m 644 package/avahi/avahi_sysusers.conf \
|
||||
$(TARGET_DIR)/usr/lib/sysusers.d/avahi.conf
|
||||
endef
|
||||
endif
|
||||
|
||||
define AVAHI_INSTALL_INIT_SYSTEMD
|
||||
$(INSTALL) -D -m 644 package/avahi/avahi_tmpfiles.conf \
|
||||
$(TARGET_DIR)/usr/lib/tmpfiles.d/avahi.conf
|
||||
|
||||
$(AVAHI_INSTALL_SYSTEMD_SYSUSERS)
|
||||
endef
|
||||
|
||||
define AVAHI_INSTALL_DAEMON_INIT_SYSV
|
||||
$(INSTALL) -D -m 0755 package/avahi/S50avahi-daemon $(TARGET_DIR)/etc/init.d/S50avahi-daemon
|
||||
endef
|
||||
|
||||
endif
|
||||
|
||||
define AVAHI_INSTALL_INIT_SYSV
|
||||
$(AVAHI_INSTALL_AUTOIPD_INIT_SYSV)
|
||||
$(AVAHI_INSTALL_DAEMON_INIT_SYSV)
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY),y)
|
||||
# applications expects to be able to #include <dns_sd.h>
|
||||
define AVAHI_STAGING_INSTALL_LIBDNSSD_LINK
|
||||
ln -sf avahi-compat-libdns_sd/dns_sd.h \
|
||||
$(STAGING_DIR)/usr/include/dns_sd.h
|
||||
endef
|
||||
|
||||
AVAHI_POST_INSTALL_STAGING_HOOKS += AVAHI_STAGING_INSTALL_LIBDNSSD_LINK
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
@@ -0,0 +1,5 @@
|
||||
# sysusers.d snippet for creating the avahi system user automatically
|
||||
# at boot on systemd-based systems that ship with an unpopulated
|
||||
# /etc. See sysusers.d(5) for details.
|
||||
|
||||
u avahi - "Avahi mDNS/DNS-SD Stack"
|
||||
@@ -0,0 +1 @@
|
||||
d /tmp/avahi-autoipd 0755 avahi avahi
|
||||
Reference in New Issue
Block a user