Commit graph

65698 commits

Author SHA1 Message Date
Rosen Penev
bd2e17c180 ath79: dir-505: use nvmem
Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20176
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-09-30 11:21:18 +02:00
Rosen Penev
6c20daed13 ath79: tew-673gru: use nvmem
Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20176
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-09-30 11:21:18 +02:00
Markus Stockhausen
b49f9d9804 realtek: backport ECC driver
Upstream will get support for the Realtek ECC engine with 6.18.
To make use of this in Openwrt

- backport upstream patches
- change config so that ECC will be built for nand subtargets
- define ECC engine in RTL93xx DTS.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19746
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-09-30 11:15:26 +02:00
Issam Hamdi
36d8d19993 realtek: rtl931x: set hash_msb based on VLAN ID when adding a new L2 entry
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
During testing, we discovered that when adding a new offload FDB rule
on certain VLANs and then delete it, does not work as expected.

Steps to Reproduce:

* Create VLAN 4094 on the port lan1:

      bridge vlan add vid 4094 dev lan1 pvid

* Add a new FDB entry on port lan1 for VLAN 4094:

      bridge fdb add 00:01:02:22:33:44 dev lan1 vlan 4094 master permanent

* Delete the new FDB entry on port lan1 for VLAN4094

      bridge fdb del 00:01:02:22:33:44 dev lan1 vlan 4094 master permanent

Root Cause:

The failure occurs because the hash_msb flag is not set correctly
based on the VLAN ID when adding a new L2 entry.

Signed-off-by: Issam Hamdi <ih@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20183
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-09-29 20:55:22 +02:00
Sven Eckelmann
8c82e2dc93 realtek: Switch booleans in rtl838x_l2_entry to single bits
In upstream kernel, it is not well received to use a lot of simple booleans
in structs. It is preferred to use 1-bit bitfields [1] and consolidate the
booleans together.

[1] https://www.kernel.org/doc/html/v6.16/process/coding-style.html#using-bool

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20183
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-09-29 20:55:22 +02:00
Bjørn Mork
d22b57e1e4 realtek: add phy-handle for Zyxel GS1900-10HP SFP slots
Align GS1900-10HP dts with other realtek devices to reduce the risk of device
specific regressions with the upcoming driver cleanup/rewrite.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Link: https://github.com/openwrt/openwrt/pull/20228
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-09-29 20:54:19 +02:00
Bjørn Mork
e2dad927a8 realtek: fix Zyxel GS1900-10HP SFP slots
Parse the pcs-handle property regardless of phy-handle

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Link: https://github.com/openwrt/openwrt/pull/20228
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-09-29 20:54:19 +02:00
Daniel Golle
318f07c231 ath79: mikrotik: check RouterBOOT version matching sysupgrade image
Some checks failed
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build host tools / Build host tools for linux and macos based systems (push) Waiting to run
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Check if the uploaded image matches the version of RouterBOOT before
proceeding with sysupgrade on MikroTik devices with NOR flash.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-09-29 17:34:51 +01:00
John Thomson
502e6253a1 ath79: mikrotik: generate a RouterBOOT v7 NOR compatible sysupgrade
RouterBOOT v7 for NOR devices does not support the historic yaffs
"kernel" ELF boot method.
Generate a compatible kernel

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
2025-09-29 17:34:51 +01:00
John Thomson
7276e28e47 ramips: mikrotik: generate a RouterBOOT v7 NOR compatible sysupgrade
RouterBOOT v7 for NOR devices does not support the historic yaffs
"kernel" ELF boot method.
Generate a compatible kernel

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
2025-09-29 17:34:51 +01:00
John Thomson
99cfba0721 ipq40xx: mikrotik: generate a RouterBOOT v7 NOR compatible sysupgrade
RouterBOOT v7 for NOR devices does not support the historic yaffs
"kernel" ELF boot method.
Generate a compatible kernel

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
2025-09-29 17:34:51 +01:00
John Thomson
097049552a image: adapt mikrotik yafut to allow switch to bootimage YAFFS path
Adjust the YAFFS file path written depending on the sysupgrade
filename.
Default to kernel (for ELF), switch to bootimage (for NPK) if image name
has v7.

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
2025-09-29 17:34:51 +01:00
John Thomson
f473d15816 build: add Mikrotik NOR RouterBOOT v7 image build
Add build step 'kernel-pack-npk' which uses 'npk_pack_kernel' which is now
part of firmware-utils to enable wrapping the kernel inside a MikroTik NPK
package.

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-09-29 17:34:51 +01:00
Daniel Golle
c5ece837a3 firmware-utils: update to git HEAD
7e6f69b npk_pack_kernel: add tool for creating MikroTik NPK kernel packages
 d3f8b6e zynsig: add new tool for creating images for the ZyXEL GS1920 series
 9fa340d ptgen: create separate images for gpt data structure
 78d8084 ptgen: allow image generation for a specified disk size
 3f2d148 ptgen: allow non-default placement of gpt entry table
 f1f98b0 ptgen: do not create stub partition to fill a gap if gap caused by alignment
 6ea8b6d ptgen: fix protective MBR partition size
 febfef7 ptgen: use long long instead of long for sizes
 996dc48 ptgen: fix misprint and simplify calculation a bit
 0725c3d build: require CMake >= 3.5 due to dropped legacy support

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-09-29 17:34:51 +01:00
Felix Fietkau
2f6a467f6c ucode: update to Git HEAD (2025-09-29)
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
f642f65c3d00 rtnl: optimize string attribute encoding
1946c571eb25 nl80211: rework string attribute encoding
6b16cd37373a nl80211: properly handle decoding numeric struct members
5a342b86c010 nl80211: support sending requests on listener socket
cd2850eec8ca lib: fix `rindex()` return value when needle at the start of the haystack
23b21eb2e8cb ubus: add connection functions to global scope
a5b206f60f5d struct: align `X` and `Z` length & truncation semantics with `*`
387880348c89 nl80211: read all pending event messages
470bc3ebffe0 uloop: fix potential use-after-free when destroying uloop entities

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-29 14:09:10 +02:00
Christian Marangi
1545173ec1
kernel: netdevices: fix typo for Aeonsemi AS21xxx description
Fix a typo on defining the PHY package kmod description that reference
phy-aeonsemi-as21x1x package instead of phy-aeonsemi-as21xxx.

