Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package iwd for openSUSE:Factory checked in at 2026-03-18 16:51:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/iwd (Old) and /work/SRC/openSUSE:Factory/.iwd.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iwd" Wed Mar 18 16:51:41 2026 rev:60 rq:1340868 version:3.12 Changes: -------- --- /work/SRC/openSUSE:Factory/iwd/iwd.changes 2026-02-11 18:50:34.289721231 +0100 +++ /work/SRC/openSUSE:Factory/.iwd.new.8177/iwd.changes 2026-03-18 16:53:31.880586018 +0100 @@ -1,0 +2,9 @@ +Tue Mar 17 17:15:52 UTC 2026 - Dirk Müller <[email protected]> + +- update to 3.12: + * Fix issue with handling expiration of PMKSA. + * Fix issue with handling uninitialized buffer and PMKID. + * Fix issue with checking for PKCS#8 key parser in unit tests. + * Fix issue with using -std=c23 compiler setting. + +------------------------------------------------------------------- Old: ---- iwd-3.11.tar.sign iwd-3.11.tar.xz New: ---- iwd-3.12.tar.sign iwd-3.12.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ iwd.spec ++++++ --- /var/tmp/diff_new_pack.HIOYn0/_old 2026-03-18 16:53:32.748622268 +0100 +++ /var/tmp/diff_new_pack.HIOYn0/_new 2026-03-18 16:53:32.748622268 +0100 @@ -1,7 +1,6 @@ # # spec file for package iwd # -# Copyright (c) 2026 SUSE LLC # Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties @@ -18,7 +17,7 @@ Name: iwd -Version: 3.11 +Version: 3.12 Release: 0 Summary: Wireless daemon for Linux License: LGPL-2.1-or-later ++++++ iwd-3.11.tar.xz -> iwd-3.12.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/ChangeLog new/iwd-3.12/ChangeLog --- old/iwd-3.11/ChangeLog 2026-02-09 10:42:19.000000000 +0100 +++ new/iwd-3.12/ChangeLog 2026-03-13 14:24:31.000000000 +0100 @@ -1,3 +1,9 @@ +ver 3.12: + Fix issue with handling expiration of PMKSA. + Fix issue with handling uninitialized buffer and PMKID. + Fix issue with checking for PKCS#8 key parser in unit tests. + Fix issue with using -std=c23 compiler setting. + ver 3.11: Fix issue with interface registration before acquiring name. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/client/dpp.c new/iwd-3.12/client/dpp.c --- old/iwd-3.11/client/dpp.c 2022-07-15 19:08:06.000000000 +0200 +++ new/iwd-3.12/client/dpp.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <stdio.h> #include <linux/limits.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/client/known-networks.c new/iwd-3.12/client/known-networks.c --- old/iwd-3.11/client/known-networks.c 2023-05-24 17:38:48.000000000 +0200 +++ new/iwd-3.12/client/known-networks.c 2026-03-13 14:24:31.000000000 +0100 @@ -279,35 +279,35 @@ struct network_args network_args; struct l_queue *match; const struct proxy_interface *proxy; + size_t name_len; + char *args_name; if (!name) return NULL; - if (l_str_has_suffix(name, ".psk")) + name_len = strlen(name); + + if (l_str_has_suffix(name, ".psk")) { network_args.type = "psk"; - else if (l_str_has_suffix(name, ".8021x")) + name_len -= 4; + } else if (l_str_has_suffix(name, ".8021x")) { network_args.type = "8021x"; - else if (l_str_has_suffix(name, ".open")) + name_len -= 6; + } else if (l_str_has_suffix(name, ".open")) { network_args.type = "open"; - else + name_len -= 5; + } else network_args.type = NULL; - if (network_args.type) { - char *dot = strrchr(name, '.'); - - if (!dot) - /* This shouldn't ever be the case */ - return NULL; - - *dot = '\0'; - } - - network_args.name = name; + args_name = l_strndup(name, name_len); + network_args.name = args_name; match = proxy_interface_find_all(known_network_interface_type.interface, known_network_match, &network_args); + l_free(args_name); + if (!match) { display("No network with specified parameters was found\n"); return NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/configure new/iwd-3.12/configure --- old/iwd-3.11/configure 2026-02-09 10:44:04.000000000 +0100 +++ new/iwd-3.12/configure 2026-03-13 14:26:16.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.72 for iwd 3.11. +# Generated by GNU Autoconf 2.72 for iwd 3.12. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation, @@ -611,8 +611,8 @@ # Identity of this package. PACKAGE_NAME='iwd' PACKAGE_TARNAME='iwd' -PACKAGE_VERSION='3.11' -PACKAGE_STRING='iwd 3.11' +PACKAGE_VERSION='3.12' +PACKAGE_STRING='iwd 3.12' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1432,7 +1432,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -'configure' configures iwd 3.11 to adapt to many kinds of systems. +'configure' configures iwd 3.12 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1503,7 +1503,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of iwd 3.11:";; + short | recursive ) echo "Configuration of iwd 3.12:";; esac cat <<\_ACEOF @@ -1661,7 +1661,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -iwd configure 3.11 +iwd configure 3.12 generated by GNU Autoconf 2.72 Copyright (C) 2023 Free Software Foundation, Inc. @@ -1885,7 +1885,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by iwd $as_me 3.11, which was +It was created by iwd $as_me 3.12, which was generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw @@ -3371,7 +3371,7 @@ # Define the identity of the package. PACKAGE='iwd' - VERSION='3.11' + VERSION='3.12' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -16009,7 +16009,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by iwd $as_me 3.11, which was +This file was extended by iwd $as_me 3.12, which was generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16077,7 +16077,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -iwd config.status 3.11 +iwd config.status 3.12 configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/configure.ac new/iwd-3.12/configure.ac --- old/iwd-3.11/configure.ac 2026-02-09 10:42:19.000000000 +0100 +++ new/iwd-3.12/configure.ac 2026-03-13 14:24:31.000000000 +0100 @@ -1,5 +1,5 @@ AC_PREREQ([2.69]) -AC_INIT([iwd],[3.11]) +AC_INIT([iwd],[3.12]) AC_CONFIG_HEADERS(config.h) AC_CONFIG_AUX_DIR(build-aux) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/ell/acd.c new/iwd-3.12/ell/acd.c --- old/iwd-3.11/ell/acd.c 2024-06-03 20:22:31.000000000 +0200 +++ new/iwd-3.12/ell/acd.c 2026-02-10 17:57:52.000000000 +0100 @@ -9,6 +9,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <unistd.h> #include <sys/socket.h> #include <netpacket/packet.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/ell/cert.c new/iwd-3.12/ell/cert.c --- old/iwd-3.11/ell/cert.c 2024-11-25 18:37:46.000000000 +0100 +++ new/iwd-3.12/ell/cert.c 2026-02-10 17:57:52.000000000 +0100 @@ -9,6 +9,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <string.h> #include <stdio.h> #include <errno.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/ell/net.c new/iwd-3.12/ell/net.c --- old/iwd-3.11/ell/net.c 2023-09-27 11:03:04.000000000 +0200 +++ new/iwd-3.12/ell/net.c 2026-02-10 17:57:52.000000000 +0100 @@ -17,6 +17,7 @@ #include <sys/ioctl.h> #include <netinet/ip.h> #include <ifaddrs.h> +#include <strings.h> #include "net.h" #include "net-private.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/ell/test-dbus.c new/iwd-3.12/ell/test-dbus.c --- old/iwd-3.11/ell/test-dbus.c 2025-02-10 23:50:01.000000000 +0100 +++ new/iwd-3.12/ell/test-dbus.c 2026-02-10 17:57:52.000000000 +0100 @@ -9,11 +9,13 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <stdio.h> #include <errno.h> #include <fcntl.h> #include <unistd.h> #include <stdlib.h> +#include <alloca.h> #include <signal.h> #include <sys/prctl.h> #include <sys/socket.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/ell/test.c new/iwd-3.12/ell/test.c --- old/iwd-3.11/ell/test.c 2025-09-23 16:36:05.000000000 +0200 +++ new/iwd-3.12/ell/test.c 2026-02-10 17:57:52.000000000 +0100 @@ -9,6 +9,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <stdio.h> #include <errno.h> #include <fcntl.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/ell/time-private.h new/iwd-3.12/ell/time-private.h --- old/iwd-3.11/ell/time-private.h 2024-09-09 08:54:44.000000000 +0200 +++ new/iwd-3.12/ell/time-private.h 2026-02-10 17:57:52.000000000 +0100 @@ -6,6 +6,7 @@ */ struct timeval; +struct timespec; uint64_t _time_pick_interval_secs(uint32_t min_secs, uint32_t max_secs); uint64_t _time_fuzz_msecs(uint64_t ms); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/ap.c new/iwd-3.12/src/ap.c --- old/iwd-3.11/src/ap.c 2025-06-14 12:11:28.000000000 +0200 +++ new/iwd-3.12/src/ap.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <errno.h> #include <linux/if_ether.h> #include <netinet/in.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/crypto.c new/iwd-3.12/src/crypto.c --- old/iwd-3.11/src/crypto.c 2024-11-25 19:05:53.000000000 +0100 +++ new/iwd-3.12/src/crypto.c 2026-03-13 14:24:31.000000000 +0100 @@ -26,6 +26,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <stdbool.h> #include <string.h> #include <errno.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/dpp.c new/iwd-3.12/src/dpp.c --- old/iwd-3.11/src/dpp.c 2024-11-25 19:05:53.000000000 +0100 +++ new/iwd-3.12/src/dpp.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,7 +24,9 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <errno.h> +#include <string.h> #include <ell/ell.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/eap-aka.c new/iwd-3.12/src/eap-aka.c --- old/iwd-3.11/src/eap-aka.c 2021-08-01 22:19:12.000000000 +0200 +++ new/iwd-3.12/src/eap-aka.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,9 +24,11 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <ctype.h> #include <stdio.h> #include <errno.h> +#include <string.h> #include <ell/ell.h> #include "src/missing.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/eap-gtc.c new/iwd-3.12/src/eap-gtc.c --- old/iwd-3.11/src/eap-gtc.c 2022-01-24 22:28:47.000000000 +0100 +++ new/iwd-3.12/src/eap-gtc.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,8 +24,10 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <stdio.h> #include <errno.h> +#include <string.h> #include <ell/ell.h> #include "src/missing.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/eap-md5.c new/iwd-3.12/src/eap-md5.c --- old/iwd-3.11/src/eap-md5.c 2021-06-12 14:33:02.000000000 +0200 +++ new/iwd-3.12/src/eap-md5.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,8 +24,10 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <stdio.h> #include <errno.h> +#include <string.h> #include <ell/ell.h> #include "src/missing.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/eap-mschapv2.c new/iwd-3.12/src/eap-mschapv2.c --- old/iwd-3.11/src/eap-mschapv2.c 2025-05-04 19:35:55.000000000 +0200 +++ new/iwd-3.12/src/eap-mschapv2.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,9 +24,11 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <ctype.h> #include <stdio.h> #include <errno.h> +#include <string.h> #include <ell/ell.h> #include "src/missing.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/eap-peap.c new/iwd-3.12/src/eap-peap.c --- old/iwd-3.11/src/eap-peap.c 2023-01-23 19:46:38.000000000 +0100 +++ new/iwd-3.12/src/eap-peap.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <string.h> #include <stdio.h> #include <errno.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/eap-pwd.c new/iwd-3.12/src/eap-pwd.c --- old/iwd-3.11/src/eap-pwd.c 2023-11-19 18:55:17.000000000 +0100 +++ new/iwd-3.12/src/eap-pwd.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,7 +24,9 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <stdio.h> +#include <string.h> #include <ell/ell.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/eap-sim.c new/iwd-3.12/src/eap-sim.c --- old/iwd-3.11/src/eap-sim.c 2020-09-05 09:43:41.000000000 +0200 +++ new/iwd-3.12/src/eap-sim.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,10 +24,12 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <ctype.h> #include <stdio.h> #include <errno.h> #include <alloca.h> +#include <string.h> #include <ell/ell.h> #include "src/missing.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/eap-tls.c new/iwd-3.12/src/eap-tls.c --- old/iwd-3.11/src/eap-tls.c 2023-01-23 19:46:38.000000000 +0100 +++ new/iwd-3.12/src/eap-tls.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,9 +24,11 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <string.h> #include <stdio.h> #include <errno.h> +#include <alloca.h> #include <ell/ell.h> #include "src/missing.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/eap-ttls.c new/iwd-3.12/src/eap-ttls.c --- old/iwd-3.11/src/eap-ttls.c 2023-01-23 19:46:38.000000000 +0100 +++ new/iwd-3.12/src/eap-ttls.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <string.h> #include <stdio.h> #include <errno.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/eap-wsc.c new/iwd-3.12/src/eap-wsc.c --- old/iwd-3.11/src/eap-wsc.c 2024-08-29 10:43:52.000000000 +0200 +++ new/iwd-3.12/src/eap-wsc.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <string.h> #include <stdio.h> #include <errno.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/eapol.c new/iwd-3.12/src/eapol.c --- old/iwd-3.11/src/eapol.c 2025-09-25 15:38:15.000000000 +0200 +++ new/iwd-3.12/src/eapol.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <string.h> #include <alloca.h> #include <linux/if_ether.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/erp.c new/iwd-3.12/src/erp.c --- old/iwd-3.11/src/erp.c 2023-12-27 13:34:15.000000000 +0100 +++ new/iwd-3.12/src/erp.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <stdint.h> #include <stdio.h> #include <errno.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/fils.c new/iwd-3.12/src/fils.c --- old/iwd-3.11/src/fils.c 2024-03-29 00:27:27.000000000 +0100 +++ new/iwd-3.12/src/fils.c 2026-03-13 14:24:31.000000000 +0100 @@ -25,6 +25,8 @@ #include <config.h> #endif +#define _GNU_SOURCE +#include <stdlib.h> #include <ell/ell.h> #include "ell/useful.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/ft.c new/iwd-3.12/src/ft.c --- old/iwd-3.11/src/ft.c 2025-09-25 15:38:15.000000000 +0200 +++ new/iwd-3.12/src/ft.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#include <alloca.h> #include <ell/ell.h> #include "src/ie.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/handshake.c new/iwd-3.12/src/handshake.c --- old/iwd-3.11/src/handshake.c 2025-09-25 15:38:15.000000000 +0200 +++ new/iwd-3.12/src/handshake.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <string.h> #include <unistd.h> #include <errno.h> @@ -1267,6 +1268,7 @@ pmksa = l_new(struct pmksa, 1); pmksa->expiration = s->expiration; + s->expiration = 0; memcpy(pmksa->spa, s->spa, sizeof(s->spa)); memcpy(pmksa->aa, s->aa, sizeof(s->aa)); memcpy(pmksa->ssid, s->ssid, s->ssid_len); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/hotspot.c new/iwd-3.12/src/hotspot.c --- old/iwd-3.11/src/hotspot.c 2022-02-24 21:54:24.000000000 +0100 +++ new/iwd-3.12/src/hotspot.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <dirent.h> #include <errno.h> #include <stdio.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/knownnetworks.c new/iwd-3.12/src/knownnetworks.c --- old/iwd-3.11/src/knownnetworks.c 2024-03-04 08:53:21.000000000 +0100 +++ new/iwd-3.12/src/knownnetworks.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <sys/types.h> #include <dirent.h> #include <errno.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/mschaputil.c new/iwd-3.12/src/mschaputil.c --- old/iwd-3.11/src/mschaputil.c 2024-11-07 19:38:10.000000000 +0100 +++ new/iwd-3.12/src/mschaputil.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,9 @@ #include <config.h> #endif +#define _GNU_SOURCE +#include <string.h> + #include <ell/ell.h> #include "src/missing.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/netconfig.c new/iwd-3.12/src/netconfig.c --- old/iwd-3.11/src/netconfig.c 2024-11-07 19:38:10.000000000 +0100 +++ new/iwd-3.12/src/netconfig.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <errno.h> #include <arpa/inet.h> #include <net/if_arp.h> @@ -31,6 +32,7 @@ #include <limits.h> #include <string.h> #include <fcntl.h> +#include <sys/param.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/netdev.c new/iwd-3.12/src/netdev.c --- old/iwd-3.11/src/netdev.c 2025-09-25 15:38:15.000000000 +0200 +++ new/iwd-3.12/src/netdev.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <stdlib.h> #include <alloca.h> #include <stdio.h> @@ -32,8 +33,8 @@ #include <linux/if.h> #include <linux/if_packet.h> #include <linux/if_ether.h> -#include <arpa/inet.h> #include <linux/filter.h> +#include <arpa/inet.h> #include <sys/socket.h> #include <errno.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/network.c new/iwd-3.12/src/network.c --- old/iwd-3.11/src/network.c 2025-06-14 12:11:28.000000000 +0200 +++ new/iwd-3.12/src/network.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <sys/types.h> #include <stdio.h> #include <errno.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/p2p.c new/iwd-3.12/src/p2p.c --- old/iwd-3.11/src/p2p.c 2024-11-25 19:05:53.000000000 +0100 +++ new/iwd-3.12/src/p2p.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <stdlib.h> #include <linux/rtnetlink.h> #include <linux/if_ether.h> @@ -35,6 +36,7 @@ #include <netinet/in.h> #include <arpa/inet.h> #include <linux/if.h> +#include <sys/param.h> #include <ell/ell.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/resolve.c new/iwd-3.12/src/resolve.c --- old/iwd-3.11/src/resolve.c 2022-06-04 22:14:23.000000000 +0200 +++ new/iwd-3.12/src/resolve.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <errno.h> #include <arpa/inet.h> #include <sys/stat.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/rfkill.c new/iwd-3.12/src/rfkill.c --- old/iwd-3.11/src/rfkill.c 2019-11-14 21:04:59.000000000 +0100 +++ new/iwd-3.12/src/rfkill.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/simutil.c new/iwd-3.12/src/simutil.c --- old/iwd-3.11/src/simutil.c 2020-09-05 09:43:41.000000000 +0200 +++ new/iwd-3.12/src/simutil.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,9 +24,11 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <ctype.h> #include <stdio.h> #include <errno.h> +#include <string.h> #include <ell/ell.h> #include "src/missing.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/station.c new/iwd-3.12/src/station.c --- old/iwd-3.11/src/station.c 2025-09-25 15:38:15.000000000 +0200 +++ new/iwd-3.12/src/station.c 2026-03-13 14:24:31.000000000 +0100 @@ -1358,9 +1358,10 @@ bss->ssid, bss->ssid_len, info.akm_suites); if (pmksa) { - handshake_state_set_pmksa(hs, pmksa); - info.num_pmkids = 1; - info.pmkids = hs->pmksa->pmkid; + if (!L_WARN_ON(!handshake_state_set_pmksa(hs, pmksa))) { + info.num_pmkids = 1; + info.pmkids = hs->pmksa->pmkid; + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/udev.c new/iwd-3.12/src/udev.c --- old/iwd-3.11/src/udev.c 2024-11-07 19:38:10.000000000 +0100 +++ new/iwd-3.12/src/udev.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <errno.h> #include <unistd.h> #include <sys/socket.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/wsc.c new/iwd-3.12/src/wsc.c --- old/iwd-3.11/src/wsc.c 2024-11-25 19:05:53.000000000 +0100 +++ new/iwd-3.12/src/wsc.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <errno.h> #include <stdio.h> #include <ell/ell.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/src/wscutil.c new/iwd-3.12/src/wscutil.c --- old/iwd-3.11/src/wscutil.c 2024-11-07 19:38:10.000000000 +0100 +++ new/iwd-3.12/src/wscutil.c 2026-03-13 14:24:31.000000000 +0100 @@ -28,6 +28,7 @@ #include <stdarg.h> #include <errno.h> #include <stdio.h> +#include <strings.h> #include <ell/ell.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/tools/probe-req.c new/iwd-3.12/tools/probe-req.c --- old/iwd-3.11/tools/probe-req.c 2020-03-25 10:37:15.000000000 +0100 +++ new/iwd-3.12/tools/probe-req.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> #include <sys/types.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/unit/test-eapol.c new/iwd-3.12/unit/test-eapol.c --- old/iwd-3.11/unit/test-eapol.c 2025-05-07 13:59:43.000000000 +0200 +++ new/iwd-3.12/unit/test-eapol.c 2026-03-13 14:24:31.000000000 +0100 @@ -27,6 +27,7 @@ #include <stdio.h> #include <string.h> #include <assert.h> +#include <sys/stat.h> #include <linux/if_ether.h> #include <ell/ell.h> @@ -3923,6 +3924,18 @@ static bool pkcs8_precheck(const void *data) { + struct stat st; + + /* + * Despite the path, this directory exists whether the module + * is external or built-in. + */ + if (stat("/sys/module/pkcs8_key_parser", &st) < 0) + return false; + + if (!S_ISDIR(st.st_mode)) + return false; + return (IS_ENABLED(HAVE_PKCS8_SUPPORT) && l_cipher_is_supported(L_CIPHER_AES) && l_cipher_is_supported(L_CIPHER_AES_CBC) && diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/unit/test-sae.c new/iwd-3.12/unit/test-sae.c --- old/iwd-3.11/unit/test-sae.c 2025-05-07 13:59:43.000000000 +0200 +++ new/iwd-3.12/unit/test-sae.c 2026-03-13 14:24:31.000000000 +0100 @@ -25,6 +25,7 @@ #endif #include <string.h> +#include <alloca.h> #include <assert.h> #include <ell/ell.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iwd-3.11/wired/ethdev.c new/iwd-3.12/wired/ethdev.c --- old/iwd-3.11/wired/ethdev.c 2024-11-25 19:05:53.000000000 +0100 +++ new/iwd-3.12/wired/ethdev.c 2026-03-13 14:24:31.000000000 +0100 @@ -24,6 +24,7 @@ #include <config.h> #endif +#define _GNU_SOURCE #include <stdio.h> #include <errno.h> #include <unistd.h>
