From 517393d903089f921915530ffa689a7a1d113420 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 13 Jan 2023 08:55:19 -0600 Subject: subtree updates Jan-13-2023 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit meta-openembedded: d04444509a..cd13881611: Alex Kiernan (10): mdns: Upgrade 1310.140.1 -> 1790.40.31 mdns: Set MDNS_VERSIONSTR_NODTS mdns: Upgrade 1790.40.31 -> 1790.60.25 ostree: Upgrade 2022.5 -> 2022.7 ostree: Use systemd_system_unitdir for systemd units ostree: Switch to fuse3 which is supported in ostree now ostree: Fix comments for configuration/ptest ostree: Handle musl's ERANGE mapping usbguard: Remove pegtl from DEPENDS usbguard: Upgrade 1.1.1 -> 1.1.2 Alex Stewart (2): gvfs: stylize DEPENDS gvfs: obviate the ssh-client requirement for gvfs Alexander Kanavin (5): frr: add a patch to correctly check presence of python from pkg-config lirc: correctly use PYTHONPATH libportal: move to oe-core packagegroup-meta-python: drop python3-strict-rfc3339 nftables: fix builds with latest setuptools Alexander Stein (1): dool: Add patch to fix rebuild Archana Polampalli (1): Nodejs - Upgrade to 16.18.1 Bartosz Golaszewski (3): python3-kmod: new package python3-watchdogdev: new package packagegroup-meta-python: add missing packages Bruce Ashfield (1): zfs: update to 2.1.7 Changqing Li (5): linuxptp: fix do_compile error keyutils: fix ptest failed since "+++ Can't Determine Endianness" graphviz: Do not build tcl support for native redis: 6.2.7 -> 6.2.8 redis: 7.0.5 -> 7.0.7 Chen Pei (2): suitesparse:fix git branch in SRC_URI botan: upgrade 2.19.2 -> 2.19.3 Chen Qi (4): xfce4-verve-plugin: fix do_configure faiure about missing libpcre networkmanager: fix dhcpcd PACKAGECONFIG networkmanager: install config files into correct place networkmanager: fix /etc/resolv.conf handling Christian Eggers (1): boost-url: remove recipe Clément Péron (3): navigation: bump proj to 9.1.0 library proj: add a packageconfig to build as a static library proj: avoid leaking host path in libproj Devendra Tewari (1): android-tools: Use echo instead of bbnote Dmitry Baryshkov (1): nss: fix cross-compilation error Erwann Roussy (3): python3-schedutils: add recipe python3-linux-procfs: add recipe tuna: add recipe Fabio Estevam (2): remmina: Update to 1.4.28 crucible: Upgrade to 2022.12.06 Geoff Parker (1): python3-yappi: upgrade 1.3.6 -> 1.4.0, python 3.11 compatible Gerbrand De Laender (1): python3-aioserial: new package Gianfranco Costamagna (2): vbxguestdrivers: upgrade 7.0.2 -> 7.0.4 boinc-client: Update boinc from 7.18.1 to 7.20.4 Gianluigi Spagnuolo (1): libbpf: add native and nativesdk BBCLASSEXTEND Hains van den Bosch (2): python3-twisted: Add python3-asyncio to RDEPENDS python3-twisted: Add python3-typing-extensions to RDEPENDS He Zhe (1): protobuf: upgrade 3.21.5 -> 3.21.10 Jose Quaresma (1): lshw: bump to 42fef565 Kai Kang (31): freeradius: fix multilib systemd service start failure wxwidgets: 3.1.5 -> 3.2.1 python3-attrdict3: add recipe with version 2.0.2 python3-wxgtk4: 4.1.1 -> 4.2.0 xfce4-settings: 4.16.3 -> 4.16.5 python3-m2crypto: fix CVE-2020-25657 and buildpaths qa issue fixup! wxwidgets: 3.1.5 -> 3.2.1 postfix: fix multilib conflict of sample-main.cf python3-wxgtk4: replace deprecated inspect.getargspec libxfce4ui: 4.16.1 -> 4.18.0 thunar-volman: 4.16.0 -> 4.18.0 xfce4-cpufreq-plugin: 1.2.7 -> 1.2.8 xfce4-wavelan-plugin: 0.6.2 -> 0.6.3 xfce4-cpugraph-plugin: 1.2.6 -> 1.2.7 xfce4-sensors-plugin: 1.4.3 -> 1.4.4 thunar-shares-plugin: Bump GLib minimum required to 2.26 xfce4-dev-tools: 4.16.0 -> 4.18.0 libxfce4util: 4.16.0 -> 4.18.0 exo: 4.16.4 -> 4.18.0 garcon: 4.16.1 -> 4.18.0 xfce4-panel: 4.16.3 -> 4.18.0 thunar: 4.16.9 -> 4.18.0 tumbler: 4.16.0 -> 4.18.0 xfconf: 4.16.0 -> 4.18.0 xfce4-appfinder: 4.16.1 -> 4.18.0 xfce4-settings: 4.16.5 -> 4.18.0 xfce4-power-manager: 4.16.0 -> 4.18.0 xfce4-session: 4.16.0 -> 4.18.0 xfwm4: 4.16.1 -> 4.18.0 xfdesktop: 4.16.0 -> 4.18.0 xorg-lib: set XORG_EXT for recipes Khem Raj (91): gnome-text-editor: Add missing libpcre build time depenedency ettercap: Add missing dependency on libpcre xcb-util-cursor: Update to 0.1.4 lldpd: Use github release assets for SRC_URI aufs-util: Fix build with large file support enabled systems volume-key: Inherit python3targetconfig proj: Enable apps when building native variant python3-pyproj: Export PROJ_DIR satyr: Inherit python3targetconfig rest: Re-add 0.8.1 gfbgraph: Use rest 0.8.1 audit: Inherit python3targetconfig opensaf: Check for _FILE_OFFSET_BITS instead of __TIMESIZE flite: Add missing deps on alsa-lib and chrpath python3-pystemd: Regenerate .c sources using newer cython libreport: Inherit python3targetconfig uw-imap: Disable parallelism gnome-calendar: Upgrade to 43.1 gnome-photos: Upgrade to 43.0 libgweather: Remove 40.0 waf-samba.bbclass: point PYTHON_CONFIG to target python3-config amtk: Add missing dep on python3-pygments-native fontforge: Inherit python3targetconfig tepl: Add missing dep on python3-pygments-native alsa-oss: Remove recipe opencv: Check for commercial_ffmpeg as well to enable ffmpeg opencv: Fix build with ffmpeg 5.1+ fwts: Upgrade to 22.11.00 minio: Disable on mips sip: Add recipe for 6.7.5 imapfilter: Upgrade to 2.7.6 perfetto: Do not pass TUNE_CCARGS to native/host compiler stressapptest: Upgrade to latest tip mariadb: Upgrade to 10.11.1 surf: Depend on gcr3 fatcat: Enable 64bit off_t stressapptest: Fix build with largefile support and musl nspr: Upgrade to 4.35 cryptsetup: Upgrade to 2.6.0 libyui,libyui-ncurses: Upgrade to 4.2.3 inotify-tools: Fix build on musl and lfs64 sdbus-c++-libsystemd: Upgrade to 250.9 systemd release xfsprogs: Upgrade to 6.0.0 drbd,drbd-utils: Upgrade to 9.2.1 and drbd-utils to 9.22.0 libtraceevent: Add recipe libtracefs: Add recipe trace-cmd: Remove use of off64_t and lseek64 xfsdump: Add -D_LARGEFILE64_SOURCE on musl xfstests: Add -D_LARGEFILE64_SOURCE on musl mariadb: Alias lseek64/open64/ftruncate64 on musl systems gperftools: Define off64_t on musl android-tools: Define lseek64 = lseek on musl php: Add -D_LARGEFILE64_SOURCE to cflags spice-gtk: Use libucontext for coroutines on musl wxwidgets: Fix build with musl wxwidgets: Fix locale on musl wxwidgets: Set HAVE_LARGEFILE_SUPPORT python3-wxgtk4: Do not use GetAssertStackTrace with USE_STACKWALKER disabled f2fs-tools: Upgrade to 1.15.0 trace-cmd: Pass ldflags to compiler parole: Define DATADIRNAME abseil-cpp: Replace off64_t with off_t vsftpd_3.0.5.bb: Define _LARGEFILE64_SOURCE on musl mozjs-102: Disable mozilla stackwalk on musl fatresize: Fix build when 64bit time_t is enabled boinc-client: Fix build when using 64bit time_t python3-grpcio: Define -D_LARGEFILE64_SOURCE only for musl gnome-online-accounts: Fix build race seen on musl systems imagemagick: Do not set ac_cv_sys_file_offset_bits spdlog: Do not use LFS64 functions with musl mongodb: Do not use off64_t on musl dracut: Do not undefine _FILE_OFFSET_BITS libcamera: Diable 64bit time_t on glibc targets v4l-utils: Diable 64bit time_t on glibc targets opensaf: Fix the check for __fsblkcnt64_t size libcereal,poco: Link with -latomic on ppc32 as well sshpass: Use SPDX identified string for GPLv2 nftables: Upgrade to 1.0.6 mycroft: Check for pulseaudio in distro features trace-cmd: Build libs before building rest open-vm-tools: Fix build with 64-bit time_t libtraceevent: Move plugins into package of its own trace-cmd: Upgrade to 3.1.5 luajit: Update to latest on v2.1 branch concurrencykit: Update to 0.7.0 concurrencykit: Set correct PLAT value for riscv32 concurrencykit: Fix build on riscv32 and riscv64 sysbench: Enable only on architectures supporting LuaJIT packagegroup-meta-oe: Ensure sysbench is included in limited arches hwloc: Update to 2.9.0 fluentbit: Link with libatomic on ppc32 Lei Maohui (1): polkit: Fix multilib builds Leon Anavi (9): python3-watchdog: Upgrade 2.2.0 -> 2.2.1 python3-zeroconf: Upgrade 0.39.4 -> 0.47.1 python3-croniter: Upgrade 1.3.7 -> 1.3.8 python3-coverage: Upgrade 7.0.1 -> 7.0.3 python3-prompt-toolkit: Upgrade 3.0.31 -> 3.0.36 python3-simplejson: Upgrade 3.18.0 -> 3.18.1 python3-termcolor: Upgrade 2.1.1 -> 2.2.0 python3-cantools: Upgrade 37.2.0 -> 38.0.0 python3-marshmallow: Upgrade 3.18.0 -> 3.19.0 Livin Sunny (1): libwebsockets: add ipv6 in PACKAGECONFIG Markus Volk (88): blueman: add RDEPEND on python3-fcntl hwdata: add patch to use sysroot prefix for pkgdatadir pipewire: upgrade 0.3.59 -> 0.3.60 spirv-cross: upgrade; fix build blueman: upgrade 2.34 -> 2.35 pipewire: upgrade 0.3.60 -> 0.3.61 iwd: upgrade 1.30 -> 2.0 libgdata: use gcr3 libgweather: update 4.0.0 -> 4.2.0 gnome-online-accounts: use gcr3 geary: build with gcr3 gnome-keyring: use gcr3 evolution-data-server: update 3.44.2 -> 3.46.1 gnome-settings-daemon: update 42.1 -> 43.0 libnma: update 1.8.38 -> 1.10.4 geocode-glib: build with libsoup-3.0 gjs: update 1.72.2 -> 1.75.1 gnome-shell: update 42.0 -> 43.1 mutter: update 42.0 -> 43.1 polkit: add recipe for v122 mozjs: update 98 -> 102 appstream-glib: update 0.7.18 -> 0.8.2 gthumb: build with libsoup-3 amtk: update 5.3.1 -> 5.6.1 gedit: update 42.2 -> 43.2 evolution-data-server: remove libgdata dependency tepl: update 6.0.0 -> 6.2.0 perfetto: pass TUNE_CCARGS to use machine tune gnome-photos: update dependencies thunar-archive-plugin: update 0.4.0 -> 0.5.0 libadwaita: remove deprecated sassc-native dependency gnome-shell: remove deprecated sassc-native dependency spice-gtk: add missing license information pipewire: update 0.3.61 -> 0.3.62 gdm: update 42.0 -> 43.0 gnome-session: update 42.0 -> 43-0 geoclue: update to latest commit to allow to build with libsoup-3.0 gvfs: fix polkit homedir editorconfig: add recipe tracker: update 3.4.1 -> 3.4.2 gvfs: fix dependencies gnome-calculator: update 42.2 -> 43.0.1 tracker-miners: update 3.4.1 -> 3.4.2 gnome-photos: add missing runtime dependency on tracker-miners gtksourceview5: update 5.4.2 -> 5.6.1 remmina: build with libsoup-3.0 ostree: replace libsoup-2.4 by curl gnome-text-editor: update 42.2 -> 43.1 gtk4: remove recipe libxmlb: allow to build native pipewire: update 0.3.62 -> 0.3.63 gnome-shell-extensions: update SRC_URI and remove sassc-native dep grilo: update 0.3.14 -> 0.3.15 libstemmer: move recipe to meta-oe xdg-desktop-portal: add recipe bubblewrap: import recipe from meta-security gnome-software: add recipe basu: import recipe from meta-wayland xdg-desktop-portal-wlr: add recipe appstream: add recipe flatpak: add recipe flatpak-xdg-utils: add recipe flatpak: add runtime dependency on flatpak-xdg-utils wireplumber: update 0.4.12 -> 0.4.13 wireplumber: build with dbus support by default xdg-desktop-portal-gnome: add recipe libcloudproviders: add recipe evince: update 42.3 -> 43.1 libportal: build libportal-gtk4 and vala support nautilus: update 42.2 -> 43.1 gnome-desktop: update 42.0 -> 43 file-roller: update 3.42.0 -> 43.0 wireplumber: dont start systemd system service by default gnome-bluetooth: update 42.4 -> 42.5 gnome-flashback: update 3.44.0 -> 3.46.0 libwnck3: update 40.1 -> 43.0 gnome-panel: update 3.44.0 -> 3.47.1 gnome-terminal: update 3.42.2 -> 3.46.7 dconf-editor: update 3.38.3 -> 43.0 gnome-shell: add missing RDEPENDS gnome-control-center: update 42.0 -> 43.2 gnome-shell: add runtime dependency on adwaita-icon-theme xdg-desktop-portal-gtk: add recipe thunar: add tumbler to RRECOMMENDS gnome:terminal add missing inherit meson gnome-disk-utility: update 42.0 -> 43.0 eog: add recipe libdecor: import recipe Martin Jansa (3): nss: fix SRC_URI geoclue: fix polkit files only with modem-gps PACKAGECONFIG layer.conf: update LAYERSERIES_COMPAT for mickledore Mathieu Dubois-Briand (2): nss: Add missing CVE product nss: Whitelist CVEs related to libnssdbm Matthias Klein (1): paho-mqtt-c: upgrade 1.3.11 -> 1.3.12 Max Krummenacher (1): opencv: follow changed name license_flags_accepted Mingli Yu (25): gnome-calculator: add opengl to REQUIRED_DISTRO_FEATURES waylandpp: add opengl to REQUIRED_DISTRO_FEATURES libnma: add opengl to REQUIRED_DISTRO_FEATURES network-manager-applet: add opengl to REQUIRED_DISTRO_FEATURES gssdp: check opengl is enabled or not gtksourceview5: add opengl to REQUIRED_DISTRO_FEATURES gnome-font-viewer: add opengl to REQUIRED_DISTRO_FEATURES libxfce4ui: check opengl DISTRO_FEATURES gnome-desktop: add opengl to REQUIRED_DISTRO_FEATURES ibus: add opengl related check nautilus: add opengl to REQUIRED_DISTRO_FEATURES gnome-bluetooth: add opengl to REQUIRED_DISTRO_FEATURES evince: add opengl to REQUIRED_DISTRO_FEATURES gnome-calendar: add opengl to REQUIRED_DISTRO_FEATURES xf86-video-amdgpu: add opengl to REQUIRED_DISTRO_FEATURES spice-gtk: add opengl to REQUIRED_DISTRO_FEATURES grail: add opengl to REQUIRED_DISTRO_FEATURES frame: add opengl to REQUIRED_DISTRO_FEATURES geis: add opengl to REQUIRED_DISTRO_FEATURES evolution-data-server: add opengl to REQUIRED_DISTRO_FEATURES libgweather4: add opengl to REQUIRED_DISTRO_FEATURES geary: add opengl to REQUIRED_DISTRO_FEATURES file-roller: add opengl to REQUIRED_DISTRO_FEATURES gnome-photos: add opengl to REQUIRED_DISTRO_FEATURES xdg-desktop-portal-wlr: add opengl to REQUIRED_DISTRO_FEATURES Naveen Saini (3): opencl-headers: add native and nativesdk tcsh: add native nativesdk BBCLASSEXTEND tbb: upgrade 2021.5.0 -> 2021.7.0 Omkar Patil (1): ntfs-3g-ntfsprogs: Upgrade 2022.5.17 to 2022.10.3 Ovidiu Panait (1): multipath-tools: upgrade 0.8.4 -> 0.9.3 Peter Bergin (1): sysbench: Upgrade 0.4.12 -> 1.0.20 Peter Kjellerstedt (4): chrony: Make it possible to enable editline support again chrony: Remove the libcap and nss PACKAGECONFIGs Revert "lldpd: Use github release assets for SRC_URI" lldpd: Correct the checksum for the tar ball to match 1.0.16 Preeti Sachan (1): fluidsynth: update SRC_URI to remove non-existing 2.2.x branch Roger Knecht (1): python3-rapidjson: add recipe Sakib Sajal (1): minio: fix license information Samuli Piippo (1): protobuf: stage protoc binary to sysroot Tim Orling (4): libio-pty-perl: upgrade 1.16 -> 1.17; enable ptest libmozilla-ca-perl: add recipe for 20221114 libio-socket-ssl-perl: upgrade 2.075 -> 2.076 libtest-warnings-perl: move to oe-core Tomasz Żyjewski (2): python3-binwalk: add recipe for version 2.3.3 python3-uefi-firmware: add recipe for version 1.9 Wang Mingyu (190): byacc: upgrade 20220128 -> 20221106 libforms: upgrade 1.2.4 -> 1.2.5pre1 libnftnl: upgrade 1.2.3 -> 1.2.4 mpich: upgrade 4.0.2 -> 4.0.3 python3-u-msgpack-python: upgrade 2.7.1 -> 2.7.2 python3-aiosignal: upgrade 1.2.0 -> 1.3.1 python3-eth-hash: upgrade 0.5.0 -> 0.5.1 python3-frozenlist: upgrade 1.3.1 -> 1.3.3 python3-google-auth: upgrade 2.14.0 -> 2.14.1 python3-greenlet: upgrade 2.0.0 -> 2.0.1 python3-imageio: upgrade 2.22.3 -> 2.22.4 python3-pycocotools: upgrade 2.0.5 -> 2.0.6 babl: upgrade 0.1.96 -> 0.1.98 ctags: upgrade 5.9.20221106.0 -> 5.9.20221113.0 gegl: upgrade 0.4.38 -> 0.4.40 freerdp: upgrade 2.8.1 -> 2.9.0 glibmm-2.68: upgrade 2.72.1 -> 2.74.0 googlebenchmark: upgrade 1.7.0 -> 1.7.1 gnome-backgrounds: upgrade 42.0 -> 43 nano: upgrade 6.4 -> 7.0 networkmanager-openvpn: upgrade 1.10.0 -> 1.10.2 python3-django: upgrade 4.1 -> 4.1.3 python3-flask-migrate: upgrade 3.1.0 -> 4.0.0 python3-eth-utils: upgrade 2.0.0 -> 2.1.0 python3-eventlet: upgrade 0.33.1 -> 0.33.2 python3-googleapis-common-protos: upgrade 1.56.4 -> 1.57.0 python3-google-api-python-client: upgrade 2.65.0 -> 2.66.0 python3-pymongo: upgrade 4.3.2 -> 4.3.3 lldpd: upgrade 1.0.15 -> 1.0.16 audit: upgrade 3.0.8 -> 3.0.9 ccid: upgrade 1.5.0 -> 1.5.1 colord: upgrade 1.4.5 -> 1.4.6 ctags: upgrade 5.9.20221113.0 -> 5.9.20221120.0 flatbuffers: upgrade 22.10.26 -> 22.11.23 libglvnd: upgrade 1.5.0 -> 1.6.0 gensio: upgrade 2.5.2 -> 2.6.1 mg: upgrade 20220614 -> 20221112 nbdkit: upgrade 1.33.2 -> 1.33.3 xfstests: upgrade 2022.10.30 -> 2022.11.06 pcsc-lite: upgrade 1.9.8 -> 1.9.9 python3-matplotlib-inline: upgrade 0.1.2 -> 0.1.6 python3-astroid: upgrade 2.12.12 -> 2.12.13 python3-asyncinotify: upgrade 2.0.5 -> 2.0.8 python3-charset-normalizer: upgrade 3.0.0 -> 3.0.1 python3-dateparser: upgrade 1.1.0 -> 1.1.4 python3-can: upgrade 4.0.0 -> 4.1.0 python3-flask-socketio: upgrade 5.3.1 -> 5.3.2 python3-ipython: upgrade 8.2.0 -> 8.6.0 python3-langtable: upgrade 0.0.60 -> 0.0.61 python3-jedi: upgrade 0.18.1 -> 0.18.2 python3-grpcio-tools: upgrade 1.50.0 -> 1.51.0 python3-grpcio: upgrade 1.50.0 -> 1.51.0 python3-networkx: upgrade 2.8.7 -> 2.8.8 python3-pyatspi: upgrade 2.38.2 -> 2.46.0 python3-pandas: upgrade 1.5.1 -> 1.5.2 python3-pybind11-json: upgrade 0.2.11 -> 0.2.13 python3-pychromecast: upgrade 12.1.4 -> 13.0.1 python3-pycodestyle: upgrade 2.9.1 -> 2.10.0 xterm: upgrade 373 -> 377 smarty: upgrade 4.2.1 -> 4.3.0 spdlog: upgrade 1.10.0 -> 1.11.0 python3-pyperf: upgrade 2.4.1 -> 2.5.0 python3-pyflakes: upgrade 2.5.0 -> 3.0.1 python3-pymisp: upgrade 2.4.157 -> 2.4.165.1 capnproto: upgrade 0.10.2 -> 0.10.3 libass: upgrade 0.16.0 -> 0.17.0 ctags: upgrade 5.9.20221120.0 -> 5.9.20221127.0 libio-socket-ssl-perl: upgrade 2.076 -> 2.077 python3-grpcio-tools: upgrade 1.51.0 -> 1.51.1 python3-asyncinotify: upgrade 2.0.8 -> 3.0.1 python3-grpcio: upgrade 1.51.0 -> 1.51.1 opensc: upgrade 0.22.0 -> 0.23.0 python3-ipython: upgrade 8.6.0 -> 8.7.0 ply: upgrade 2.2.0 -> 2.3.0 python3-apt: upgrade 2.3.0 -> 2.5.0 poppler: upgrade 22.11.0 -> 22.12.0 python3-asttokens: upgrade 2.1.0 -> 2.2.0 python3-cbor2: upgrade 5.4.3 -> 5.4.5 python3-geomet: upgrade 0.3.0 -> 1.0.0 python3-google-api-core: upgrade 2.10.2 -> 2.11.0 python3-google-api-python-client: upgrade 2.66.0 -> 2.68.0 python3-path: upgrade 16.5.0 -> 16.6.0 python3-google-auth: upgrade 2.14.1 -> 2.15.0 zabbix: upgrade 6.2.4 -> 6.2.5 xmlsec1: upgrade 1.2.36 -> 1.2.37 smcroute: upgrade 2.5.5 -> 2.5.6 python3-protobuf: upgrade 4.21.9 -> 4.21.10 python3-traitlets: upgrade 5.5.0 -> 5.6.0 python3-twine: upgrade 4.0.1 -> 4.0.2 python3-web3: upgrade 5.31.1 -> 5.31.2 python3-ujson: upgrade 5.5.0 -> 5.6.0 ctags: upgrade 5.9.20221127.0 -> 5.9.20221204.0 dnsmasq: upgrade 2.87 -> 2.88 flatbuffers: upgrade 22.11.23 -> 22.12.06 nbdkit: upgrade 1.33.3 -> 1.33.4 hwdata: upgrade 0.364 -> 0.365 evolution-data-server: update 3.46.1 -> 3.46.2 xfstests: upgrade 2022.11.06 -> 2022.11.27 python3-protobuf: upgrade 4.21.10 -> 4.21.11 python3-traitlets: upgrade 5.6.0 -> 5.7.0 python3-redis: upgrade 4.3.5 -> 4.4.0 python3-web3: upgrade 5.31.2 -> 5.31.3 python3-asttokens: upgrade 2.2.0 -> 2.2.1 python3-cbor2: upgrade 5.4.5 -> 5.4.6 python3-google-api-python-client: upgrade 2.68.0 -> 2.69.0 python3-gmpy2: upgrade 2.1.2 -> 2.1.3 python3-multidict: upgrade 6.0.2 -> 6.0.3 python3-watchdog: upgrade 2.1.9 -> 2.2.0 python3-pychromecast: upgrade 13.0.1 -> 13.0.2 python3-pymisp: upgrade 2.4.165.1 -> 2.4.166 python3-pytest-xdist: upgrade 3.0.2 -> 3.1.0 python3-yarl: upgrade 1.8.1 -> 1.8.2 zabbix: upgrade 6.2.5 -> 6.2.6 python3-yamlloader: upgrade 1.1.0 -> 1.2.2 tio: upgrade 2.3 -> 2.4 ctags: upgrade 5.9.20221204.0 -> 6.0.20221218.0 dash: upgrade 0.5.11.5 -> 0.5.12 nanopb: upgrade 0.4.6.4 -> 0.4.7 libio-socket-ssl-perl: upgrade 2.077 -> 2.078 libfile-slurper-perl: upgrade 0.013 -> 0.014 protobuf: upgrade 3.21.10 -> 3.21.12 python3-alembic: upgrade 1.8.1 -> 1.9.0 nano: upgrade 7.0 -> 7.1 python3-gmpy2: upgrade 2.1.3 -> 2.1.5 python3-eth-account: upgrade 0.7.0 -> 0.8.0 python3-google-api-python-client: upgrade 2.69.0 -> 2.70.0 python3-protobuf: upgrade 4.21.11 -> 4.21.12 python3-pycares: upgrade 4.2.2 -> 4.3.0 python3-pycurl: upgrade 7.45.1 -> 7.45.2 python3-pychromecast: upgrade 13.0.2 -> 13.0.4 python3-pyproj: upgrade 3.4.0 -> 3.4.1 python3-pydicti: upgrade 1.1.6 -> 1.2.0 python3-sentry-sdk: upgrade 1.11.1 -> 1.12.0 python3-traitlets: upgrade 5.7.0 -> 5.7.1 tio: upgrade 2.4 -> 2.5 python3-sqlalchemy: upgrade 1.4.44 -> 1.4.45 xfsdump: upgrade 3.1.11 -> 3.1.12 python3-isort: upgrade 5.10.1 -> 5.11.3 xfstests: upgrade 2022.11.27 -> 2022.12.11 ctags: upgrade 6.0.20221218.0 -> 6.0.20221225.0 gst-editing-services: upgrade 1.20.4 -> 1.20.5 logcheck: upgrade 1.3.24 -> 1.4.0 memtester: upgrade 4.5.1 -> 4.6.0 libmime-types-perl: upgrade 2.22 -> 2.23 metacity: upgrade 3.46.0 -> 3.46.1 python3-alembic: upgrade 1.9.0 -> 1.9.1 xfstests: upgrade 2022.12.11 -> 2022.12.18 python3-cytoolz: upgrade 0.12.0 -> 0.12.1 python3-asgiref: upgrade 3.5.2 -> 3.6.0 python3-autobahn: upgrade 22.7.1 -> 22.12.1 python3-coverage: upgrade 6.5.0 -> 7.0.1 python3-bitarray: upgrade 2.6.0 -> 2.6.1 python3-imageio: upgrade 2.22.4 -> 2.23.0 python3-isort: upgrade 5.11.3 -> 5.11.4 python3-multidict: upgrade 6.0.3 -> 6.0.4 python3-traitlets: upgrade 5.7.1 -> 5.8.0 python3-pymisp: upgrade 2.4.166 -> 2.4.167 python3-sentry-sdk: upgrade 1.12.0 -> 1.12.1 python3-supervisor: upgrade 4.2.4 -> 4.2.5 wolfssl: upgrade 5.5.3 -> 5.5.4 remmina: upgrade 1.4.28 -> 1.4.29 ser2net: upgrade 4.3.10 -> 4.3.11 tesseract: upgrade 5.2.0 -> 5.3.0 network-manager-applet: upgrade 1.26.0 -> 1.30.0 byacc: upgrade 20221106 -> 20221229 ctags: upgrade 6.0.20221225.0 -> 6.0.20230101.0 flashrom: upgrade 1.2 -> 1.2.1 fontforge: upgrade 20220308 -> 20230101 hunspell: upgrade 1.7.1 -> 1.7.2 libmime-types-perl: upgrade 2.23 -> 2.24 libnet-dns-perl: upgrade 1.35 -> 1.36 tepl: upgrade 6.2.0 -> 6.4.0 tcpdump: upgrade 4.99.1 -> 4.99.2 traceroute: upgrade 2.1.0 -> 2.1.1 openwsman: upgrade 2.7.1 -> 2.7.2 pcsc-tools: upgrade 1.6.0 -> 1.6.1 poppler: upgrade 22.12.0 -> 23.01.0 rsnapshot: upgrade 1.4.4 -> 1.4.5 tree: upgrade 2.0.4 -> 2.1.0 python3-bidict: upgrade 0.22.0 -> 0.22.1 python3-bitarray: upgrade 2.6.1 -> 2.6.2 python3-dateparser: upgrade 1.1.4 -> 1.1.5 python3-lz4: upgrade 4.0.2 -> 4.3.2 python3-mock: upgrade 4.0.3 -> 5.0.0 python3-pillow: upgrade 9.3.0 -> 9.4.0 python3-pydantic: upgrade 1.10.2 -> 1.10.4 python3-pyephem: upgrade 4.1.3 -> 4.1.4 python3-xlsxwriter: upgrade 3.0.3 -> 3.0.5 python3-xxhash: upgrade 3.1.0 -> 3.2.0 dnf-plugins/rpm.py: Fix grammar when RPM_PREFER_ELF_ARCH doesn't exit. Xiangyu Chen (1): lldpd: add ptest for lldpd package Yi Zhao (13): libpwquality: set correct pam plugin directory ostree: add runtime dependency bubblewrap for PACKAGECONFIG[selinux] ostree: fix selinux policy rebuild error on first deployment frr: upgrade 8.3.1 -> 8.4.1 open-vm-tools: upgrade 12.1.0 -> 12.1.5 libtdb: upgrade 1.4.3 -> 1.4.7 libldb: upgrade 2.3.4 -> 2.6.1 libtalloc: upgrade 2.3.3 -> 2.3.4 libtevent: upgrade 0.10.2 -> 0.13.0 samba upgrade 4.14.14 -> 4.17.4 krb5: upgrade 1.17.2 -> 1.20.1 grubby: update to latest git rev grubby: drop version 8.40 Zheng Qiu (1): python3-inotify: add ptest persianpros (1): samba: Remove samba related PYTHONHASHSEED patches and use export function zhengrq.fnst@fujitsu.com (15): python3-pymodbus: upgrade 3.0.0 -> 3.0.2 python3-pywbemtools: upgrade 1.0.1 -> 1.1.0 python3-stevedore: upgrade 4.1.0 -> 4.1.1 ser2net: upgrade 4.3.9 -> 4.3.10 yelp-tools: upgrade 42.0 -> 42.1 python3-python-vlc: upgrade 3.0.16120 -> 3.0.18121 python3-sqlalchemy: upgrade 1.4.43 -> 1.4.44 python3-zopeinterface: upgrade 5.5.1 -> 5.5.2 python3-simplejson: upgrade 3.17.6 -> 3.18.0 python3-pywbemtools: upgrade 1.0.1 -> 1.1.1 python3-redis: upgrade 4.3.4 -> 4.3.5 python3-texttable: upgrade 1.6.4 -> 1.6.7 python3-sentry-sdk: upgrade 1.9.10 -> 1.11.1 python3-twitter: upgrade 4.10.1 -> 4.12.1 python3-termcolor: upgrade 2.1.0 -> 2.1.1 meta-security: 2aa48e6f4e..f991b20f56: Alex Kiernan (1): bubblewrap: Update 0.6.2 -> 0.7.0 Armin Kuster (2): python3-privacyidea: update to 2.7.4 chipsec: update to 1.9.1 Michael Haener (1): tpm2-tools: update to 5.3 meta-arm: d5f132b199..5c42f084f7: Adam Johnston (1): arm/trusted-services: Fix 'no such file' when building libts Adrian Herrera (2): atp: decouple m5readfile from m5ops atp: move m5readfile to meta-gem5 Adrián Herrera Arcila (5): atp: fix failing test_readme gem5: support for EXTRAS atp: separate recipe for gem5 models atp: fix machine overrides in recipes ci: add meta-atp to check-layers David Bagonyi (1): meta-arm-toolchain: Drop calls to datastore finalize Diego Sueiro (2): arm/classes: Introduce apply_local_src_patches bbclass arm/trusted-firmware-m: Fix local source patches application Emekcan (1): arm/fvp: Upgrade Corstone1000 FVP Emekcan Aras (6): arm-bsp/documentation: corstone1000: update the user guide arm/optee: Move optee-3.18 patches arm/optee: support optee 3.19 arm-bsp/optee-os: Adds 3.19 bbappend arm-bsp/optee-os: N1SDP support for optee-os 3.19 arm/qemuarm-secureboot: pin optee-os version Jon Mason (5): arm-bsp/trusted-services: rename bbappends with git version arm/trusted-services: limit the ts compatible machines arm-bsp/trusted-services: add n1sdp support arm/trusted-firmware-m: update to 1.6.1 CI: define DEFAULT_TAG and CPU_REQUEST Khem Raj (1): gn: Replace lfs64 functions with original counterparts Mohamed Omar Asaker (5): arm-bsp/trusted-services: corstone1000: Use the stateless platform service calls arm-bsp/trusted-firmware-m: Bump TFM to v1.7 arm-bsp/trusted-firmware-m: corstone1000: TFM 1.7 arm-bsp/musca_b1: Edit the platform name arm-bsp/trusted-firmware-m: Remove TF-M 1.6 recipe Peter Hoyes (3): arm/fvp: Backport shlex.join from Python 3.8 arm/fvpboot: Disable timing annotation by default arm/classes: Ensure patch files are sorted in apply_local_src_patches Robbie Cao (1): arm/fvp-base-r-aem: upgrade to version 11.20.15 Ross Burton (17): CI: revert a meta-clang change which breaks pixman (thus, xserver) CI: add variables needed for k8s runners CI: add tags to all jobs CI: no need to install telnet CI: fix builds with clang CI: use the .setup fragment in machine-coverage arm/fvp-base-a-aem: upgrade to 11.20.15 arm-bsp/edk2-firmware: allow clang builds on juno ci/get-binary-toolchains: rewrite, slightly arm-bsp/documentation: update fvp-base documentation to use runfvp CI: use qemuarm64 for pending-updates report job meta-atp: remove meta-gem5: remove arm/fvp-envelope: name the FVP tarballs for checksums arm/fvp-envelope: update HOMEPAGE arm/fvp-base-a-aem: add support for aarch64 binaries CI: don't pin fvp-base jobs to x86-64 poky: 44bb88cc86..0ce159991d: Alejandro Hernandez Samaniego (6): baremetal-image: Avoid overriding qemu variables from IMAGE_CLASSES rust: Enable building rust from stable, beta and nightly channels rust: Enable baremetal targets baremetal-helloworld: Enable x86 and x86-64 ports baremetal-helloworld: Move from skeleton to recipes-extended matching what rust-hello-world is doing oe-selftest: Add baremetal toolchain test Alex Kiernan (20): rust: Install target.json for target rustc rust: update 1.65.0 -> 1.66.0 oeqa/runtime/rust: Add basic compile/run test libstd-rs: Merge .inc into .bb libstd-rs: Move source directory to library/test rust-llvm: Merge .inc into .bb rust-llvm: Update LLVM_VERSION to match embedded version packagegroup-rust-sdk-target: Add Rust SDK target packagegroup packagegroup-core-sdk: Add SDK toolchain language selection support rust: Merge .inc into .bb rust: Move musl-x86 fix for `__stack_chk_fail_local` to rust-source cargo: Merge .inc into .bb cargo: Extend DEBUG_PREFIX_MAP to cover vendor cargo: Include crossbeam-utils patch cargo: Drop exclude from world packagegroup-rust-sdk-target: Add cargo oeqa/runtime/rust: Add cargo test classes: image: Set empty weak default IMAGE_LINGUAS default-distrovars: Include "c" in IMAGE_LINGUAS for glibc rust: Merge all rustc-source patches into rust-source.inc Alex Stewart (2): lsof: add update-alternatives logic opkg: upgrade to version 0.6.1 Alexander Kanavin (155): elfutils: update 0.187 -> 0.188 rsync: update 3.2.5 -> 3.2.7 swig: update 4.0.2 -> 4.1.0 tcl: update 8.6.11 -> 8.6.12 quota: update 4.06 -> 4.09 shadow: update 4.12.3 -> 4.13 texinfo: update 6.8 -> 7.0 libhandy: update 1.6.3 -> 1.8.0 xf86-input-mouse: update 1.9.3 -> 1.9.4 flac: update 1.4.0 -> 1.4.2 icu: update 71.1 -> 72-1 libgpg-error: update 1.45 -> 1.46 popt: update 1.18 -> 1.19 vte: update 0.68.0 -> 0.70.1 webkitgtk: update 2.36.7 -> 2.38.2 man-db: update 2.10.2 -> 2.11.1 gawk: update 5.1.1 -> 5.2.1 unfs: update 0.9.22 -> 0.10.0 qemu-helper: depend on unfs3 and pseudo directly runqemu: do not hardcode the ip address of the nfs server when using tap selftest/runqemu: reenable the nfs rootfs test glibc-tests: correctly pull in the actual tests when installing -ptest package python3: fix tests on x86 (32 bit) ptest-packagelists.inc: do not run valgrind ptests on 32 bit x86 python3: use the standard shell version of python3-config python3targetconfig.bbclass: use PYTHONPATH to point to the target config bitbake: fetch2/wget.py: correctly match versioned directories devtool/upgrade: correctly handle recipes where S is a subdir of upstream tree python3-numpy: fix upstream version check python3-poetry-core: update 1.3.2 -> 1.4.0 tcl: update 8.6.12 -> 8.6.13 libnewt: update 0.52.21 -> 0.52.23 libxdmcp: update 1.1.3 -> 1.1.4 libxpm: update 3.5.13 -> 3.5.14 libxrandr: update 1.5.2 -> 1.5.3 bluez: update 5.65 -> 5.66 libxcrypt: update PV to match SRCREV python3-dbusmock: update 0.28.4 -> 0.28.6 ruby: merge .inc into .bb ruby: update 3.1.2 -> 3.1.3 ghostscript: update 9.56.1 -> 10.0.0 tzdata: update 2022d -> 2022g systemtap: upgrade 4.7 -> 4.8 gnupg: upgrade 2.3.7 -> 2.3.8 ptest-packagelists.inc: correctly assign fast and slow tests ovmf: update edk2-stable202208 -> edk2-stable202211 llvm: update 15.0.4 -> 15.0.6 tcmode-default.inc: set LLVMVERSION to a major version wildcard cmake: update 3.24.2 -> 3.25.1 python3-native: further tweak to sysconfig.py to find python includes correctly libslirp: add recipe to continue slirp support in qemu qemu: update 7.1.0 -> 7.2.0 systemd: update 251.8 -> 252.4 dpkg: update 1.21.9 -> 1.21.13 python3-installer: update 0.5.1 -> 0.6.0 python3: update 3.11.0 -> 3.11.1 weston: update 11.0.0 -> 11.0.1 xhost: update 1.0.8 -> 1.0.9 xinit: update 1.4.1 -> 1.4.2 xkbcomp: update 1.4.5 -> 1.4.6 xprop: update 1.2.5 -> 1.2.6 xset: update 1.2.4 -> 1.2.5 xvinfo: update 1.1.4 -> 1.1.5 xf86-video-vesa: update 2.5.0 -> 2.6.0 libice: update 1.0.10 -> 1.1.1 libxcomposite: update 0.4.5 -> 0.4.6 libxdamage: update 1.1.5 -> 1.1.6 libxres: update 1.2.1 -> 1.2.2 libxscrnsaver: update 1.2.3 -> 1.2.4 libxv: update 1.0.11 -> 1.0.12 jquery: upgrade 3.6.1 -> 3.6.2 libmodule-build-perl: update 0.4231 -> 0.4232 python3-chardet: upgrade 5.0.0 -> 5.1.0 libarchive: upgrade 3.6.1 -> 3.6.2 stress-ng: upgrade 0.15.00 -> 0.15.01 vulkan: upgrade 1.3.231.1 -> 1.3.236.0 Revert "python3-native: further tweak to sysconfig.py to find python includes correctly" conf/machine/include: add x86-64-v3 tunes (AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE) go: update 1.19.3 -> 1.19.4 vulkan-samples: update to latest revision boost-build-native: update 1.80.0 -> 1.81.0 qemu: disable sporadically failing test-io-channel-command devtool: process local files only for the main branch libportal: add from meta-openembedded/meta-gnome libportal: convert from gtk-doc to gi-docgen epiphany: update 42.4 -> 43.0 qemux86-64: build for x86-64-v3 (2013 Haswell and later) rather than Core 2 from 2006 valgrind: disable tests that started failing after switching to x86-64-v3 target glib-2.0: upgrade 2.74.3 -> 2.74.4 jquery: upgrade 3.6.2 -> 3.6.3 nasm: update 2.15.05 -> 2.16.01 ffmpeg: use nasm patched-in debug-prefix-map option to restore reproducibility gtk+3: update 3.24.35 -> 3.24.36 libva-utils: update 2.16.0 -> 2.17.0 xcb-util: update 0.4.0 -> 0.4.1 gnupg: update 2.3.8 -> 2.4.0 libksba: update 1.6.2 -> 1.6.3 python3-pycryptodomex: upgrade 3.15.0 -> 3.16.0 piglit: upgrade to latest revision python3-setuptools-scm: upgrade 7.0.5 -> 7.1.0 python3-attrs: upgrade 22.1.0 -> 22.2.0 webkitgtk: upgrade 2.38.2 -> 2.38.3 linux-firmware: upgrade 20221109 -> 20221214 harfbuzz: upgrade 5.3.1 -> 6.0.0 python3-pytz: upgrade 2022.6 -> 2022.7 strace: upgrade 6.0 -> 6.1 python3-pycryptodome: upgrade 3.15.0 -> 3.16.0 meson: upgrade 0.64.0 -> 1.0.0 xwayland: upgrade 22.1.5 -> 22.1.7 python3-pyrsistent: upgrade 0.19.2 -> 0.19.3 file: upgrade 5.43 -> 5.44 python3-subunit: upgrade 1.4.1 -> 1.4.2 python3-zipp: upgrade 3.10.0 -> 3.11.0 python3-cryptography: upgrade 38.0.3 -> 38.0.4 logrotate: upgrade 3.20.1 -> 3.21.0 python3-importlib-metadata: upgrade 5.0.0 -> 5.2.0 python3-numpy: upgrade 1.23.4 -> 1.24.1 xserver-xorg: upgrade 21.1.4 -> 21.1.6 puzzles: upgrade to latest revision vte: upgrade 0.70.1 -> 0.70.2 libpsl: upgrade 0.21.1 -> 0.21.2 libtest-fatal-perl: upgrade 0.016 -> 0.017 python3-urllib3: upgrade 1.26.12 -> 1.26.13 python3-cryptography-vectors: upgrade 38.0.3 -> 38.0.4 python3-setuptools: upgrade 65.5.1 -> 65.6.3 libsdl2: upgrade 2.26.0 -> 2.26.1 python3-gitdb: upgrade 4.0.9 -> 4.0.10 diffoscope: upgrade 224 -> 230 python3-mako: upgrade 1.2.3 -> 1.2.4 python3-sphinx: upgrade 5.3.0 -> 6.0.0 libsolv: upgrade 0.7.22 -> 0.7.23 ruby: upgrade 3.1.3 -> 3.2.0 python3-lxml: upgrade 4.9.1 -> 4.9.2 python3-git: upgrade 3.1.29 -> 3.1.30 curl: upgrade 7.86.0 -> 7.87.0 kmscube: upgrade to latest revision gobject-introspection: upgrade 1.72.0 -> 1.74.0 python3-dtschema: upgrade 2022.11 -> 2022.12 bash: upgrade 5.2.9 -> 5.2.15 kexec-tools: upgrade 2.0.25 -> 2.0.26 python3-jsonschema: upgrade 4.17.0 -> 4.17.3 python3-pycairo: upgrade 1.21.0 -> 1.23.0 nghttp2: upgrade 1.50.0 -> 1.51.0 python3-certifi: upgrade 2022.9.24 -> 2022.12.7 python3-hypothesis: upgrade 6.57.1 -> 6.61.0 libsndfile1: upgrade 1.1.0 -> 1.2.0 repo: upgrade 2.29.9 -> 2.31 libpcap: upgrade 1.10.1 -> 1.10.2 python3-jsonschema: depend on rfc3339-validator in all cases python3-strict-rfc3339: remove the recipe elfutils: do not error out on deprecated declarations gcr3: limit version check to 3.x versions without odd-even rule ncurses: restore version check as it's now again working due to release of 6.4 tiff: update 4.4.0 -> 4.5.0 qemu: fix recent reproducibility issues Alexey Smirnov (1): classes: make TOOLCHAIN more permissive for kernel Anton Antonov (1): rust: Do not use default compiler flags defined in CC crate Antonin Godard (2): busybox: always start do_compile with orig config files busybox: rm temporary files if do_compile was interrupted Atanas Bunchev (1): qemu.rst: slirp port forwarding details Bruce Ashfield (30): linux-yocto-dev: bump to v6.0+ linux-yocto/5.19: update to v5.19.16 linux-yocto/5.15: update to v5.15.74 linux-yocto/5.19: update to v5.19.17 linux-yocto/5.15: update to v5.15.76 linux-yocto/5.19: cfg: intel and vesa updates kern-tools: integrate ZFS speedup patch linux-yocto-dev: bump to v6.1 kernel-devsrc: fix for v6.1+ lttng-modules: fix build for v6.1+ linux-yocto/5.19: security.cfg: remove configs which have been dropped linux-yocto/5.15: update to v5.15.78 linux-yocto/5.19: fix CONFIG_CRYPTO_CCM mismatch warnings linux-yocto/5.15: fix CONFIG_CRYPTO_CCM mismatch warnings linux-yocto/5.19: fix elfutils run-backtrace-native-core ptest failure linux-libc-headers: add 6.x fetch location linux-libc-headers: bump to 6.1 linux-yocto/5.19: fix perf build with clang linux-yocto/5.15: ltp and squashfs fixes linux-yocto: introduce v6.1 reference kernel recipes linux-yocto/5.15: fix perf build with clang linux-yocto/5.15: libbpf: Fix build warning on ref_ctr_off linux-yocto/5.15: update to v5.15.84 linux-yocto/6.1: update to v6.1.1 linux-yocto/5.15: powerpc: Fix reschedule bug in KUAP-unlocked user copy linux-yocto/5.19: powerpc: Fix reschedule bug in KUAP-unlocked user copy linux-yocto/6.1: update to v6.1.3 linux-yocto/6.1: cfg: remove CONFIG_ARM_CRYPTO yocto-bsps/5.15: update to v5.15.78 linux-yocto/5.15: update to v5.15.80 Carlos Alberto Lopez Perez (3): xwayland: libxshmfence is needed when dri3 is enabled recipes: Enable nativesdk for gperf, unifdef, gi-docgen and its dependencies mesa-gl: gallium is required when enabling x11 Changqing Li (2): base.bbclass: Fix way to check ccache path sqlite3: upgrade 3.40.0 -> 3.40.1 Charlie Johnston (1): opkg: ensure opkg uses private gpg.conf when applying keys. Chee Yang Lee (1): migration-guides: add release-notes for 4.1.1 Chen Qi (10): kernel.bbclass: make KERNEL_DEBUG_TIMESTAMPS work at rebuild resolvconf: make it work dhcpcd: fix to work with systemd bitbake: command.py: cleanup bb.cache.parse_recipe psplash: consider the situation of psplash not exist for systemd bc: extend to nativesdk rm_work: adjust dependency to make do_rm_work_all depend on do_rm_work selftest: allow '-R' and '-r' be used together dhcpcd: backport two patches to fix runtime error libseccomp: fix typo in DESCRIPTION Christian Eggers (1): boost: add url lib David Bagonyi (1): u-boot: Fix u-boot signing when building with multiple u-boot configs Dmitry Baryshkov (2): linux-firmware: upgrade 20221012 -> 20221109 linux-firmware: add new fw file to ${PN}-qcom-adreno-a530 Enguerrand de Ribaucourt (1): bitbake-layers: fix a typo Enrico Jörns (1): sstatesig: emit more helpful error message when not finding sstate manifest Enrico Scholz (1): sstate: show progress bar again Fabre Sébastien (1): u-boot: Add /boot in SYSROOT_DIRS Frank de Brabander (4): bitbake: README: Improve explanation about running the testsuite bitbake: bin/utils: Ensure locale en_US.UTF-8 is available on the system bitbake: process: log odd unlink events with bitbake.sock bitbake: README: add required python version for bitbake Harald Seiler (1): opkg: Set correct info_dir and status_file in opkg.conf Jagadeesh Krishnanjanappa (1): qemuboot.bbclass: make sure runqemu boots bundled initramfs kernel image Jan Kircher (1): toolchain-scripts: compatibility with unbound variable protection Javier Tia (1): poky.conf: Add Fedora 36 as supported distro Joe Slater (2): python3: Fix CVE-2022-37460 libarchive: fix CVE-2022-36227 Jose Quaresma (2): Revert "gstreamer1.0: disable flaky gstbin:test_watch_for_state_change test" gstreamer1.0: Fix race conditions in gstbin tests Joshua Watt (4): qemu-helper-native: Correctly pass program name as argv[0] bitbake: cooker: Use event to terminate parser threads bitbake: cooker: Start sync thread a little earlier bitbake: bitbake: Convert to argparse Kai Kang (4): xorg-lib-common.inc: set default value of XORG_EXT libx11-compose-data: 1.6.8 -> 1.8.3 libx11: 1.8.1 -> 1.8.3 libsm: 1.2.3 > 1.2.4 Kasper Revsbech (1): bitbake: fetch2/wget: handle username/password in uri Khem Raj (47): rsync: Delete pedantic errors re-ordering patch pseudo: Disable LFS on 32bit arches libxkbcommon: Extend to build native package iso-codes: Extend to build native packages xkeyboard-config: Extend to build native package bluez5: enable position independent executables flag rpcsvc-proto: Use autoconf knob to enable largefile support gptfdisk: Enable largefile support functions libpcre2: Upgrade to 10.42 erofs-utils: Convert from off64_t to off_t pseudo: Remove 64bit time_t flags unfs3: Define off64_t in terms of off_t on musl acpid: Fix largefile enabled build efivar: Replace off64_t with off_t ltp: Fix largefile support acl: Enable largefile support by default libpciaccess: Do not use 64bit functions for largefile support mdadm: Use _FILE_OFFSET_BITS to use largefile support btrfs-tools: Do not use 64bit functions for largefile support e2fsprogs: Do not use 64bit functions for largefile support libbsd: Fix build with largefile support gpgme: Fix with with largefile support virglrenderer: Replace lseek64 with lseek nfs-utils: Replace statfs64 with statfs alsa-utils: Replace off64_t with off_t lttng-tools: Fix build with largefile support strace: Add knob to enable largefile support numactl: Enable largefile support qemu: Fix build with largefile support systemd: Fix 252 release build on musl rust: Do not use open64 on musl in getrandom crate rust,libstd-rs: Fix build with latest musl rust-llvm: Fix build on latest musl cargo: Do not use open64 on musl anymore llvm: Do not use lseek64 strace: Replace off64_t with off_t in sync_file_range.c test vulkan-samples: Do not use LFS64 APIs in spdlog pulseaudio: Do not use 64bit time_t flags musl: Update to latest on tip of trunk rust: Fix build with 64bit time_t stress-ng: Do not enforce gold linker time64.inc: Add GLIBC_64BIT_TIME_FLAGS on ppc/x86 as well time64: Remove leading whitespace from GLIBC_64BIT_TIME_FLAGS mpg123: Enable largefile support site/powerpc32-linux: Do not cache statvfs64 across glibc and musl tiff: Add packageconfig knob for webp site/common-musl: Set ac_cv_sys_file_offset_bits default to 64 Lee Chee Yang (1): migration-guides: add release-notes for 4.0.6 Luca Boccassi (2): systemd: refresh patch to remove fuzz introduced by rebase on v252 systemd: ship pcrphase/measure tools and units in systemd-extra-utils Luis (1): rm_work.bbclass: use HOSTTOOLS 'rm' binary exclusively Marek Vasut (5): bitbake: fetch2/git: Prevent git fetcher from fetching gitlab repository metadata package_rpm: Fix Linux 6.1.0 perf 1.0 version mistranslation systemd: Make importd depend on glib-2.0 again bitbake: bitbake-user-manual: Document override :append, :prepend, :remove order bitbake: fetch2/git: Clarify the meaning of namespace Markus Volk (12): ell: upgrade 0.53 -> 0.54 libsdl2: update 2.24.2 -> 2.26.0 graphene: import from meta-oe gtk4: import recipe from meta-gnome gcr: rename gcr -> gcr3 gcr: add recipe for gcr-4, needed to build with gtk4 epiphany: use gcr3 gtk4: add tracker-miners runtime dependency python3-dbusmock: allow to build native gtk4: update 4.8.2 -> 4.8.3 gcr3: update 3.40.0 -> 3.41.1 librsvg: enable vapi build Marta Rybczynska (2): efibootmgr: update compilation with musl cve-update-db-native: avoid incomplete updates Martin Jansa (4): libxml2: upgrade test data from 20080827 to 20130923 nativesdk-rpm: export RPM_ETCCONFIGDIR and MAGIC in environment like RPM_CONFIGDIR nativesdk-rpm: don't create wrappers for WRAPPER_TOOLS tune-x86-64-v3.inc: set QEMU_EXTRAOPTIONS like other tune-* files Mathieu Dubois-Briand (1): dbus: Add missing CVE product name Michael Halstead (1): uninative: Upgrade to 3.8.1 to include libgcc Michael Opdenacker (34): manuals: add missing references to classes manuals: fix paragraphs with the "inherit" word ref-manual/classes.rst: remove reference to sip.bbclass manuals: simplify .gitignore files manuals: split dev-manual/common-tasks.rst dev-manual/sbom.rst: minor corrections bitbake: bitbake-user-manual: update references to Yocto Project manual bitbake.conf: remove SERIAL_CONSOLE variable bitbake: bitbake-user-manual: add reference to bitbake git repository ref-manual: add references to variables only documented in the BitBake manual manuals: add reference to yocto-docs git repository to page footer manuals: add missing references to variables manuals: add missing SPDX license header to source files manuals: fix double colons ref-manual/resources.rst: fix formating ref-manual: update references to release notes manual: improve documentation about using external toolchains ref-manual/images.rst: fix unnumbered list manuals: define proper numbered lists manuals: final removal of SERIAL_CONSOLE variable ref-manual/resources.rst: improve description of mailing lists ref-manual/system-requirements.rst: update buildtools instructions manuals: create references to buildtools documentation/poky.yaml.in: update minimum python version to 3.8 manuals: prepare 4.2 migration notes bitbake: bitbake-user-manual: double colon fix bitbake: bitbake-user-manual: remove "OEBasic" signature generator migration-guides: fix 4.2 migration note issues toaster-manual: fix description of introduction video ref-manual/classes.rst: remove .bbclass from section titles manuals: simplify references to classes migration-1.6.rst: fix redundant reference ref-manual/system-requirements.rst: recommend buildtools for not supported distros .gitignore: ignore files generated by Toaster Mikko Rapeli (5): qemurunner.py: support setting slirp host IP address runqemu: limit slirp host port forwarding to localhost 127.0.0.1 qemurunner.py: use IP address from command line dev-manual/runtime-testing.rst: fix oeqa runtime test path runqemu: add QB_SETUP_CMD and QB_CLEANUP_CMD Mingli Yu (8): tcl: correct the header location in tcl.pc python3: make tkinter available when enabled sudo: add selinux and audit PACKAGECONFIG iproute2: add selinux PACKAGECONFIG util-linux: add selinux PACKAGECONFIG cronie: add selinux PACKAGECONFIG psmisc: add selinux PACKAGECONFIG gcr: add opengl to REQUIRED_DISTRO_FEATURES Narpat Mali (2): ffmpeg: fix for CVE-2022-3964 ffmpeg: fix for CVE-2022-3965 Ola x Nilsson (4): kbd: Don't build tests glibc: Add ppoll fortify symbol for 64 bit time_t insane: Add QA check for 32 bit time and file offset functions time64.conf: Include to enable 64 bit time flags Ovidiu Panait (1): kernel.bbclass: remove empty module directories to prevent QA issues Patrick Williams (1): kernel-fitimage: reduce dependency to the cpio Pavel Zhukov (1): oeqa/rpm.py: Increase timeout and add debug output Peter Kjellerstedt (1): recipes, classes: Avoid adding extra whitespace to PACKAGESPLITFUNCS Peter Marko (2): externalsrc: fix lookup for .gitmodules oeqa/selftest/externalsrc: add test for srctree_hash_files Petr Kubizňák (1): harfbuzz: remove bindir only if it exists Petr Vorel (1): iputils: update to 20221126 Polampalli, Archana (1): libpam: fix CVE-2022-28321 Qiu, Zheng (3): valgrind: remove most hidden tests for arm64 tiff: Security fix for CVE-2022-3970 vim: upgrade 9.0.0820 -> 9.0.0947 Quentin Schulz (4): cairo: update patch for CVE-2019-6461 with upstream solution cairo: fix CVE patches assigned wrong CVE number docs: kernel-dev: faq: update tip on how to not include kernel in image docs: migration-guides: migration-4.0: specify variable name change for kernel inclusion in image recipe Randy MacLeod (1): valgrind: skip the boost_thread test on arm Ranjitsinh Rathod (1): curl: Correct LICENSE from MIT-open-group to curl Ravula Adhitya Siddartha (2): linux-yocto/5.15: update genericx86* machines to v5.15.78 linux-yocto/5.19: update genericx86* machines to v5.19.17 Richard Purdie (97): bitbake: cache/cookerdata: Move recipe parsing functions from cache to databuilder bitbake: cache: Drop broken/unused code bitbake: cache: Drop unused function bitbake: server: Ensure cooker profiling works bitbake: worker/runqueue: Reduce initial data transfer in workerdata bitbake: cache: Drop support for not saving the cache file bitbake: runqueue: Add further debug for sstate reuse issues bitbake: runqueue: Fix race issues around hash equivalence and sstate reuse bitbake: data/siggen: Switch to use frozensets and optimize bitbake: data_smart: Add debugging for overrides stability issue bitbake: utils: Allow to_boolean to support int values base: Drop do_package base definition bitbake: data: Drop obsolete pydoc/path code bitbake: BBHandler: Remove pointless global variable declarations bitbake: runqueue: Improve error message for missing multiconfig bitbake: data_smart: Small cache reuse optimization bitbake.conf: Simplify CACHE setting oeqa/selftest/tinfoil: Add test for separate config_data with recipe_parse_file() qemu: Ensure libpng dependency is deterministic bitbake: data: Tweak code layout bitbake: cache/siggen: Simplify passing basehash data into the cache bitbake: siggen/cache: Optionally allow adding siggen hash data to the bitbake cache bitbake: parse: Add support for addpylib conf file directive and BB_GLOBAL_PYMODULES bitbake: cookerdata: Ensure layers use LAYERSERIES_COMPAT fairly base: Switch to use addpylib directive and BB_GLOBAL_PYMODULES devtool/friends: Use LAYERSERIES_CORENAMES when generating LAYERSERIES_COMPAT entries scripts/checklayer: Update to match bitbake changes yocto-check-layer: Allow OE-Core to be tested bitbake: main: Add timestamp to server retry messages bitbake: main/server: Add lockfile debugging upon server retry poky/poky-tiny: Drop largefile mentions lib/sstatesig: Drop OEBasic siggen bitbake: siggen: Drop non-multiconfig aware siggen support bitbake: build/siggen/runqueue: Drop do_setscene references bitbake: bitbake: Bump minimum python version requirement to 3.8 sanity: Update minimum python version to 3.8 bitbake: main/process: Add extra sockname debugging Revert "kernel-fitimage: reduce dependency to the cpio" bitbake: siggen: Directly store datacaches reference bitbake: bitbake: siggen/runqueue: Switch to using RECIPE_SIGGEN_INFO feature for signature dumping bitbake: siggen: Add dummy dataCaches from task context/datastore bitbake: build/siggen: Rework stamps functions bitbake: siggen: Clarify which fn is meant bitbake: ast/data/codeparser: Add dependencies from python module functions bitbake: codeparser/data: Add vardepsexclude support to module dependency code bitbake.conf: Add module function vardepsexclude entries time64: Rename to a .inc file to match the others bitbake: command: Add ping command bitbake: cache: Allow compression of the data in SiggenRecipeInfo bitbake: siggen: Minor code improvement bitbake: server/process: Add bitbake.sock race handling oeqa/concurrencytest: Add number of failures to summary output python3-poetry-core: Fix determinism issue breaking reproducibility bitbake: cache/siggen: Fix cache issues with signature handling bitbake: event: builtins fix for 'd' deletion bitbake: cooker: Ensure cache is cleared for partial resets bitbake: tinfoil: Ensure CommandExit is handled bitbake: cache: Drop reciever side counting for SiggenRecipeInfo bitbake: knotty: Avoid looping with tracebacks bitbake: event: Add enable/disable heartbeat code bitbake: cooker/cookerdata: Rework the way the datastores are reset bitbake: server/process: Improve exception and idle function logging bitbake: command: Tweak finishAsyncCommand ordering to avoid races bitbake: cooker: Ensure commands clean up any parser processes bitbake: server/process: Improve idle loop exit code bitbake: event: Always use threadlock bitbake: server/process: Add locking around idle functions accesses bitbake: server/process: Run idle commands in a separate idle thread bitbake: knotty: Ping the server/cooker periodically bitbake: cookerdata: Fix cache/reparsing issue bitbake: cookerdata: Fix previous commit to use a string, not a generator bitbake: command: Ensure that failure cases call finishAsyncComand layer.conf: Update to use mickledore as the layer series name layer.conf: Mark master as compatible with mickledore bitbake: lib/bb: Update thread/process locks to use a timeout package: Move fixup_perms function to bb function library package: Move get_conffiles/files_from_filevars functions to lib package: Move pkgdata handling functions to oe.packagedata package: Move emit_pkgdata to packagedata.py package: Move package functions to function library package: Drop unused function and obsolete comment package: Move mapping_rename_hook to packagedata function library python3-cython: Use PACKAGESPLITFUNCS instead of PACKAGEBUILDPKGD package: Drop support for PACKAGEBUILDPKGD function customisation recipes/classes: Drop prepend/append usage with PACKAGESPLITFUNCS bitbake: cooker: Rework the parsing results submission bitbake: cooker: Clean up inotify idle handler uninative-tarball: Add libgcc patchelf: Add fix submitted upstream for uninative segfaults bitbake: cooker/command: Drop async command handler indirection via cooker bitbake: process/cooker/command: Fix currentAsyncCommand locking/races uninative: Ensure uninative is enabled in all cases for BuildStarted event qemux86-64: Reduce tuning to core2-64 bitbake: tinfoil: Don't wait for events indefinitely bitbake: knotty: Improve shutdown handling bitbake: cooker: Fix exit handling issues bitbake: server/process: Move heartbeat to idle thread Robert Andersson (1): go-crosssdk: avoid host contamination by GOCACHE Ross Burton (28): build-appliance-image: Update to master head revision lib/buildstats: fix parsing of trees with reduced_proc_pressure directories combo-layer: remove unused import combo-layer: dont use bb.utils.rename combo-layer: add sync-revs command libxml2: upgrade 2.9.14 -> 2.10.3 libxml2: add more testing python3-packaging: upgrade to 22.0 python3-hatchling: remove python3-tomli DEPENDS python3-cryptography: remove python3-tomli RDEPENDS meson: drop redundant is_debianlike() patch meson: always use meson subcommands libepoxy: remove upstreamed patch gtk+3: upgrade 3.24.34 -> 3.24.35 gtk+3: port to Meson meson: no need to rebuild on install at-spi2-core: clean up x11 enabling at-spi2-core: disable API docs if x11 is disabled gtk+3: fix reproducible builds lsof: upgrade 4.96.4 -> 4.96.5 pango: upgrade 1.50.11 -> 1.50.12 python3-hatch-vcs: upgrade 0.2.0 -> 0.3.0 python3-hatchling: upgrade 1.11.1 -> 1.12.1 python3-pathspec: upgrade 0.10.1 -> 0.10.3 rm_work: handle non-existant stamps directory oeqa/selftest/debuginfod: improve testcase elfutils: disable deprecation errors in all builds, not just native curl: don't enable debug builds Ryan Eatmon (1): go: Update reproducibility patch to fix panic errors Sandeep Gundlupet Raju (3): libdrm: Remove libdrm-kms package kernel-fitimage: Adjust order of dtb/dtbo files kernel-fitimage: Allow user to select dtb when multiple dtb exists Saul Wold (1): at: Change when files are copied Sergei Zhmylev (1): oeqa/qemurunner: implement vmdk images support Tim Orling (7): python3-hypothesis: upgrade 6.56.4 -> 6.57.1 at-spi2-core: upgrade 2.44.1 -> 2.46.0 mirrors.bbclass: update CPAN_MIRROR libtry-tiny-perl: add recipe for 0.31 libtest-fatal-perl: add recipe for 0.016 libtest-warnings-perl: move from meta-perl liburi-perl: upgrade 5.08 -> 5.17 Trevor Woerner (1): local.conf.sample: update bbclass locations Vincent Davis Jr (1): mesa: enable glvnd support Wang Mingyu (49): btrfs-tools: upgrade 6.0 -> 6.0.1 libpipeline: upgrade 1.5.6 -> 1.5.7 btrfs-tools: upgrade 6.0.1 -> 6.0.2 bind: upgrade 9.18.8 -> 9.18.9 ccache: upgrade 4.7.2 -> 4.7.4 dropbear: upgrade 2022.82 -> 2022.83 libinput: upgrade 1.21.0 -> 1.22.0 libxft: upgrade 2.3.6 -> 2.3.7 mpfr: upgrade 4.1.0 -> 4.1.1 glib-2.0: upgrade 2.74.1 -> 2.74.3 libxcrypt-compat: upgrade 4.4.30 -> 4.4.33 patchelf: upgrade 0.16.1 -> 0.17.0 pciutils: upgrade 3.8.0 -> 3.9.0 shaderc: upgrade 2022.3 -> 2022.4 sqlite3: upgrade 3.39.4 -> 3.40.0 stress-ng: upgrade 0.14.06 -> 0.15.00 swig: upgrade 4.1.0 -> 4.1.1 texinfo: upgrade 7.0 -> 7.0.1 usbutils: upgrade 014 -> 015 xz: upgrade 5.2.7 -> 5.2.9 wayland-protocols: upgrade 1.28 -> 1.31 gnu-config: upgrade to latest revision libfontenc: upgrade 1.1.6 -> 1.1.7 libpcre2: upgrade 10.40 -> 10.41 libpng: upgrade 1.6.38 -> 1.6.39 libxau: upgrade 1.0.10 -> 1.0.11 libxkbfile: upgrade 1.1.1 -> 1.1.2 libxshmfence: upgrade 1.3.1 -> 1.3.2 xrandr: upgrade 1.5.1 -> 1.5.2 boost: upgrade 1.80.0 -> 1.81.0 ell: upgrade 0.54 -> 0.55 git: upgrade 2.38.1 -> 2.39.0 help2man: upgrade 1.49.2 -> 1.49.3 iproute2: upgrade 6.0.0 -> 6.1.0 libmpc: upgrade 1.2.1 -> 1.3.1 makedepend: upgrade 1.0.7 -> 1.0.8 psmisc: upgrade 23.5 -> 23.6 xz: upgrade 5.2.9 -> 5.4.0 gstreamer1.0: upgrade 1.20.4 -> 1.20.5 bind: upgrade 9.18.9 -> 9.18.10 btrfs-tools: upgrade 6.0.2 -> 6.1 librepo: upgrade 1.14.5 -> 1.15.1 libsdl2: upgrade 2.26.1 -> 2.26.2 libva-utils: upgrade 2.17.0 -> 2.17.1 libxkbcommon: upgrade 1.4.1 -> 1.5.0 mpfr: upgrade 4.1.1 -> 4.2.0 dpkg: upgrade 1.21.13 -> 1.21.17 rxvt-unicode: upgrade 9.30 -> 9.31 virglrenderer: upgrade 0.10.3 -> 0.10.4 Xiangyu Chen (3): grub: backport patches to fix CVE-2022-28736 openssh: remove RRECOMMENDS to rng-tools for sshd package grub2: backport patch to fix CVE-2022-2601 CVE-2022-3775 Yoann Congal (2): bitbake: Group and reorder options in bitbake help bitbake: main: Move --buildfile help at the end of "Execution" group leimaohui (1): libpng: Enable NEON for aarch64 to enensure consistency with arm32. pgowda (1): binutils: Add patch to fix CVE-2022-4285 张忠山 (1): bitbake: data_smart: Use regex consistently for override matching meta-raspberrypi: 93dadf336c..896566aa92: Carlos Alberto Lopez Perez (1): weston: disablepackageconfig options that fail to build with userland drivers Khem Raj (2): lirc: Drop upstreamed patch linux-raspberrypi.inc: Weakly assign COMPATIBLE_MACHINE Martin Jansa (2): bluez5: update patches to apply on 5.66 version layer.conf: update LAYERSERIES_COMPAT for mickledore Vincent Davis Jr (5): rpidistro-vlc,rpidistro-ffmpeg: update COMPATIBLE_HOST regex rpidistro-vlc: upgrade 3.0.12 -> 3.0.17 rpi-default-providers: add libav and libpostproc rpidistro-ffmpeg: upgrade 4.3.2 -> 4.3.4 rpidistro-ffmpeg: remove --enable-v4l2-request flag Signed-off-by: Andrew Geissler Change-Id: Ied8537beedde0f83790e6e3595057db45f408107 --- ...subroutine-for-cleaning-recent-interfaces.patch | 59 ----- .../0001-dns-sd-Include-missing-headers.patch | 41 ---- .../0001-mdns-include-stddef.h-for-NULL.patch | 40 ---- ...-subroutine-for-tearing-down-an-interface.patch | 58 ----- ...-mdns-cross-compilation-fixes-for-bitbake.patch | 145 ------------ .../files/0003-Track-interface-socket-family.patch | 50 ---- .../0004-Use-list-for-changed-interfaces.patch | 177 --------------- .../mdns/files/0006-Remove-unneeded-function.patch | 51 ----- ...-Mark-deleted-interfaces-as-being-changed.patch | 39 ---- .../files/0009-Fix-possible-NULL-dereference.patch | 45 ---- .../0010-Handle-errors-from-socket-calls.patch | 62 ----- ...dynamic-allocation-to-file-scope-variable.patch | 53 ----- .../recipes-protocols/mdns/files/mdns.service | 15 -- ...subroutine-for-cleaning-recent-interfaces.patch | 61 +++++ .../mdns/0001-dns-sd-Include-missing-headers.patch | 30 +++ ...-subroutine-for-tearing-down-an-interface.patch | 59 +++++ ...02-make-Set-libdns_sd.so-soname-correctly.patch | 27 +++ .../mdns/0003-Track-interface-socket-family.patch | 51 +++++ ...red-Drop-MacOS-specific-__block-qualifier.patch | 30 +++ ...-Indicate-loopback-interface-to-mDNS-core.patch | 58 +++++ ...-make-Separate-TLS-targets-from-libraries.patch | 64 ++++++ .../0005-Use-list-for-changed-interfaces.patch | 169 ++++++++++++++ .../0005-mDNSCore-Fix-broken-debug-parameter.patch | 26 +++ .../mdns/0006-Handle-noisy-netlink-sockets.patch | 252 +++++++++++++++++++++ .../mdns/0006-make-Add-top-level-Makefile.patch | 25 ++ ...-Mark-deleted-interfaces-as-being-changed.patch | 40 ++++ .../0008-Handle-errors-from-socket-calls.patch | 63 ++++++ .../recipes-protocols/mdns/mdns/mdns.service | 15 ++ .../recipes-protocols/mdns/mdns_1310.140.1.bb | 115 ---------- .../recipes-protocols/mdns/mdns_1790.60.25.bb | 134 +++++++++++ 30 files changed, 1104 insertions(+), 950 deletions(-) delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-dns-sd-Include-missing-headers.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-mdns-include-stddef.h-for-NULL.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-Create-subroutine-for-tearing-down-an-interface.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-mdns-cross-compilation-fixes-for-bitbake.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0003-Track-interface-socket-family.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0006-Remove-unneeded-function.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0008-Mark-deleted-interfaces-as-being-changed.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0009-Fix-possible-NULL-dereference.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0010-Handle-errors-from-socket-calls.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/mdns.service create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-Create-subroutine-for-cleaning-recent-interfaces.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-dns-sd-Include-missing-headers.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-Create-subroutine-for-tearing-down-an-interface.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-make-Set-libdns_sd.so-soname-correctly.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0003-Track-interface-socket-family.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0003-mDNSShared-Drop-MacOS-specific-__block-qualifier.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-Indicate-loopback-interface-to-mDNS-core.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-make-Separate-TLS-targets-from-libraries.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-Use-list-for-changed-interfaces.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-mDNSCore-Fix-broken-debug-parameter.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-Handle-noisy-netlink-sockets.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-make-Add-top-level-Makefile.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0007-Mark-deleted-interfaces-as-being-changed.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0008-Handle-errors-from-socket-calls.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/mdns.service delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1310.140.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.60.25.bb (limited to 'meta-openembedded/meta-networking/recipes-protocols/mdns') diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch deleted file mode 100644 index f8efc10448..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 6d90f9fdaf008f5c3b8fd8d91594fa1461437888 Mon Sep 17 00:00:00 2001 -From: Nate Karstens -Date: Wed, 28 Jun 2017 17:30:00 -0500 -Subject: [PATCH] Create subroutine for cleaning recent interfaces - -Moves functionality for cleaning the list of recent -interfaces into its own subroutine. - -Upstream-Status: Submitted [dts@apple.com] - -Signed-off-by: Nate Karstens ---- - mDNSPosix/mDNSPosix.c | 23 ++++++++++++++--------- - 1 file changed, 14 insertions(+), 9 deletions(-) - -diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c -index a63cd19..7aeee7b 100755 ---- a/mDNSPosix/mDNSPosix.c -+++ b/mDNSPosix/mDNSPosix.c -@@ -1199,6 +1199,19 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf - return err; - } - -+// Clean up any interfaces that have been hanging around on the RecentInterfaces list for more than a minute -+mDNSlocal void CleanRecentInterfaces(void) -+{ -+ PosixNetworkInterface **ri = &gRecentInterfaces; -+ const mDNSs32 utc = mDNSPlatformUTC(); -+ while (*ri) -+ { -+ PosixNetworkInterface *pi = *ri; -+ if (utc - pi->LastSeen < 60) ri = (PosixNetworkInterface **)&pi->coreIntf.next; -+ else { *ri = (PosixNetworkInterface *)pi->coreIntf.next; free(pi); } -+ } -+} -+ - // Creates a PosixNetworkInterface for the interface whose IP address is - // intfAddr and whose name is intfName and registers it with mDNS core. - mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct sockaddr *intfMask, const char *intfName, int intfIndex) -@@ -1388,15 +1401,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m) - // Clean up. - if (intfList != NULL) freeifaddrs(intfList); - -- // Clean up any interfaces that have been hanging around on the RecentInterfaces list for more than a minute -- PosixNetworkInterface **ri = &gRecentInterfaces; -- const mDNSs32 utc = mDNSPlatformUTC(); -- while (*ri) -- { -- PosixNetworkInterface *pi = *ri; -- if (utc - pi->LastSeen < 60) ri = (PosixNetworkInterface **)&pi->coreIntf.next; -- else { *ri = (PosixNetworkInterface *)pi->coreIntf.next; free(pi); } -- } -+ CleanRecentInterfaces(); - - return err; - } --- -2.20.1 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-dns-sd-Include-missing-headers.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-dns-sd-Include-missing-headers.patch deleted file mode 100644 index c743b3eddb..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-dns-sd-Include-missing-headers.patch +++ /dev/null @@ -1,41 +0,0 @@ -From ea442b57f7a9bcd41d5b5bd1cafde4dbe5685d41 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 4 Nov 2021 07:31:32 -0700 -Subject: [PATCH] dns-sd: Include missing headers - -Fixes build on Musl - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - Clients/dns-sd.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/Clients/dns-sd.c -+++ b/Clients/dns-sd.c -@@ -58,11 +58,13 @@ - //#define TEST_NEW_CLIENTSTUB 1 - - #include -+#include // For va_args - #include // For stdout, stderr - #include // For exit() - #include // For strlen(), strcpy() - #include // For errno, EINTR - #include -+#include // For MIN - #include // For u_char - #ifdef APPLE_OSX_mDNSResponder - #include // For PRId64 ---- a/mDNSPosix/nss_mdns.c -+++ b/mDNSPosix/nss_mdns.c -@@ -89,6 +89,9 @@ - - #include - -+#if !defined(NETDB_INTERNAL) -+# define NETDB_INTERNAL (-1) -+#endif - - //---------- - // Public functions diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-mdns-include-stddef.h-for-NULL.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-mdns-include-stddef.h-for-NULL.patch deleted file mode 100644 index c57ce8fa53..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-mdns-include-stddef.h-for-NULL.patch +++ /dev/null @@ -1,40 +0,0 @@ -From d744609c56f9872e5aa71707f1f71feec9867f51 Mon Sep 17 00:00:00 2001 -From: Mikko Rapeli -Date: Tue, 14 Jul 2020 16:36:29 +0000 -Subject: [PATCH 1/2] mdns: include for NULL - -Fixes build error with version 1096.40.7: - -../mDNSCore/mDNS.c:11385:26: error: 'NULL' undeclared (first use in this function) -11385 | const char *reason = NULL; - | ^~~~ -../mDNSCore/mDNS.c:56:1: note: 'NULL' is defined in header ''; did you forget to '#include '? - 55 | #include "dns_sd_internal.h" - +++ |+#include - 56 | -../mDNSCore/mDNS.c:11385:26: note: each undeclared identifier is reported only once for each function it appears in -11385 | const char *reason = NULL; - | ^~~~ - -Upstream-Status: Pending - -Signed-off-by: Mikko Rapeli ---- - mDNSCore/mDNS.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/mDNSCore/mDNS.c b/mDNSCore/mDNS.c -index 2fbea04..d4b9af5 100755 ---- a/mDNSCore/mDNS.c -+++ b/mDNSCore/mDNS.c -@@ -23,6 +23,7 @@ - * routines, or types (which may or may not be present on any given platform). - */ - -+#include /* for NULL */ - #include "DNSCommon.h" // Defines general DNS utility routines - #include "uDNS.h" // Defines entry points into unicast-specific routines - --- -2.20.1 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-Create-subroutine-for-tearing-down-an-interface.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-Create-subroutine-for-tearing-down-an-interface.patch deleted file mode 100644 index 21ba318499..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-Create-subroutine-for-tearing-down-an-interface.patch +++ /dev/null @@ -1,58 +0,0 @@ -From a2148df99ddcd122247f95c4cbcce5c4118581a1 Mon Sep 17 00:00:00 2001 -From: Nate Karstens -Date: Wed, 28 Jun 2017 17:30:00 -0500 -Subject: [PATCH 02/11] Create subroutine for tearing down an interface - -Creates a subroutine for tearing down an interface. - -Upstream-Status: Submitted [dts@apple.com] - -Signed-off-by: Nate Karstens ---- - mDNSPosix/mDNSPosix.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - -diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c -index ffc9696..5e5b2cd 100644 ---- a/mDNSPosix/mDNSPosix.c -+++ b/mDNSPosix/mDNSPosix.c -@@ -591,6 +591,19 @@ mDNSlocal void FreePosixNetworkInterface(PosixNetworkInterface *intf) - gRecentInterfaces = intf; - } - -+mDNSlocal void TearDownInterface(mDNS *const m, PosixNetworkInterface *intf) -+{ -+ mDNS_DeregisterInterface(m, &intf->coreIntf, NormalActivation); -+ if (gMDNSPlatformPosixVerboseLevel > 0) fprintf(stderr, "Deregistered interface %s\n", intf->intfName); -+ FreePosixNetworkInterface(intf); -+ -+ num_registered_interfaces--; -+ if (num_registered_interfaces == 0) { -+ num_pkts_accepted = 0; -+ num_pkts_rejected = 0; -+ } -+} -+ - // Grab the first interface, deregister it, free it, and repeat until done. - mDNSlocal void ClearInterfaceList(mDNS *const m) - { -@@ -599,13 +612,10 @@ mDNSlocal void ClearInterfaceList(mDNS *const m) - while (m->HostInterfaces) - { - PosixNetworkInterface *intf = (PosixNetworkInterface*)(m->HostInterfaces); -- mDNS_DeregisterInterface(m, &intf->coreIntf, NormalActivation); -- if (gMDNSPlatformPosixVerboseLevel > 0) fprintf(stderr, "Deregistered interface %s\n", intf->intfName); -- FreePosixNetworkInterface(intf); -+ TearDownInterface(m, intf); - } -- num_registered_interfaces = 0; -- num_pkts_accepted = 0; -- num_pkts_rejected = 0; -+ -+ assert(num_registered_interfaces == 0); - } - - // Sets up a send/receive socket. --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-mdns-cross-compilation-fixes-for-bitbake.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-mdns-cross-compilation-fixes-for-bitbake.patch deleted file mode 100644 index 33590ffc57..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-mdns-cross-compilation-fixes-for-bitbake.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 72405143f9d16514e70b88bc4843c9634b88036a Mon Sep 17 00:00:00 2001 -From: Brendan Le Foll -Date: Tue, 3 Mar 2015 11:42:57 +0000 -Subject: [PATCH 2/2] mdns: cross compilation fixes for bitbake - -Fixes several build errors when incorrect compiler or -compiler flags are used. - -Upstream-Status: Inappropriate [OE-specific] - -Signed-off-by: Paul Eggleton -Signed-off-by: Mikko Rapeli ---- - mDNSPosix/Makefile | 44 ++++++++++++++++++++------------------------ - 1 file changed, 20 insertions(+), 24 deletions(-) - -diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile -index 78222e0..18a3af5 100755 ---- a/mDNSPosix/Makefile -+++ b/mDNSPosix/Makefile -@@ -50,6 +50,7 @@ - - LIBVERS = 1 - -+POSIXDIR = ../mDNSPosix - COREDIR = ../mDNSCore - SHAREDDIR ?= ../mDNSShared - DSODIR ?= ../DSO -@@ -62,16 +63,16 @@ else ifeq ($(SYSTEM), Linux) - os=linux - endif - --CC = cc --BISON = bison --FLEX = flex --ST = strip --LD = ld -+CC ?= cc -+BISON ?= bison -+FLEX ?= flex -+ST ?= strip -+LD ?= ld - SOOPTS = -shared - CP = cp - RM = rm - LN = ln -s -f --CFLAGS_COMMON = -I$(COREDIR) -I$(SHAREDDIR) -I$(DSODIR) -I$(PROXYDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\" -+CFLAGS_COMMON = -I$(POSIXDIR) -I$(COREDIR) -I$(SHAREDDIR) -I$(DSODIR) -I$(PROXYDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\" - CFLAGS_PTHREAD = - LINKOPTS = - LINKOPTS_PTHREAD = -lpthread -@@ -85,6 +86,7 @@ CFLAGS_OPEN_SOURCE= - endif - - # Set up diverging paths for debug vs. prod builds -+DEBUG ?= 1 - ifeq "$(DEBUG)" "1" - CFLAGS_DEBUGGING = -g -DMDNS_DEBUGMSGS=2 - OBJDIR = objects/debug -@@ -101,8 +103,8 @@ else - # 1. We want to make small binaries, suitable for putting into hardware devices - # 2. Some of the code analysis warnings only work when some form of optimization is enabled - CFLAGS_DEBUGGING = -g -DMDNS_DEBUGMSGS=0 --OBJDIR ?= objects/prod --BUILDDIR ?= build/prod -+OBJDIR = objects/prod -+BUILDDIR = build/prod - STRIP = $(ST) -S - endif - endif -@@ -125,7 +127,7 @@ else - # any target that contains the string "linux" - ifeq ($(findstring linux,$(os)),linux) - CFLAGS_OS = -D_GNU_SOURCE -DHAVE_IPV6 -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DTARGET_OS_LINUX -ftabstop=4 --LD = $(CC) -+LD ?= $(CC) - SOOPTS = -shared - FLEXFLAGS_OS = -l - JAVACFLAGS_OS += -I$(JDK)/include/linux -@@ -276,8 +278,7 @@ Daemon: setup $(BUILDDIR)/mdnsd - @echo "Responder daemon done" - - $(BUILDDIR)/mdnsd: $(DAEMONOBJS) -- $(CC) -o $@ $+ $(LINKOPTS) -- $(STRIP) $@ -+ $(LD) -o $@ $+ - - # libdns_sd target builds the client library - libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) -@@ -286,13 +287,9 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) - CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o - - $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS) -- $(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+ -- $(STRIP) $@ -- --Clients: setup libdns_sd ../Clients/build/dns-sd -- @echo "Clients done" -+ $(LD) -shared $(LINKOPTS) -Wl,-soname,libdns_sd.$(LDSUFFIX).1 -o $@ $+ - --../Clients/build/dns-sd: ../Clients/dns-sd.c -+Clients: setup libdns_sd - $(MAKE) -C ../Clients DEBUG=$(DEBUG) SUPMAKE_CFLAGS="$(MDNSCFLAGS)" - - # nss_mdns target builds the Name Service Switch module -@@ -300,8 +297,7 @@ nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE) - @echo "Name Service Switch module done" - - $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o -- $(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+ -- $(STRIP) $@ -+ $(LD) -shared $(LINKOPTS) -o $@ $+ - - ############################################################################# - -@@ -494,21 +490,21 @@ dnsextd: setup $(BUILDDIR)/dnsextd - @echo "dnsextd done" - - $(BUILDDIR)/mDNSClientPosix: $(APPOBJ) $(OBJDIR)/Client.c.o -- $(CC) $+ -o $@ $(LINKOPTS) -+ $(CC) $+ -o $@ - - $(BUILDDIR)/mDNSResponderPosix: $(COMMONOBJ) $(OBJDIR)/Responder.c.o -- $(CC) $+ -o $@ $(LINKOPTS) -+ $(CC) $+ -o $@ - - $(BUILDDIR)/mDNSProxyResponderPosix: $(COMMONOBJ) $(OBJDIR)/ProxyResponder.c.o -- $(CC) $+ -o $@ $(LINKOPTS) -+ $(CC) $+ -o $@ - - $(BUILDDIR)/mDNSNetMonitor: $(SPECIALOBJ) $(OBJDIR)/NetMonitor.c.o -- $(CC) $+ -o $@ $(LINKOPTS) -+ $(CC) $+ -o $@ - - $(OBJDIR)/NetMonitor.c.o: $(COREDIR)/mDNS.c # Note: NetMonitor.c textually imports mDNS.c - - $(BUILDDIR)/dnsextd: $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o -- $(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD) -+ $(CC) $+ -o $@ $(LINKOPTS_PTHREAD) - - ############################################################################# - --- -2.20.1 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0003-Track-interface-socket-family.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0003-Track-interface-socket-family.patch deleted file mode 100644 index 8c0e6bf397..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0003-Track-interface-socket-family.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 71a7c728ae0d8143b66aa40decca74ebaa9aa2ce Mon Sep 17 00:00:00 2001 -From: Nate Karstens -Date: Wed, 28 Jun 2017 17:30:00 -0500 -Subject: [PATCH 03/11] Track interface socket family - -Tracks the socket family associated with the interface. - -Upstream-Status: Submitted [dts@apple.com] - -Signed-off-by: Nate Karstens ---- - mDNSPosix/mDNSPosix.c | 1 + - mDNSPosix/mDNSPosix.h | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c -index 5e5b2cd..8fe22be 100644 ---- a/mDNSPosix/mDNSPosix.c -+++ b/mDNSPosix/mDNSPosix.c -@@ -918,6 +918,7 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct - // Set up the extra fields in PosixNetworkInterface. - assert(intf->intfName != NULL); // intf->intfName already set up above - intf->index = intfIndex; -+ intf->sa_family = intfAddr->sa_family; - intf->multicastSocket4 = -1; - #if HAVE_IPV6 - intf->multicastSocket6 = -1; -diff --git a/mDNSPosix/mDNSPosix.h b/mDNSPosix/mDNSPosix.h -index ca60d80..f77c185 100644 ---- a/mDNSPosix/mDNSPosix.h -+++ b/mDNSPosix/mDNSPosix.h -@@ -19,6 +19,7 @@ - #define __mDNSPlatformPosix_h - - #include -+#include - #include - - #ifdef __cplusplus -@@ -40,6 +41,7 @@ struct PosixNetworkInterface - const char * intfName; - PosixNetworkInterface * aliasIntf; - int index; -+ sa_family_t sa_family; - int multicastSocket4; - #if HAVE_IPV6 - int multicastSocket6; --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch deleted file mode 100644 index db3a63ea48..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch +++ /dev/null @@ -1,177 +0,0 @@ -From 798bfb5e984845a27874d1a244686db6e384d7b8 Mon Sep 17 00:00:00 2001 -From: Nate Karstens -Date: Thu, 13 Jul 2017 09:00:00 -0500 -Subject: [PATCH 04/11] Use list for changed interfaces - -Uses a linked list to store the index of changed network interfaces -instead of a bitfield. This allows for network interfaces with an -index greater than 31 (an index of 36 was seen on Android). - -Upstream-Status: Submitted [dts@apple.com] - -Signed-off-by: Nate Karstens ---- - mDNSPosix/mDNSPosix.c | 67 +++++++++++++++++++++++++++++++++---------- - 1 file changed, 52 insertions(+), 15 deletions(-) - -diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c -index 195d04b..bb883c1 100755 ---- a/mDNSPosix/mDNSPosix.c -+++ b/mDNSPosix/mDNSPosix.c -@@ -67,6 +67,14 @@ struct IfChangeRec - }; - typedef struct IfChangeRec IfChangeRec; - -+// Used to build a list of network interface indices -+struct NetworkInterfaceIndex -+{ -+ int if_index; -+ struct NetworkInterfaceIndex *Next; -+}; -+typedef struct NetworkInterfaceIndex NetworkInterfaceIndex; -+ - // Note that static data is initialized to zero in (modern) C. - static PosixEventSource *gEventSources; // linked list of PosixEventSource's - static sigset_t gEventSignalSet; // Signals which event loop listens for -@@ -1458,6 +1466,32 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD) - return err; - } - -+mDNSlocal mDNSBool ListContainsInterfaceIndex(GenLinkedList *list, int if_index) -+{ -+ NetworkInterfaceIndex *item; -+ -+ for (item = (NetworkInterfaceIndex*)list->Head; item != NULL; item = item->Next) -+ { -+ if (if_index == item->if_index) return mDNStrue; -+ } -+ -+ return mDNSfalse; -+} -+ -+mDNSlocal void AddInterfaceIndexToList(GenLinkedList *list, int if_index) -+{ -+ NetworkInterfaceIndex *item; -+ -+ if (ListContainsInterfaceIndex(list, if_index)) return; -+ -+ item = malloc(sizeof *item); -+ if (item == NULL) return; -+ -+ item->if_index = if_index; -+ item->Next = NULL; -+ AddToTail(list, item); -+} -+ - #if MDNS_DEBUGMSGS - mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg) - { -@@ -1485,14 +1519,13 @@ mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg) - } - #endif - --mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) -+mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *changedInterfaces) - // Read through the messages on sd and if any indicate that any interface records should - // be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0. - { - ssize_t readCount; - char buff[4096]; - struct nlmsghdr *pNLMsg = (struct nlmsghdr*) buff; -- mDNSu32 result = 0; - - // The structure here is more complex than it really ought to be because, - // unfortunately, there's no good way to size a buffer in advance large -@@ -1528,9 +1561,9 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) - - // Process the NetLink message - if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK) -- result |= 1 << ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index; -+ AddInterfaceIndexToList(changedInterfaces, ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index); - else if (pNLMsg->nlmsg_type == RTM_DELADDR || pNLMsg->nlmsg_type == RTM_NEWADDR) -- result |= 1 << ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index; -+ AddInterfaceIndexToList(changedInterfaces, ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index); - - // Advance pNLMsg to the next message in the buffer - if ((pNLMsg->nlmsg_flags & NLM_F_MULTI) != 0 && pNLMsg->nlmsg_type != NLMSG_DONE) -@@ -1541,8 +1574,6 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) - else - break; // all done! - } -- -- return result; - } - - #else // USES_NETLINK -@@ -1574,14 +1605,13 @@ mDNSlocal void PrintRoutingSocketMsg(const struct ifa_msghdr *pRSMsg) - } - #endif - --mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) -+mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *changedInterfaces) - // Read through the messages on sd and if any indicate that any interface records should - // be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0. - { - ssize_t readCount; - char buff[4096]; - struct ifa_msghdr *pRSMsg = (struct ifa_msghdr*) buff; -- mDNSu32 result = 0; - - readCount = read(sd, buff, sizeof buff); - if (readCount < (ssize_t) sizeof(struct ifa_msghdr)) -@@ -1596,12 +1626,10 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) - pRSMsg->ifam_type == RTM_IFINFO) - { - if (pRSMsg->ifam_type == RTM_IFINFO) -- result |= 1 << ((struct if_msghdr*) pRSMsg)->ifm_index; -+ AddInterfaceIndexToList(changedInterfaces, ((struct if_msghdr*) pRSMsg)->ifm_index); - else -- result |= 1 << pRSMsg->ifam_index; -+ AddInterfaceIndexToList(changedInterfaces, pRSMsg->ifam_index); - } -- -- return result; - } - - #endif // USES_NETLINK -@@ -1611,7 +1639,8 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context) - { - IfChangeRec *pChgRec = (IfChangeRec*) context; - fd_set readFDs; -- mDNSu32 changedInterfaces = 0; -+ GenLinkedList changedInterfaces; -+ NetworkInterfaceIndex *changedInterface; - struct timeval zeroTimeout = { 0, 0 }; - - (void)fd; // Unused -@@ -1619,17 +1648,25 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context) - FD_ZERO(&readFDs); - FD_SET(pChgRec->NotifySD, &readFDs); - -+ InitLinkedList(&changedInterfaces, offsetof(NetworkInterfaceIndex, Next)); -+ - do - { -- changedInterfaces |= ProcessRoutingNotification(pChgRec->NotifySD); -+ ProcessRoutingNotification(pChgRec->NotifySD, &changedInterfaces); - } - while (0 < select(pChgRec->NotifySD + 1, &readFDs, (fd_set*) NULL, (fd_set*) NULL, &zeroTimeout)); - - // Currently we rebuild the entire interface list whenever any interface change is - // detected. If this ever proves to be a performance issue in a multi-homed - // configuration, more care should be paid to changedInterfaces. -- if (changedInterfaces) -+ if (changedInterfaces.Head != NULL) - mDNSPlatformPosixRefreshInterfaceList(pChgRec->mDNS); -+ -+ while ((changedInterface = (NetworkInterfaceIndex*)changedInterfaces.Head) != NULL) -+ { -+ RemoveFromList(&changedInterfaces, changedInterface); -+ free(changedInterface); -+ } - } - - // Register with either a Routing Socket or RtNetLink to listen for interface changes. --- -2.20.1 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0006-Remove-unneeded-function.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0006-Remove-unneeded-function.patch deleted file mode 100644 index b461a60df7..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0006-Remove-unneeded-function.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 157d67f152777754c059ced7511352102f23ffae Mon Sep 17 00:00:00 2001 -From: Nate Karstens -Date: Mon, 24 Jul 2017 09:39:18 -0500 -Subject: [PATCH 06/11] Remove unneeded function - -Removes a function we no longer need by integrating it into the only -function that calls it. This was originally separated so that we could -only process network interfaces that netlink indicated had been changed, -this has since been extended to test for all network intefaces. - -Upstream-Status: Submitted [dts@apple.com] - -Signed-off-by: Nate Karstens ---- - mDNSPosix/mDNSPosix.c | 13 ++----------- - 1 file changed, 2 insertions(+), 11 deletions(-) - -diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c -index 59a8b8c..3fc5451 100644 ---- a/mDNSPosix/mDNSPosix.c -+++ b/mDNSPosix/mDNSPosix.c -@@ -1079,24 +1079,15 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD) - return err; - } - --mDNSlocal mDNSBool ListContainsInterfaceIndex(GenLinkedList *list, int if_index) -+mDNSlocal void AddInterfaceIndexToList(GenLinkedList *list, int if_index) - { - NetworkInterfaceIndex *item; - - for (item = (NetworkInterfaceIndex*)list->Head; item != NULL; item = item->Next) - { -- if (if_index == item->if_index) return mDNStrue; -+ if (if_index == item->if_index) return; - } - -- return mDNSfalse; --} -- --mDNSlocal void AddInterfaceIndexToList(GenLinkedList *list, int if_index) --{ -- NetworkInterfaceIndex *item; -- -- if (ListContainsInterfaceIndex(list, if_index)) return; -- - item = malloc(sizeof *item); - if (item == NULL) return; - --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0008-Mark-deleted-interfaces-as-being-changed.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0008-Mark-deleted-interfaces-as-being-changed.patch deleted file mode 100644 index fdc5105cb9..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0008-Mark-deleted-interfaces-as-being-changed.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0fcc0f210f3a9310a1963de640b384ce866410fd Mon Sep 17 00:00:00 2001 -From: Nate Karstens -Date: Wed, 9 Aug 2017 09:16:58 -0500 -Subject: [PATCH 08/11] Mark deleted interfaces as being changed - -Netlink notification handling ignores messages for deleted links, -RTM_DELLINK. It does handle RTM_GETLINK. According to libnl docu- -mentation (http://www.infradead.org/~tgr/libnl/doc/route.html) -RTM_DELLINK can be sent by the kernel, but RTM_GETLINK cannot. -There was likely a mixup in the original implementation, so this -change replaces handling for RTM_GETLINK with RTM_DELLINK. - -Testing and Verification Instructions: - 1. Use ip-link to add and remove a VLAN interface and verify - that mDNSResponder handles the deleted link. - -Upstream-Status: Submitted [dts@apple.com] - -Signed-off-by: Nate Karstens ---- - mDNSPosix/mDNSPosix.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c -index 798ab10..a8a57df 100644 ---- a/mDNSPosix/mDNSPosix.c -+++ b/mDNSPosix/mDNSPosix.c -@@ -1163,7 +1163,7 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change - #endif - - // Process the NetLink message -- if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK) -+ if (pNLMsg->nlmsg_type == RTM_DELLINK || pNLMsg->nlmsg_type == RTM_NEWLINK) - AddInterfaceIndexToList(changedInterfaces, ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index); - else if (pNLMsg->nlmsg_type == RTM_DELADDR || pNLMsg->nlmsg_type == RTM_NEWADDR) - AddInterfaceIndexToList(changedInterfaces, ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index); --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0009-Fix-possible-NULL-dereference.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0009-Fix-possible-NULL-dereference.patch deleted file mode 100644 index 362d69768e..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0009-Fix-possible-NULL-dereference.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 38cff19781f81586926b02f0fd1cb36c040395e0 Mon Sep 17 00:00:00 2001 -From: Nate Karstens -Date: Thu, 10 Aug 2017 08:21:53 -0500 -Subject: [PATCH 09/11] Fix possible NULL dereference - -Fixes a possible NULL dereference if memory for -the PosixNetworkInterface could not be allocated. -Other logic seems to prevent dereferencing this -variable if NULL, but this instance seems to have -been overlooked. - -Upstream-Status: Submitted [dts@apple.com] - -Signed-off-by: Nate Karstens ---- - mDNSPosix/mDNSPosix.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c -index a8a57df..3243ed4 100644 ---- a/mDNSPosix/mDNSPosix.c -+++ b/mDNSPosix/mDNSPosix.c -@@ -951,12 +951,15 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct ifi_info *const ifi) - - // If interface is a direct link, address record will be marked as kDNSRecordTypeKnownUnique - // and skip the probe phase of the probe/announce packet sequence. -- intf->coreIntf.DirectLink = mDNSfalse; -+ if (err == 0) -+ { -+ intf->coreIntf.DirectLink = mDNSfalse; - #ifdef DIRECTLINK_INTERFACE_NAME -- if (strcmp(intfName, STRINGIFY(DIRECTLINK_INTERFACE_NAME)) == 0) -- intf->coreIntf.DirectLink = mDNStrue; -+ if (strcmp(intfName, STRINGIFY(DIRECTLINK_INTERFACE_NAME)) == 0) -+ intf->coreIntf.DirectLink = mDNStrue; - #endif -- intf->coreIntf.SupportsUnicastMDNSResponse = mDNStrue; -+ intf->coreIntf.SupportsUnicastMDNSResponse = mDNStrue; -+ } - - // The interface is all ready to go, let's register it with the mDNS core. - if (err == 0) --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0010-Handle-errors-from-socket-calls.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0010-Handle-errors-from-socket-calls.patch deleted file mode 100644 index b9b0157276..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0010-Handle-errors-from-socket-calls.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 382b3b924e43abd1bdc5792918161d0922666691 Mon Sep 17 00:00:00 2001 -From: Nate Karstens -Date: Thu, 10 Aug 2017 08:27:32 -0500 -Subject: [PATCH 10/11] Handle errors from socket calls - -Adds handling for socket() or read() returning a -negative value (indicating an error has occurred). - -Upstream-Status: Submitted [dts@apple.com] - -Signed-off-by: Nate Karstens ---- - mDNSPosix/mDNSPosix.c | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c -index 3243ed4..84af26b 100644 ---- a/mDNSPosix/mDNSPosix.c -+++ b/mDNSPosix/mDNSPosix.c -@@ -1129,7 +1129,7 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change - // Read through the messages on sd and if any indicate that any interface records should - // be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0. - { -- ssize_t readCount; -+ ssize_t readVal, readCount; - char buff[4096]; - struct nlmsghdr *pNLMsg = (struct nlmsghdr*) buff; - -@@ -1138,7 +1138,10 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change - // enough to hold all pending data and so avoid message fragmentation. - // (Note that FIONREAD is not supported on AF_NETLINK.) - -- readCount = read(sd, buff, sizeof buff); -+ readVal = read(sd, buff, sizeof buff); -+ if (readVal < 0) return; -+ readCount = readVal; -+ - while (1) - { - // Make sure we've got an entire nlmsghdr in the buffer, and payload, too. -@@ -1154,7 +1157,9 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change - pNLMsg = (struct nlmsghdr*) buff; - - // read more data -- readCount += read(sd, buff + readCount, sizeof buff - readCount); -+ readVal = read(sd, buff + readCount, sizeof buff - readCount); -+ if (readVal < 0) return; -+ readCount += readVal; - continue; // spin around and revalidate with new readCount - } - else -@@ -1429,6 +1434,7 @@ mDNSlocal mDNSBool mDNSPlatformInit_CanReceiveUnicast(void) - int err; - int s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); - struct sockaddr_in s5353; -+ if (s < 0) return mDNSfalse; - s5353.sin_family = AF_INET; - s5353.sin_port = MulticastDNSPort.NotAnInteger; - s5353.sin_addr.s_addr = 0; --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch deleted file mode 100644 index d9adde04c2..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 9ff06108cd44e84ba6c68bfa6737e793f117e303 Mon Sep 17 00:00:00 2001 -From: Nate Karstens -Date: Thu, 10 Aug 2017 08:46:03 -0500 -Subject: [PATCH] Change a dynamic allocation to file-scope variable - -Changes a variable from being dynamically-allocated to being -statically-allocated at the file scope. Addresses a Coverity -issue where it appeared that the memory was being leaked. - -Upstream-Status: Submitted [dts@apple.com] - -Signed-off-by: Nate Karstens ---- - mDNSPosix/mDNSPosix.c | 14 ++++---------- - 1 file changed, 4 insertions(+), 10 deletions(-) - -diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c -index 7aeee7b..2d25016 100755 ---- a/mDNSPosix/mDNSPosix.c -+++ b/mDNSPosix/mDNSPosix.c -@@ -81,6 +81,7 @@ static sigset_t gEventSignalSet; // Signals which event loop list - static sigset_t gEventSignals; // Signals which were received while inside loop - - static PosixNetworkInterface *gRecentInterfaces; -+static IfChangeRec gChgRec; - - // *************************************************************************** - // Globals (for debugging) -@@ -1641,18 +1642,11 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context) - mDNSlocal mStatus WatchForInterfaceChange(mDNS *const m) - { - mStatus err; -- IfChangeRec *pChgRec; - -- pChgRec = (IfChangeRec*) mDNSPlatformMemAllocateClear(sizeof *pChgRec); -- if (pChgRec == NULL) -- return mStatus_NoMemoryErr; -- -- pChgRec->mDNS = m; -- err = OpenIfNotifySocket(&pChgRec->NotifySD); -+ gChgRec.mDNS = m; -+ err = OpenIfNotifySocket(&gChgRec.NotifySD); - if (err == 0) -- err = mDNSPosixAddFDToEventLoop(pChgRec->NotifySD, InterfaceChangeCallback, pChgRec); -- if (err) -- mDNSPlatformMemFree(pChgRec); -+ err = mDNSPosixAddFDToEventLoop(gChgRec.NotifySD, InterfaceChangeCallback, &gChgRec); - - return err; - } --- -2.20.1 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/mdns.service b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/mdns.service deleted file mode 100644 index 531d142dcd..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/mdns.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Zero-configuration networking -After=network.target - -[Service] -Type=forking -ExecStartPre=/bin/rm -f /var/run/mdnsd.pid -ExecStart=/usr/sbin/mdnsd -ExecReload=/bin/kill -HUP $MAINPID -PIDFile=/var/run/mdnsd.pid -Restart=always -RestartSec=10s - -[Install] -WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-Create-subroutine-for-cleaning-recent-interfaces.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-Create-subroutine-for-cleaning-recent-interfaces.patch new file mode 100644 index 0000000000..91198dea73 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-Create-subroutine-for-cleaning-recent-interfaces.patch @@ -0,0 +1,61 @@ +From c1f3e19d3cb0aa948248616eb1684a1e80aa39b4 Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Wed, 28 Jun 2017 17:30:00 -0500 +Subject: [PATCH 1/8] Create subroutine for cleaning recent interfaces + +Moves functionality for cleaning the list of recent +interfaces into its own subroutine. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +Signed-off-by: Alex Kiernan +--- + mDNSPosix/mDNSPosix.c | 24 ++++++++++++++---------- + 1 file changed, 14 insertions(+), 10 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 0a7c3dfa2475..fe7242d83599 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -1322,6 +1322,19 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf + return err; + } + ++// Clean up any interfaces that have been hanging around on the RecentInterfaces list for more than a minute ++mDNSlocal void CleanRecentInterfaces(void) ++{ ++ PosixNetworkInterface **ri = &gRecentInterfaces; ++ const mDNSs32 utc = mDNSPlatformUTC(); ++ while (*ri) ++ { ++ PosixNetworkInterface *pi = *ri; ++ if (utc - pi->LastSeen < 60) ri = (PosixNetworkInterface **)&pi->coreIntf.next; ++ else { *ri = (PosixNetworkInterface *)pi->coreIntf.next; mdns_free(pi); } ++ } ++} ++ + // Creates a PosixNetworkInterface for the interface whose IP address is + // intfAddr and whose name is intfName and registers it with mDNS core. + mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct sockaddr *intfMask, +@@ -1559,16 +1572,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m) + + // Clean up. + if (intfList != NULL) freeifaddrs(intfList); +- +- // Clean up any interfaces that have been hanging around on the RecentInterfaces list for more than a minute +- PosixNetworkInterface **ri = &gRecentInterfaces; +- const mDNSs32 utc = mDNSPlatformUTC(); +- while (*ri) +- { +- PosixNetworkInterface *pi = *ri; +- if (utc - pi->LastSeen < 60) ri = (PosixNetworkInterface **)&pi->coreIntf.next; +- else { *ri = (PosixNetworkInterface *)pi->coreIntf.next; mdns_free(pi); } +- } ++ CleanRecentInterfaces(); + + return err; + } +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-dns-sd-Include-missing-headers.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-dns-sd-Include-missing-headers.patch new file mode 100644 index 0000000000..4a60a95728 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-dns-sd-Include-missing-headers.patch @@ -0,0 +1,30 @@ +From cea342c10731cb1c8c8b52f03d55f9d15fc3b091 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 4 Nov 2021 07:31:32 -0700 +Subject: [PATCH 1/6] dns-sd: Include missing headers + +Fixes build on Musl + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + mDNSPosix/nss_mdns.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/mDNSPosix/nss_mdns.c b/mDNSPosix/nss_mdns.c +index afadb3c6c33b..84c312759463 100644 +--- a/mDNSPosix/nss_mdns.c ++++ b/mDNSPosix/nss_mdns.c +@@ -89,6 +89,9 @@ + + #include + ++#if !defined(NETDB_INTERNAL) ++# define NETDB_INTERNAL (-1) ++#endif + + //---------- + // Public functions +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-Create-subroutine-for-tearing-down-an-interface.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-Create-subroutine-for-tearing-down-an-interface.patch new file mode 100644 index 0000000000..aa3dda8d55 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-Create-subroutine-for-tearing-down-an-interface.patch @@ -0,0 +1,59 @@ +From 40ef0241afbb49f84e76afd65eb3ee17466bb582 Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Wed, 28 Jun 2017 17:30:00 -0500 +Subject: [PATCH 2/8] Create subroutine for tearing down an interface + +Creates a subroutine for tearing down an interface. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +Signed-off-by: Alex Kiernan +--- + mDNSPosix/mDNSPosix.c | 22 ++++++++++++++++------ + 1 file changed, 16 insertions(+), 6 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index fe7242d83599..a32a880c0ce5 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -1043,6 +1043,19 @@ mDNSlocal void FreePosixNetworkInterface(PosixNetworkInterface *intf) + gRecentInterfaces = intf; + } + ++mDNSlocal void TearDownInterface(mDNS *const m, PosixNetworkInterface *intf) ++{ ++ mDNS_DeregisterInterface(m, &intf->coreIntf, NormalActivation); ++ if (gMDNSPlatformPosixVerboseLevel > 0) fprintf(stderr, "Deregistered interface %s\n", intf->intfName); ++ FreePosixNetworkInterface(intf); ++ ++ num_registered_interfaces--; ++ if (num_registered_interfaces == 0) { ++ num_pkts_accepted = 0; ++ num_pkts_rejected = 0; ++ } ++} ++ + // Grab the first interface, deregister it, free it, and repeat until done. + mDNSlocal void ClearInterfaceList(mDNS *const m) + { +@@ -1051,13 +1064,10 @@ mDNSlocal void ClearInterfaceList(mDNS *const m) + while (m->HostInterfaces) + { + PosixNetworkInterface *intf = (PosixNetworkInterface*)(m->HostInterfaces); +- mDNS_DeregisterInterface(m, &intf->coreIntf, NormalActivation); +- if (gMDNSPlatformPosixVerboseLevel > 0) fprintf(stderr, "Deregistered interface %s\n", intf->intfName); +- FreePosixNetworkInterface(intf); ++ TearDownInterface(m, intf); + } +- num_registered_interfaces = 0; +- num_pkts_accepted = 0; +- num_pkts_rejected = 0; ++ ++ assert(num_registered_interfaces == 0); + } + + mDNSlocal int SetupIPv6Socket(int fd) +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-make-Set-libdns_sd.so-soname-correctly.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-make-Set-libdns_sd.so-soname-correctly.patch new file mode 100644 index 0000000000..7f660396b4 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-make-Set-libdns_sd.so-soname-correctly.patch @@ -0,0 +1,27 @@ +From a198bcd457abd04f2e22812ff3a37246aa564614 Mon Sep 17 00:00:00 2001 +From: Alex Kiernan +Date: Mon, 5 Dec 2022 15:14:12 +0000 +Subject: [PATCH 2/6] make: Set libdns_sd.so soname correctly + +Upstream-Status: Pending +Signed-off-by: Alex Kiernan +--- + mDNSPosix/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile +index 802a13dd70b6..5e74193c0e89 100755 +--- a/mDNSPosix/Makefile ++++ b/mDNSPosix/Makefile +@@ -276,7 +276,7 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) + CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o $(OBJDIR)/dnssd_errstring.c.so.o + + $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS) +- $(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+ ++ $(LD) $(SOOPTS) $(LINKOPTS) -Wl,-soname,libdns_sd.$(LDSUFFIX).1 -o $@ $+ + $(STRIP) $@ + + Clients: setup libdns_sd ../Clients/build/dns-sd +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0003-Track-interface-socket-family.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0003-Track-interface-socket-family.patch new file mode 100644 index 0000000000..d2a9995ffa --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0003-Track-interface-socket-family.patch @@ -0,0 +1,51 @@ +From deb3a2c51f32e0d2741be11a492e727129f770e2 Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Wed, 28 Jun 2017 17:30:00 -0500 +Subject: [PATCH 3/8] Track interface socket family + +Tracks the socket family associated with the interface. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +Signed-off-by: Alex Kiernan +--- + mDNSPosix/mDNSPosix.c | 1 + + mDNSPosix/mDNSPosix.h | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index a32a880c0ce5..9a5b4d7ea4cb 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -1415,6 +1415,7 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct + // Set up the extra fields in PosixNetworkInterface. + assert(intf->intfName != NULL); // intf->intfName already set up above + intf->index = intfIndex; ++ intf->sa_family = intfAddr->sa_family; + intf->multicastSocket4 = -1; + #if HAVE_IPV6 + intf->multicastSocket6 = -1; +diff --git a/mDNSPosix/mDNSPosix.h b/mDNSPosix/mDNSPosix.h +index 9675591b0434..dd7864cd0d5e 100644 +--- a/mDNSPosix/mDNSPosix.h ++++ b/mDNSPosix/mDNSPosix.h +@@ -19,6 +19,7 @@ + #define __mDNSPlatformPosix_h + + #include ++#include + #include + + #ifdef __cplusplus +@@ -40,6 +41,7 @@ struct PosixNetworkInterface + char * intfName; + PosixNetworkInterface * aliasIntf; + int index; ++ sa_family_t sa_family; + int multicastSocket4; + #if HAVE_IPV6 + int multicastSocket6; +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0003-mDNSShared-Drop-MacOS-specific-__block-qualifier.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0003-mDNSShared-Drop-MacOS-specific-__block-qualifier.patch new file mode 100644 index 0000000000..0ac0bb6a45 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0003-mDNSShared-Drop-MacOS-specific-__block-qualifier.patch @@ -0,0 +1,30 @@ +From 4c0954f77ba05d77192ee1519929a39fbc978321 Mon Sep 17 00:00:00 2001 +From: Alex Kiernan +Date: Mon, 5 Dec 2022 15:14:22 +0000 +Subject: [PATCH 3/6] mDNSShared: Drop MacOS specific __block qualifier + +Support for this extension only exists in MacOS/Clang, also it's not +actually used here, so we can just drop it. + +Upstream-Status: Pending +Signed-off-by: Alex Kiernan +--- + mDNSShared/uds_daemon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mDNSShared/uds_daemon.c b/mDNSShared/uds_daemon.c +index 9ae5f78542d6..8c006b71a4ea 100644 +--- a/mDNSShared/uds_daemon.c ++++ b/mDNSShared/uds_daemon.c +@@ -2912,7 +2912,7 @@ exit: + mDNSlocal mStatus add_domain_to_browser(request_state *info, const domainname *d) + { + browser_t *b, *p; +- __block mStatus err; ++ mStatus err; + + for (p = info->u.browser.browsers; p; p = p->next) + { +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-Indicate-loopback-interface-to-mDNS-core.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-Indicate-loopback-interface-to-mDNS-core.patch new file mode 100644 index 0000000000..a5f7f0136b --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-Indicate-loopback-interface-to-mDNS-core.patch @@ -0,0 +1,58 @@ +From beab76b5708862f44d9acbe7a92db45e2f99259f Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Tue, 1 Aug 2017 17:06:01 -0500 +Subject: [PATCH 4/8] Indicate loopback interface to mDNS core + +Tells the mDNS core if an interface is a loopback interface, +similar to AddInterfaceToList() in the MacOS implementation. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +Signed-off-by: Alex Kiernan +--- + mDNSPosix/mDNSPosix.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 9a5b4d7ea4cb..02a19b438e03 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -1348,7 +1348,7 @@ mDNSlocal void CleanRecentInterfaces(void) + // Creates a PosixNetworkInterface for the interface whose IP address is + // intfAddr and whose name is intfName and registers it with mDNS core. + mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct sockaddr *intfMask, +- const mDNSu8 *intfHaddr, mDNSu16 intfHlen, const char *intfName, int intfIndex) ++ const mDNSu8 *intfHaddr, mDNSu16 intfHlen, const char *intfName, int intfIndex, int intfFlags) + { + int err = 0; + PosixNetworkInterface *intf; +@@ -1411,6 +1411,7 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct + + intf->coreIntf.Advertise = m->AdvertiseLocalAddresses; + intf->coreIntf.McastTxRx = mDNStrue; ++ intf->coreIntf.Loopback = ((intfFlags & IFF_LOOPBACK) != 0) ? mDNStrue : mDNSfalse; + + // Set up the extra fields in PosixNetworkInterface. + assert(intf->intfName != NULL); // intf->intfName already set up above +@@ -1561,7 +1562,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m) + } + #endif + if (SetupOneInterface(m, i->ifa_addr, i->ifa_netmask, +- hwaddr, hwaddr_len, i->ifa_name, ifIndex) == 0) ++ hwaddr, hwaddr_len, i->ifa_name, ifIndex, i->ifa_flags) == 0) + { + if (i->ifa_addr->sa_family == AF_INET) + foundav4 = mDNStrue; +@@ -1578,7 +1579,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m) + // if ((m->HostInterfaces == NULL) && (firstLoopback != NULL)) + if (!foundav4 && firstLoopback) + (void) SetupOneInterface(m, firstLoopback->ifa_addr, firstLoopback->ifa_netmask, +- NULL, 0, firstLoopback->ifa_name, firstLoopbackIndex); ++ NULL, 0, firstLoopback->ifa_name, firstLoopbackIndex, firstLoopback->ifa_flags); + } + + // Clean up. +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-make-Separate-TLS-targets-from-libraries.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-make-Separate-TLS-targets-from-libraries.patch new file mode 100644 index 0000000000..a8e8dae60a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-make-Separate-TLS-targets-from-libraries.patch @@ -0,0 +1,64 @@ +From 22316f200803225f2d375ae5c36ffead59e2f6b8 Mon Sep 17 00:00:00 2001 +From: Alex Kiernan +Date: Mon, 5 Dec 2022 15:14:26 +0000 +Subject: [PATCH 4/6] make: Separate TLS targets from libraries + +There are dependencies on TLSOBJS, which fails when `-lmbedtls` is +listed as a dependency, so separate it out. + +Upstream-Status: Pending +Signed-off-by: Alex Kiernan +--- + mDNSPosix/Makefile | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile +index 5e74193c0e89..b4313c36b035 100755 +--- a/mDNSPosix/Makefile ++++ b/mDNSPosix/Makefile +@@ -112,9 +112,11 @@ ifeq ($(findstring linux,$(os)),linux) + ifeq ($(tls), no) + CFLAGS_OS = -D_GNU_SOURCE -DHAVE_IPV6 -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DTARGET_OS_LINUX -ftabstop=4 -Wno-expansion-to-defined + TLSOBJS = ++TLSLIBS = + else + CFLAGS_OS = -D_GNU_SOURCE -DHAVE_IPV6 -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DTARGET_OS_LINUX -DPOSIX_HAS_TLS -ftabstop=4 -Wno-expansion-to-defined +-TLSOBJS = $(OBJDIR)/mbedtls.c.o -lmbedtls -lmbedcrypto ++TLSOBJS = $(OBJDIR)/mbedtls.c.o ++TLSLIBS = -lmbedtls -lmbedcrypto + endif + LD = $(CC) + SOOPTS = -shared +@@ -266,7 +268,7 @@ Daemon: setup $(BUILDDIR)/mdnsd + @echo "Responder daemon done" + + $(BUILDDIR)/mdnsd: $(DAEMONOBJS) +- $(CC) -o $@ $+ $(LINKOPTS) ++ $(CC) -o $@ $+ $(LINKOPTS) $(TLSLIBS) + $(STRIP) $@ + + # libdns_sd target builds the client library +@@ -485,16 +487,16 @@ dnsextd: setup $(BUILDDIR)/dnsextd + @echo "dnsextd done" + + $(BUILDDIR)/mDNSClientPosix: $(APPOBJ) $(TLSOBJS) $(OBJDIR)/Client.c.o +- $(CC) $+ -o $@ $(LINKOPTS) ++ $(CC) $+ -o $@ $(LINKOPTS) $(TLSLIBS) + + $(BUILDDIR)/mDNSResponderPosix: $(COMMONOBJ) $(TLSOBJS) $(OBJDIR)/Responder.c.o +- $(CC) $+ -o $@ $(LINKOPTS) ++ $(CC) $+ -o $@ $(LINKOPTS) $(TLSLIBS) + + $(BUILDDIR)/mDNSProxyResponderPosix: $(COMMONOBJ) $(TLSOBJS) $(OBJDIR)/ProxyResponder.c.o +- $(CC) $+ -o $@ $(LINKOPTS) ++ $(CC) $+ -o $@ $(LINKOPTS) $(TLSLIBS) + + $(BUILDDIR)/mDNSNetMonitor: $(SPECIALOBJ) $(TLSOBJS) $(OBJDIR)/NetMonitor.c.o +- $(CC) $+ -o $@ $(LINKOPTS) ++ $(CC) $+ -o $@ $(LINKOPTS) $(TLSLIBS) + + $(OBJDIR)/NetMonitor.c.o: $(COREDIR)/mDNS.c # Note: NetMonitor.c textually imports mDNS.c + +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-Use-list-for-changed-interfaces.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-Use-list-for-changed-interfaces.patch new file mode 100644 index 0000000000..1aec34f243 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-Use-list-for-changed-interfaces.patch @@ -0,0 +1,169 @@ +From e79f81f5cd626ad77ec64de4325f6645cf253c5e Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Thu, 13 Jul 2017 09:00:00 -0500 +Subject: [PATCH 5/8] Use list for changed interfaces + +Uses a linked list to store the index of changed network interfaces +instead of a bitfield. This allows for network interfaces with an +index greater than 31 (an index of 36 was seen on Android). + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +Signed-off-by: Alex Kiernan +--- + mDNSPosix/mDNSPosix.c | 58 ++++++++++++++++++++++++++++++++----------- + 1 file changed, 43 insertions(+), 15 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 02a19b438e03..e20adda92229 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -74,6 +74,14 @@ struct IfChangeRec + }; + typedef struct IfChangeRec IfChangeRec; + ++// Used to build a list of network interface indices ++struct NetworkInterfaceIndex ++{ ++ int if_index; ++ struct NetworkInterfaceIndex *Next; ++}; ++typedef struct NetworkInterfaceIndex NetworkInterfaceIndex; ++ + // Note that static data is initialized to zero in (modern) C. + static PosixEventSource *gEventSources; // linked list of PosixEventSource's + static sigset_t gEventSignalSet; // Signals which event loop listens for +@@ -1621,6 +1629,23 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD) + return err; + } + ++mDNSlocal void AddInterfaceIndexToList(GenLinkedList *list, int if_index) ++{ ++ NetworkInterfaceIndex *item; ++ ++ for (item = (NetworkInterfaceIndex*)list->Head; item != NULL; item = item->Next) ++ { ++ if (if_index == item->if_index) return; ++ } ++ ++ item = mdns_malloc(sizeof *item); ++ if (item == NULL) return; ++ ++ item->if_index = if_index; ++ item->Next = NULL; ++ AddToTail(list, item); ++} ++ + #if MDNS_DEBUGMSGS + mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg) + { +@@ -1648,14 +1673,13 @@ mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg) + } + #endif + +-mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) ++mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *changedInterfaces) + // Read through the messages on sd and if any indicate that any interface records should + // be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0. + { + ssize_t readCount; + char buff[4096]; + struct nlmsghdr *pNLMsg = (struct nlmsghdr*) buff; +- mDNSu32 result = 0; + + // The structure here is more complex than it really ought to be because, + // unfortunately, there's no good way to size a buffer in advance large +@@ -1691,9 +1715,9 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) + + // Process the NetLink message + if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK) +- result |= 1 << ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index; ++ AddInterfaceIndexToList(changedInterfaces, ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index); + else if (pNLMsg->nlmsg_type == RTM_DELADDR || pNLMsg->nlmsg_type == RTM_NEWADDR) +- result |= 1 << ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index; ++ AddInterfaceIndexToList(changedInterfaces, ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index); + + // Advance pNLMsg to the next message in the buffer + if ((pNLMsg->nlmsg_flags & NLM_F_MULTI) != 0 && pNLMsg->nlmsg_type != NLMSG_DONE) +@@ -1704,8 +1728,6 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) + else + break; // all done! + } +- +- return result; + } + + #else // USES_NETLINK +@@ -1737,14 +1759,13 @@ mDNSlocal void PrintRoutingSocketMsg(const struct ifa_msghdr *pRSMsg) + } + #endif + +-mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) ++mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *changedInterfaces) + // Read through the messages on sd and if any indicate that any interface records should + // be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0. + { + ssize_t readCount; + char buff[4096]; + struct ifa_msghdr *pRSMsg = (struct ifa_msghdr*) buff; +- mDNSu32 result = 0; + + readCount = read(sd, buff, sizeof buff); + if (readCount < (ssize_t) sizeof(struct ifa_msghdr)) +@@ -1759,12 +1780,10 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) + pRSMsg->ifam_type == RTM_IFINFO) + { + if (pRSMsg->ifam_type == RTM_IFINFO) +- result |= 1 << ((struct if_msghdr*) pRSMsg)->ifm_index; ++ AddInterfaceIndexToList(changedInterfaces, ((struct if_msghdr*) pRSMsg)->ifm_index); + else +- result |= 1 << pRSMsg->ifam_index; ++ AddInterfaceIndexToList(changedInterfaces, pRSMsg->ifam_index); + } +- +- return result; + } + + #endif // USES_NETLINK +@@ -1774,7 +1793,8 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context) + { + IfChangeRec *pChgRec = (IfChangeRec*) context; + fd_set readFDs; +- mDNSu32 changedInterfaces = 0; ++ GenLinkedList changedInterfaces; ++ NetworkInterfaceIndex *changedInterface; + struct timeval zeroTimeout = { 0, 0 }; + + (void)fd; // Unused +@@ -1782,17 +1802,25 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context) + FD_ZERO(&readFDs); + FD_SET(pChgRec->NotifySD, &readFDs); + ++ InitLinkedList(&changedInterfaces, offsetof(NetworkInterfaceIndex, Next)); ++ + do + { +- changedInterfaces |= ProcessRoutingNotification(pChgRec->NotifySD); ++ ProcessRoutingNotification(pChgRec->NotifySD, &changedInterfaces); + } + while (0 < select(pChgRec->NotifySD + 1, &readFDs, (fd_set*) NULL, (fd_set*) NULL, &zeroTimeout)); + + // Currently we rebuild the entire interface list whenever any interface change is + // detected. If this ever proves to be a performance issue in a multi-homed + // configuration, more care should be paid to changedInterfaces. +- if (changedInterfaces) ++ if (changedInterfaces.Head != NULL) + mDNSPlatformPosixRefreshInterfaceList(pChgRec->mDNS); ++ ++ while ((changedInterface = (NetworkInterfaceIndex*)changedInterfaces.Head) != NULL) ++ { ++ RemoveFromList(&changedInterfaces, changedInterface); ++ mdns_free(changedInterface); ++ } + } + + // Register with either a Routing Socket or RtNetLink to listen for interface changes. +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-mDNSCore-Fix-broken-debug-parameter.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-mDNSCore-Fix-broken-debug-parameter.patch new file mode 100644 index 0000000000..6553f6b983 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-mDNSCore-Fix-broken-debug-parameter.patch @@ -0,0 +1,26 @@ +From 60533a8947af714cc593bae6b20d47f3a4828589 Mon Sep 17 00:00:00 2001 +From: Alex Kiernan +Date: Mon, 5 Dec 2022 22:49:49 +0000 +Subject: [PATCH 5/6] mDNSCore: Fix broken debug parameter + +Signed-off-by: Alex Kiernan +--- + mDNSCore/mDNS.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mDNSCore/mDNS.c b/mDNSCore/mDNS.c +index 66979587ee82..e0a982fa1762 100644 +--- a/mDNSCore/mDNS.c ++++ b/mDNSCore/mDNS.c +@@ -9831,7 +9831,7 @@ mDNSlocal void mDNSCoreReceiveNoUnicastAnswers(mDNS *const m, const DNSMessage * + #else + const DNSServRef dnsserv = qptr->qDNSServer; + #endif +- debugf("mDNSCoreReceiveNoUnicastAnswers making negative cache entry TTL %d for %##s (%s)", negttl, name->c, DNSTypeName(q.qtype)); ++ debugf("mDNSCoreReceiveNoUnicastAnswers making negative cache entry TTL %d for %##s (%s)", negttl, currentQName->c, DNSTypeName(q.qtype)); + // Create a negative record for the current name in the CNAME chain. + MakeNegativeCacheRecord(m, &m->rec.r, currentQName, currentQNameHash, q.qtype, q.qclass, negttl, mDNSInterface_Any, + dnsserv, response->h.flags); +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-Handle-noisy-netlink-sockets.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-Handle-noisy-netlink-sockets.patch new file mode 100644 index 0000000000..882d08e6c6 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-Handle-noisy-netlink-sockets.patch @@ -0,0 +1,252 @@ +From bfa1d68bed863e22c40a6d9a19ffbcc8694bbff6 Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Mon, 24 Jul 2017 09:38:55 -0500 +Subject: [PATCH 6/8] Handle noisy netlink sockets + +The POSIX implementation currently clears all network interfaces +when netlink indicates that there has been a change. This causes +the following problems: + + 1) Applications are informed that all of the services they are + tracking have been removed. + 2) Increases network load because the client must re-query for + all records it is interested in. + +This changes netlink notification handling by: + + 1) Always comparing with the latest interface list returned + by the OS. + 2) Confirming that the interface has been changed in a way + that we care about. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +Signed-off-by: Alex Kiernan +--- + mDNSPosix/mDNSPosix.c | 182 +++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 172 insertions(+), 10 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index e20adda92229..5d52de31f79b 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -1788,14 +1788,43 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change + + #endif // USES_NETLINK + ++// Test whether the given PosixNetworkInterface matches the given struct ifaddrs ++mDNSlocal mDNSBool InterfacesMatch(PosixNetworkInterface *intf, struct ifaddrs *ifi) ++{ ++ mDNSBool match = mDNSfalse; ++ mDNSAddr ip, mask; ++ unsigned int if_index; ++ ++ if_index = if_nametoindex(ifi->ifa_name); ++ if (if_index == 0) ++ return mDNSfalse; ++ ++ if((intf->index == if_index) && ++ (intf->sa_family == ifi->ifa_addr->sa_family) && ++ (strcmp(intf->coreIntf.ifname, ifi->ifa_name) == 0)) ++ { ++ SockAddrTomDNSAddr(ifi->ifa_addr, &ip, NULL); ++ SockAddrTomDNSAddr(ifi->ifa_netmask, &mask, NULL); ++ ++ match = mDNSSameAddress(&intf->coreIntf.ip, &ip) && ++ mDNSSameAddress(&intf->coreIntf.mask, &mask); ++ } ++ ++ return match; ++} ++ + // Called when data appears on interface change notification socket + mDNSlocal void InterfaceChangeCallback(int fd, void *context) + { + IfChangeRec *pChgRec = (IfChangeRec*) context; ++ mDNS *m = pChgRec->mDNS; + fd_set readFDs; + GenLinkedList changedInterfaces; + NetworkInterfaceIndex *changedInterface; + struct timeval zeroTimeout = { 0, 0 }; ++ struct ifaddrs *ifa_list, **ifi, *ifa_loop4 = NULL; ++ PosixNetworkInterface *intf, *intfNext; ++ mDNSBool found, foundav4; + + (void)fd; // Unused + +@@ -1810,12 +1839,149 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context) + } + while (0 < select(pChgRec->NotifySD + 1, &readFDs, (fd_set*) NULL, (fd_set*) NULL, &zeroTimeout)); + +- // Currently we rebuild the entire interface list whenever any interface change is +- // detected. If this ever proves to be a performance issue in a multi-homed +- // configuration, more care should be paid to changedInterfaces. +- if (changedInterfaces.Head != NULL) +- mDNSPlatformPosixRefreshInterfaceList(pChgRec->mDNS); ++ CleanRecentInterfaces(); ++ ++ if (changedInterfaces.Head == NULL) goto cleanup; ++ ++ if (getifaddrs(&ifa_list) < 0) goto cleanup; ++ ++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = intfNext) ++ { ++ intfNext = (PosixNetworkInterface*)(intf->coreIntf.next); ++ ++ // Loopback interface(s) are handled later ++ if (intf->coreIntf.Loopback) continue; ++ ++ found = mDNSfalse; ++ for (ifi = &ifa_list; *ifi != NULL; ifi = &(*ifi)->ifa_next) ++ { ++ if (InterfacesMatch(intf, *ifi)) ++ { ++ found = mDNStrue; ++ break; ++ } ++ } ++ ++ // Removes changed and old interfaces from m->HostInterfaces ++ if (!found) TearDownInterface(m, intf); ++ } ++ ++ // Add new and changed interfaces in ifa_list ++ // Save off loopback interface in case it is needed later ++ for (ifi = &ifa_list; *ifi != NULL; ifi = &(*ifi)->ifa_next) ++ { ++ found = mDNSfalse; ++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = intfNext) ++ { ++ intfNext = (PosixNetworkInterface*)(intf->coreIntf.next); ++ ++ // Loopback interface(s) are handled later ++ if (intf->coreIntf.Loopback) continue; ++ ++ if (InterfacesMatch(intf, *ifi)) ++ { ++ found = mDNStrue; ++ break; ++ } ++ ++ // Removes changed and old interfaces from m->HostInterfaces ++ } ++ if (found) ++ continue; ++ ++ if ((ifa_loop4 == NULL) && ++ ((*ifi)->ifa_addr->sa_family == AF_INET) && ++ ((*ifi)->ifa_flags & IFF_UP) && ++ ((*ifi)->ifa_flags & IFF_LOOPBACK)) ++ { ++ ifa_loop4 = *ifi; ++ continue; ++ } ++ ++ if ( (((*ifi)->ifa_addr->sa_family == AF_INET) ++#if HAVE_IPV6 ++ || ((*ifi)->ifa_addr->sa_family == AF_INET6) ++#endif ++ ) && ((*ifi)->ifa_flags & IFF_UP) ++ && !((*ifi)->ifa_flags & IFF_POINTOPOINT) ++ && !((*ifi)->ifa_flags & IFF_LOOPBACK)) ++ { ++ struct ifaddrs *i = *ifi; ++ ++#define ethernet_addr_len 6 ++ uint8_t hwaddr[ethernet_addr_len]; ++ int hwaddr_len = 0; ++ ++#if defined(TARGET_OS_LINUX) && TARGET_OS_LINUX ++ struct ifreq ifr; ++ int sockfd = socket(AF_INET6, SOCK_DGRAM, 0); ++ if (sockfd >= 0) ++ { ++ /* Add hardware address */ ++ memcpy(ifr.ifr_name, i->ifa_name, IFNAMSIZ); ++ if (ioctl(sockfd, SIOCGIFHWADDR, &ifr) != -1) ++ { ++ if (ifr.ifr_hwaddr.sa_family == ARPHRD_ETHER) ++ { ++ memcpy(hwaddr, ifr.ifr_hwaddr.sa_data, ethernet_addr_len); ++ hwaddr_len = ethernet_addr_len; ++ } ++ } ++ close(sockfd); ++ } ++ else ++ { ++ memset(hwaddr, 0, sizeof(hwaddr)); ++ } ++#endif // TARGET_OS_LINUX ++ SetupOneInterface(m, i->ifa_addr, i->ifa_netmask, ++ hwaddr, hwaddr_len, i->ifa_name, if_nametoindex(i->ifa_name), i->ifa_flags); ++ } ++ } ++ ++ // Determine if there is at least one non-loopback IPv4 interface. This is to work around issues ++ // with multicast loopback on IPv6 interfaces -- see corresponding logic in SetupInterfaceList(). ++ foundav4 = mDNSfalse; ++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = (PosixNetworkInterface*)(intf->coreIntf.next)) ++ { ++ if (intf->sa_family == AF_INET && !intf->coreIntf.Loopback) ++ { ++ foundav4 = mDNStrue; ++ break; ++ } ++ } ++ ++ if (foundav4) ++ { ++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = intfNext) ++ { ++ intfNext = (PosixNetworkInterface*)(intf->coreIntf.next); ++ if (intf->coreIntf.Loopback) TearDownInterface(m, intf); ++ } ++ } ++ else ++ { ++ found = mDNSfalse; ++ ++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = (PosixNetworkInterface*)(intf->coreIntf.next)) ++ { ++ if (intf->coreIntf.Loopback) ++ { ++ found = mDNStrue; ++ break; ++ } ++ } ++ ++ if (!found && (ifa_loop4 != NULL)) ++ { ++ SetupOneInterface(m, ifa_loop4->ifa_addr, ifa_loop4->ifa_netmask, ++ NULL, 0, ifa_loop4->ifa_name, if_nametoindex(ifa_loop4->ifa_name), ifa_loop4->ifa_flags); ++ } ++ } ++ ++ if (ifa_list != NULL) freeifaddrs(ifa_list); + ++cleanup: + while ((changedInterface = (NetworkInterfaceIndex*)changedInterfaces.Head) != NULL) + { + RemoveFromList(&changedInterfaces, changedInterface); +@@ -1947,15 +2113,11 @@ mDNSexport void mDNSPlatformClose(mDNS *const m) + #endif + } + +-// This is used internally by InterfaceChangeCallback. +-// It's also exported so that the Standalone Responder (mDNSResponderPosix) ++// This is exported so that the Standalone Responder (mDNSResponderPosix) + // can call it in response to a SIGHUP (mainly for debugging purposes). + mDNSexport mStatus mDNSPlatformPosixRefreshInterfaceList(mDNS *const m) + { + int err; +- // This is a pretty heavyweight way to process interface changes -- +- // destroying the entire interface list and then making fresh one from scratch. +- // We should make it like the OS X version, which leaves unchanged interfaces alone. + ClearInterfaceList(m); + err = SetupInterfaceList(m); + return PosixErrorToStatus(err); +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-make-Add-top-level-Makefile.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-make-Add-top-level-Makefile.patch new file mode 100644 index 0000000000..268e574c50 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-make-Add-top-level-Makefile.patch @@ -0,0 +1,25 @@ +From fa9ef50ab4c4225cf3ade4bafc38ddf93e6fe127 Mon Sep 17 00:00:00 2001 +From: Alex Kiernan +Date: Tue, 6 Dec 2022 13:28:31 +0000 +Subject: [PATCH 6/6] make: Add top-level Makefile + +Simple top level Makefile that just delegates to mDNSPosix. + +Upstream-Status: Inappropriate [oe-specific] +Signed-off-by: Alex Kiernan +--- + Makefile | 2 ++ + 1 file changed, 2 insertions(+) + create mode 100644 Makefile + +diff --git a/Makefile b/Makefile +new file mode 100644 +index 000000000000..feb6ac67ef47 +--- /dev/null ++++ b/Makefile +@@ -0,0 +1,2 @@ ++all clean: ++ cd mDNSPosix && $(MAKE) $@ +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0007-Mark-deleted-interfaces-as-being-changed.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0007-Mark-deleted-interfaces-as-being-changed.patch new file mode 100644 index 0000000000..e53b0fd3ae --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0007-Mark-deleted-interfaces-as-being-changed.patch @@ -0,0 +1,40 @@ +From a8accffb95267490b50401c8b65ec18db57b5ef5 Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Wed, 9 Aug 2017 09:16:58 -0500 +Subject: [PATCH 7/8] Mark deleted interfaces as being changed + +Netlink notification handling ignores messages for deleted links, +RTM_DELLINK. It does handle RTM_GETLINK. According to libnl docu- +mentation (http://www.infradead.org/~tgr/libnl/doc/route.html) +RTM_DELLINK can be sent by the kernel, but RTM_GETLINK cannot. +There was likely a mixup in the original implementation, so this +change replaces handling for RTM_GETLINK with RTM_DELLINK. + +Testing and Verification Instructions: + 1. Use ip-link to add and remove a VLAN interface and verify + that mDNSResponder handles the deleted link. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +Signed-off-by: Alex Kiernan +--- + mDNSPosix/mDNSPosix.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 5d52de31f79b..77d982f4c50b 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -1714,7 +1714,7 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change + #endif + + // Process the NetLink message +- if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK) ++ if (pNLMsg->nlmsg_type == RTM_DELLINK || pNLMsg->nlmsg_type == RTM_NEWLINK) + AddInterfaceIndexToList(changedInterfaces, ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index); + else if (pNLMsg->nlmsg_type == RTM_DELADDR || pNLMsg->nlmsg_type == RTM_NEWADDR) + AddInterfaceIndexToList(changedInterfaces, ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index); +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0008-Handle-errors-from-socket-calls.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0008-Handle-errors-from-socket-calls.patch new file mode 100644 index 0000000000..e689f8c267 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0008-Handle-errors-from-socket-calls.patch @@ -0,0 +1,63 @@ +From ed58146d3aeecdb9920fdc017f85c18b5b10f2db Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Thu, 10 Aug 2017 08:27:32 -0500 +Subject: [PATCH 8/8] Handle errors from socket calls + +Adds handling for socket() or read() returning a +negative value (indicating an error has occurred). + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +Signed-off-by: Alex Kiernan +--- + mDNSPosix/mDNSPosix.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 77d982f4c50b..cab512160afb 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -1677,7 +1677,7 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change + // Read through the messages on sd and if any indicate that any interface records should + // be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0. + { +- ssize_t readCount; ++ ssize_t readVal, readCount; + char buff[4096]; + struct nlmsghdr *pNLMsg = (struct nlmsghdr*) buff; + +@@ -1686,7 +1686,10 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change + // enough to hold all pending data and so avoid message fragmentation. + // (Note that FIONREAD is not supported on AF_NETLINK.) + +- readCount = read(sd, buff, sizeof buff); ++ readVal = read(sd, buff, sizeof buff); ++ if (readVal < 0) return; ++ readCount = readVal; ++ + while (1) + { + // Make sure we've got an entire nlmsghdr in the buffer, and payload, too. +@@ -1702,7 +1705,9 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change + pNLMsg = (struct nlmsghdr*) buff; + + // read more data +- readCount += read(sd, buff + readCount, sizeof buff - readCount); ++ readVal = read(sd, buff + readCount, sizeof buff - readCount); ++ if (readVal < 0) return; ++ readCount += readVal; + continue; // spin around and revalidate with new readCount + } + else +@@ -2017,6 +2022,7 @@ mDNSlocal mDNSBool mDNSPlatformInit_CanReceiveUnicast(void) + int err; + int s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); + struct sockaddr_in s5353; ++ if (s < 0) return mDNSfalse; + s5353.sin_family = AF_INET; + s5353.sin_port = MulticastDNSPort.NotAnInteger; + s5353.sin_addr.s_addr = 0; +-- +2.35.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/mdns.service b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/mdns.service new file mode 100644 index 0000000000..531d142dcd --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/mdns.service @@ -0,0 +1,15 @@ +[Unit] +Description=Zero-configuration networking +After=network.target + +[Service] +Type=forking +ExecStartPre=/bin/rm -f /var/run/mdnsd.pid +ExecStart=/usr/sbin/mdnsd +ExecReload=/bin/kill -HUP $MAINPID +PIDFile=/var/run/mdnsd.pid +Restart=always +RestartSec=10s + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1310.140.1.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1310.140.1.bb deleted file mode 100644 index 205dc929be..0000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1310.140.1.bb +++ /dev/null @@ -1,115 +0,0 @@ -SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol" -DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks." -HOMEPAGE = "http://developer.apple.com/networking/bonjour/" -LICENSE = "Apache-2.0 & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf" - -DEPENDS:append:libc-musl = " musl-nscd" - -RPROVIDES:${PN} += "libdns_sd.so" - -SRC_URI = "https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \ - file://mdns.service \ - file://0001-mdns-include-stddef.h-for-NULL.patch;patchdir=.. \ - file://0002-mdns-cross-compilation-fixes-for-bitbake.patch;patchdir=.. \ - file://0001-Create-subroutine-for-cleaning-recent-interfaces.patch;patchdir=.. \ - file://0002-Create-subroutine-for-tearing-down-an-interface.patch;patchdir=.. \ - file://0003-Track-interface-socket-family.patch;patchdir=.. \ - file://0004-Use-list-for-changed-interfaces.patch;patchdir=.. \ - file://0006-Remove-unneeded-function.patch;patchdir=.. \ - file://0008-Mark-deleted-interfaces-as-being-changed.patch;patchdir=.. \ - file://0009-Fix-possible-NULL-dereference.patch;patchdir=.. \ - file://0010-Handle-errors-from-socket-calls.patch;patchdir=.. \ - file://0011-Change-a-dynamic-allocation-to-file-scope-variable.patch;patchdir=.. \ - file://0001-dns-sd-Include-missing-headers.patch;patchdir=.. \ - " -SRC_URI[sha256sum] = "040f6495c18b9f0557bcf9e00cbcfc82b03405f5ba6963dc147730ca0ca90d6f" - -CVE_PRODUCT = "apple:mdnsresponder" - -# CVE-2007-0613 is not applicable as it only affects Apple products -# i.e. ichat,mdnsresponder, instant message framework and MacOS. -# Also, https://www.exploit-db.com/exploits/3230 shows the part of code -# affected by CVE-2007-0613 which is not preset in upstream source code. -# Hence, CVE-2007-0613 does not affect other Yocto implementations and -# is not reported for other distros can be marked whitelisted. -# Links: -# https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613 -# https://www.incibe-cert.es/en/early-warning/vulnerabilities/cve-2007-0613 -# https://security-tracker.debian.org/tracker/CVE-2007-0613 -# https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613 -CVE_CHECK_IGNORE += "CVE-2007-0613" - -PARALLEL_MAKE = "" - -S = "${WORKDIR}/mDNSResponder-${PV}/mDNSPosix" - -EXTRA_OEMAKE += "os=linux DEBUG=0 'CC=${CC}' 'LD=${CCLD} ${LDFLAGS}'" - -TARGET_CC_ARCH += "${LDFLAGS}" - -do_install () { - install -d ${D}${sbindir} - install -m 0755 build/prod/mdnsd ${D}${sbindir} - - install -d ${D}${libdir} - cp build/prod/libdns_sd.so ${D}${libdir}/libdns_sd.so.1 - chmod 0644 ${D}${libdir}/libdns_sd.so.1 - ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so - - install -d ${D}${includedir} - install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir} - - install -d ${D}${mandir}/man8 - install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8 - - install -d ${D}${bindir} - install -m 0755 ../Clients/build/dns-sd ${D}${bindir} - - install -d ${D}${libdir} - oe_libinstall -C build/prod -so libnss_mdns-0.2 ${D}${libdir} - ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2 - - install -d ${D}${sysconfdir} - install -m 0644 nss_mdns.conf ${D}${sysconfdir} - - install -d ${D}${mandir}/man5 - install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5 - - install -d ${D}${mandir}/man8 - install -m 0644 libnss_mdns.8 ${D}${mandir}/man8 - - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_unitdir}/system/ -} - -pkg_postinst:${PN} () { - sed -e '/^hosts:/s/\s*\//' \ - -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 mdns\3\4\5/' \ - -i $D/etc/nsswitch.conf -} - -pkg_prerm:${PN} () { - sed -e '/^hosts:/s/\s*\//' \ - -e '/^hosts:/s/\s*mdns//' \ - -i $D/etc/nsswitch.conf -} - -inherit systemd - -SYSTEMD_SERVICE:${PN} = "mdns.service" - -FILES:${PN} += "${systemd_unitdir}/system/mdns.service" -FILES:${PN} += "${libdir}/libdns_sd.so.1 \ - ${bindir}/dns-sd \ - ${libdir}/libnss_mdns-0.2.so \ - ${sysconfdir}/nss_mdns.conf" - -FILES:${PN}-dev += "${libdir}/libdns_sd.so \ - ${includedir}/dns_sd.h " - -FILES:${PN}-man += "${mandir}/man8/mdnsd.8 \ - ${mandir}/man5/nss_mdns.conf.5 \ - ${mandir}/man8/libnss_mdns.8" - -PACKAGES = "${PN} ${PN}-dev ${PN}-man ${PN}-dbg" diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.60.25.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.60.25.bb new file mode 100644 index 0000000000..96eb4e50c7 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.60.25.bb @@ -0,0 +1,134 @@ +SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol" +DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks." +HOMEPAGE = "http://developer.apple.com/networking/bonjour/" +LICENSE = "Apache-2.0 & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=31c50371921e0fb731003bbc665f29bf" + +DEPENDS:append:libc-musl = " musl-nscd" + +SRC_URI = "git://github.com/apple-oss-distributions/mDNSResponder;protocol=https;branch=rel/mDNSResponder-1790 \ + file://0001-dns-sd-Include-missing-headers.patch \ + file://0002-make-Set-libdns_sd.so-soname-correctly.patch \ + file://0003-mDNSShared-Drop-MacOS-specific-__block-qualifier.patch \ + file://0004-make-Separate-TLS-targets-from-libraries.patch \ + file://0005-mDNSCore-Fix-broken-debug-parameter.patch \ + file://0006-make-Add-top-level-Makefile.patch \ + file://0001-Create-subroutine-for-cleaning-recent-interfaces.patch \ + file://0002-Create-subroutine-for-tearing-down-an-interface.patch \ + file://0003-Track-interface-socket-family.patch \ + file://0004-Indicate-loopback-interface-to-mDNS-core.patch \ + file://0005-Use-list-for-changed-interfaces.patch \ + file://0006-Handle-noisy-netlink-sockets.patch \ + file://0007-Mark-deleted-interfaces-as-being-changed.patch \ + file://0008-Handle-errors-from-socket-calls.patch \ + file://mdns.service \ + " +SRCREV = "e48e3a58b763a0d7b76a14f7f309e24d7502e796" + +# We install a stub Makefile in the top directory so that the various checks +# in base.bbclass pass their tests for a Makefile, this ensures (that amongst +# other things) the sstate checks will clean the build directory when the +# task hashes changes. +# +# We can't use the approach of setting ${S} to mDNSPosix as we need +# DEBUG_PREFIX_MAP to cover files which come from the Clients directory too. +S = "${WORKDIR}/git" + +inherit github-releases manpages systemd update-rc.d + +PACKAGECONFIG ?= "tls \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[debug] = "DEBUG=1,DEBUG=0" +PACKAGECONFIG[ipv6] = "HAVE_IPV6=1,HAVE_IPV6=0" +PACKAGECONFIG[manpages] = "" +PACKAGECONFIG[tls] = ",tls=no,mbedtls" + +CVE_PRODUCT = "apple:mdnsresponder" + +# CVE-2007-0613 is not applicable as it only affects Apple products +# i.e. ichat,mdnsresponder, instant message framework and MacOS. +# Also, https://www.exploit-db.com/exploits/3230 shows the part of code +# affected by CVE-2007-0613 which is not preset in upstream source code. +# Hence, CVE-2007-0613 does not affect other Yocto implementations and +# is not reported for other distros can be marked whitelisted. +# Links: +# https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613 +# https://www.incibe-cert.es/en/early-warning/vulnerabilities/cve-2007-0613 +# https://security-tracker.debian.org/tracker/CVE-2007-0613 +# https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613 +CVE_CHECK_IGNORE += "CVE-2007-0613" + +PARALLEL_MAKE = "" + +EXTRA_OEMAKE = "os=linux 'CC=${CCLD}' 'LD=${CCLD}' 'LINKOPTS=${LDFLAGS}' STRIP=: ${PACKAGECONFIG_CONFARGS}" + +# MDNS_VERSIONSTR_NODTS disables __DATE__ and __TIME__ in the version string, +# which are fixed anyway for build reproducibility. +TARGET_CPPFLAGS += "-DMDNS_VERSIONSTR_NODTS" + +TARGET_CC_ARCH += "${LDFLAGS}" + +MDNS_BUILDDIR = "build/${@bb.utils.contains('PACKAGECONFIG','debug','debug','prod', d)}" + +do_install () { + cd mDNSPosix + + install -d ${D}${sbindir} + install ${MDNS_BUILDDIR}/mdnsd ${D}${sbindir} + + install -d ${D}${libdir} + install -m 0644 ${MDNS_BUILDDIR}/libdns_sd.so ${D}${libdir}/libdns_sd.so.1 + ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so + + install -d ${D}${includedir} + install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir} + + install -d ${D}${mandir}/man8 + install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8 + + install -d ${D}${bindir} + install -m 0755 ../Clients/build/dns-sd ${D}${bindir} + + install -d ${D}${libdir} + oe_libinstall -C ${MDNS_BUILDDIR} -so libnss_mdns-0.2 ${D}${libdir} + ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2 + + install -d ${D}${sysconfdir} + install -m 0644 nss_mdns.conf ${D}${sysconfdir} + + install -d ${D}${mandir}/man5 + install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5 + + install -d ${D}${mandir}/man8 + install -m 0644 libnss_mdns.8 ${D}${mandir}/man8 + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_system_unitdir} + + install -d ${D}${INIT_D_DIR} + install mdnsd.sh ${D}${INIT_D_DIR}/mdns +} + +pkg_postinst:${PN} () { + if [ -r $D${sysconfdir}/nsswitch.conf ]; then + sed -e '/^hosts:/s/\s*\//' \ + -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 mdns\3\4\5/' \ + -i $D${sysconfdir}/nsswitch.conf + fi +} + +pkg_prerm:${PN} () { + if [ -r $D${sysconfdir}/nsswitch.conf ]; then + sed -e '/^hosts:/s/\s*\//' \ + -e '/^hosts:/s/\s*mdns//' \ + -i $D${sysconfdir}/nsswitch.conf + fi +} + +SYSTEMD_SERVICE:${PN} = "mdns.service" +INITSCRIPT_NAME = "mdns" + +FILES_SOLIBSDEV = "${libdir}/libdns_sd.so" +FILES:${PN} += "${libdir}/libnss_mdns-0.2.so" + +RPROVIDES:${PN} += "libdns_sd.so" -- cgit v1.2.3