Fixes: 08a616b216 ("generic: backport support for Aeonsemi AS21xxx PHY")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-09-29 13:56:33 +02:00
Felix Fietkau
0f56141c6c hostapd: add new ubus method for performig channel switch
This is a replacement for the bss based function, which cannot be used for MLO.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-29 13:41:06 +02:00
George Tsiamasiotis
75ca6bafd6 scripts/patch-kernel.sh: do not try to check files after patch
Since we are not using patch -b, *.orig files are only created when
there are conflicts, or never according to posix patch.

As such, it doesn't really make sense to always delete *.orig files
presuming they are patch backups, even if they are patch backups.
Doing so is both deleting potentially useful information for failed
patch applications and creating hard to diagnose bugs [1].

In a similar vein, checking for *.rej files does not add any value
since we're already checking the patch command's return code.

[1]: https://github.com/openwrt/packages/issues/27485

Signed-off-by: George Tsiamasiotis <george@tsiamasiotis.gr>
Link: https://github.com/openwrt/openwrt/pull/20141
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-09-29 13:33:07 +02:00
Felix Fietkau
973cfbadf5 hostapd: fix condition for re-creating MLD interfaces
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Check the correct interface in order to avoid tearing down an existing
itnerface.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-29 12:37:02 +02:00
Felix Fietkau
e0a0d69a63 wpa_supplicant: MLO bringup order
Do not allow hostapd phy state update to bring up links as long between mld_set
and mld_start calls. Configuration on other PHYs could still be pending.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-29 12:37:02 +02:00
Felix Fietkau
d761f6a5a5 wifi-scripts: ucode: add start_disabled for AP mode
Enable it, whenever the AP needs to wait for a supplicant instance.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-29 12:37:02 +02:00
Felix Fietkau
80d73707b0 hostapd: fix an AP+STA corner case on MLO APs
Bring up AP interfaces, even if no frequency update was provided.
Fixes bringup when a MLO STA on the same radios connects to fewer links
than available, or to a non-MLD AP.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-29 12:37:02 +02:00
Aleksander Jan Bajkowski
a30daf8a0b
airoha: fix scuclk node for an7581
Add missing syscon compatible for scuclk node.
Fix the unit-address of the scuclk node.
This fixes the pcs driver error:

airoha-pcs 1fa08000.pcs: probe with driver airoha-pcs failed with error -22
airoha-pcs 1fa09000.pcs: probe with driver airoha-pcs failed with error -22

Fixes: c3d70b1 ("airoha: en7581: Add support for external PHY")
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/20190
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-09-29 12:05:10 +02:00
Chukun Pan
dae30d83ea
airoha: an7581: refresh kernel config
Enable MEDIATEK_GE_SOC_PHY driver and disable NET_DSA_MT7530_MDIO.
Refresh kernel configs with 'make kernel_oldconfig CONFIG_TARGET=subtarget'.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/20190
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-09-29 12:05:10 +02:00
Chukun Pan
646ccf6076
airoha: fix pinctrl driver function bug
The pinctrl driver for airoha was expecting a function name that was
not a string, but was passed one. Removing #string fixed this issue.

Fixes: c5b12fc ("airoha: Introduce support for Airoha AN7583 SoC")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/20190
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-09-29 12:05:09 +02:00
Chukun Pan
b125cf42dc
airoha: remove duplicate AN7581 PHY patch
This patch already exists in generic/backport-6.12.

Fixes: 122135b ("airoha: an7581: add support for kernel 6.12")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/20190
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-09-29 12:05:09 +02:00
Chukun Pan
866c4e5cdf
airoha: set default DEVICE_DTS/DEVICE_DTS_DIR
All devices under airoha use dts directory under the target,
so update the default DEVICE_DTS_DIR. Also set the default
DEVICE_DTS based on the SoC name for non-dev boards.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/20190
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-09-29 12:05:09 +02:00
Christian Marangi
ddb0cd276c
kernel: rtl8261n: add support for Serdes TX swap
Add support for swapping the Serdes TX line on RTL8261N PHYs.
This is used on an Arcadyan Mozart board where the Serdes TX is swapped
on the PHY (instead of on the Soc) to permit support of SFP module by
using toggling the integrated MUX.

Link: https://github.com/openwrt/openwrt/pull/20227
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-09-29 12:00:22 +02:00
Simonas Tamošaitis
0147d213ff ramips: mt76x8: fix 02_network typo
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Remove unnecessary tab which breaks 02_network script with syntax error.

Fixes: f29bc8736a ("ramips: CREALITY BOX WB01")
Signed-off-by: Simonas Tamošaitis <simsasss@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20195
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-28 23:55:16 +02:00
Goetz Goerisch
7114446523 kernel: bump 6.6 to 6.6.108
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.108

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20214
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-28 23:52:59 +02:00
Felix Fietkau
30b35ff5ae iwinfo: drop @!WIFI_SCRIPTS_UCODE dependency
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Make the package empty if ucode wifi scripts are being used (since iwinfo is
provided by wifi-scripts in that case). This fixes packages that explicitly
select iwinfo

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-28 18:17:35 +02:00
Felix Fietkau
37770c503b wifi-scripts: force wmm_enabled to 1 in AP mode, remove option
There are no supported drivers where it even makes sense to disable WMM
anymore, since so much depends on it.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-28 18:17:35 +02:00
Ted Hess
9b7d0c0d16 odhcpd: update to Git HEAD (2025-09-27)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
bc9f9d93d4d6 dhcpv4: allow lease takeover (bugfix)
b1547922257e odhcpd: bump minimum cmake version
86c0200f8067 odhcpd: apply RFC9096 recommended lifetimes

Signed-off-by: Ted Hess <thess@kitschensync.net>
2025-09-27 22:00:25 -04:00
Rosen Penev
6f18b30b02 ath79: wd,mynet-nxxx: use nvmem
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16285
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-28 00:41:20 +02:00
Ted Hess
842623a4f8 expat: Update to 2.7.3
Some checks failed
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Fixes:
    CVE-2025-59375
    Regression from: CVE-2024-8176

Changelog: https://github.com/libexpat/libexpat/blob/R_2_7_3/expat/Changes

Signed-off-by: Ted Hess <thess@kitschensync.net>
2025-09-27 17:49:44 -04:00
Hauke Mehrtens
878f31c210 build: remove iwinfo dependency
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build host tools / Build host tools for linux and macos based systems (push) Waiting to run
Do not always try to include iwinfo in the images when wpa supplicant or
Broadcom nas is also included. iwinfo is incompatible with current
default configuration.

iwinfo is only build when CONFIG_WIFI_SCRIPTS_UCODE is not set. If
CONFIG_WIFI_SCRIPTS_UCODE is not set kmod-cfg80211 depends on iwinfo,
so it should be included in all images with wifi drivers.

The CONFIG_WIFI_SCRIPTS_UCODE option was recently changed to be active
by default.

This should fix the current buildbot build failures.

This reverts commit 6435b8bb27 ("build: include iwinfo by default
if nas or wpad(-mini) is selected")

Fixes: 04e9929c47 ("wifi-scripts: enable ucode scripts by default")
Link: https://github.com/openwrt/openwrt/pull/20211
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-27 22:04:57 +02:00
Rui Salvaterra
a6ea2aa2b9 octeon: set kernel 6.12 as default and remove support for 6.6
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Get the Octeon target ready for the next OpenWrt release.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2025-09-27 20:45:50 +01:00
Rui Salvaterra
16740f623e octeon: update Linux 6.12 kconfig
Update with make kernel_oldconfig CONFIG_TARGET=target. Also disable
CONFIG_POSIX_MQUEUE, as it's available in the OpenWrt configuration.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2025-09-27 20:45:50 +01:00
Rui Salvaterra
673b48a674 octeon: fix octeon build with CONFIG_KERNEL_WERROR
Add a patch fixing a bunch of missing prototype errors, scattered all over the
tree.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2025-09-27 20:45:50 +01:00
Rui Salvaterra
b3eac6dca5 octeon: fix command line hack for Linux 6.12
Since strlcpy has been removed in Linux 6.8, replace it with strscpy.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2025-09-27 20:45:50 +01:00
Rui Salvaterra
2ecee2f31b octeon: refresh 6.12 patches
All but one needs (automatic) rebasing.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2025-09-27 20:45:50 +01:00
Rui Salvaterra
0b7d3f4a33 kernel/octeon: Restore kernel files for v6.6
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2025-09-27 20:45:50 +01:00
Rui Salvaterra
bc9941a0d3 kernel/octeon: Create kernel files for v6.12 (from v6.6)
This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2025-09-27 20:45:50 +01:00
John Audia
ba6a07fb63 kernel: bump 6.12 to 6.12.49
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.49

All patches automatically rebased.

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/20162
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-27 12:37:38 +02:00
Rosen Penev
605543bc7b ath79: wnr200-v3: handle eeprom with nvmem
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20112
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-27 00:43:16 +02:00
Rosen Penev
374f065ecb ath79: tiny: use nvmem for engenius devices
Userspace handling is deprecated.

Also convert custom LED to one handled by ath9k.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20112
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-27 00:43:16 +02:00
Stefan Kalscheuer
761808f648 mvebu: use upstream DTS for Ctera C200-V2
Upstream DTS in 6.12 contains many changes from our copy.

Move the remaining diff, which is LED aliases, USB ports and partition
labels into a patch and drop the full copy.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/19786
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-27 00:39:32 +02:00
Stefan Kalscheuer
63e9506047 mvebu: use upstream DTS for Globalscale MOCHAbin
Upstream DTS in 6.12 is almost identical to our copy.

Move the partition label change into a patch and drop the full copy.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/19786
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-27 00:39:32 +02:00
Stefan Kalscheuer
94918e7c10 mvebu: use upstream DTS for GL.iNet GL-MV1000
Upstream DTS in 6.12 is almost identical to our copy.

Move LED and partition tweaks into a patch and drop the full copy.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/19786
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-27 00:39:32 +02:00
Stefan Kalscheuer
9852dda410 mvebu: move DTS diff into a patch for Methode uDPU
Upstream DTS is almost identical to our copy. Move network aliases and
phy-mode into a patch and drop the full copy.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/19786
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-27 00:39:32 +02:00