-
protocol7-core-v5.5 Stable
released this
2026-06-25 00:50:51 +02:00 | 5 commits to main since this releaseProtocol 7 Core ~ Changelog
v5.5 (2026-06-24)
v5.5 is a hardening and reliability release. Here's what changed and why it matters:
Security
Binary hardening flags — every compiled binary now builds with
-pie -fstack-protector-strong -D_FORTIFY_SOURCE=2. In v5.4 the binaries had no stack protection or position-independent hardening, making them easier targets for memory corruption exploits.Root check re-hardened in
lainos-init— v5.4 had the root check removed with a comment saying it "prevents login loop." v5.5 hard-fails on root unlessP7_ALLOW_ROOT=1is explicitly set, closing a silent path to root sessions if greetd/PAM misconfigures.P7_CMDcompositor whitelist — v5.4 exec'd whateverP7_CMDcontained without validation. v5.5 validates against a known-safe compositor list before exec, blocking arbitrary command injection through the environment.drop_privileges()fallback — v5.4 silently returned without dropping privileges if thenobodyuser didn't exist. v5.5 falls back to UID/GID 65534 unconditionally.Ghost directory permissions —
0755→0750. These are placeholder dirs; world-execute was unnecessarily permissive.Reliability
D-Bus socket readiness — v5.4 used a fixed 500ms blind wait. v5.5 polls
/run/dbus/system_bus_socketevery 100ms up to 3 seconds, connecting the moment the socket is ready. Eliminates the timing race on any hardware.Audio zombie fix — v5.4's
spawn_daemon()never calledwaitpid()on the intermediate child, creating a zombie process on every audio daemon spawn. v5.5 reaps it immediately.Signal handling in
lainos-notifyd— v5.4 had no signal handler, so SIGTERM killed the process mid-recv()without cleanup, leaving the socket file behind. v5.5 handles SIGTERM/SIGINT cleanly and unlinks the socket on exit.Dynamic wireless interface detection — v5.4 hardcoded
wlan0. v5.5 enumerates/sys/class/net/and checksueventforDEVTYPE=wlan, working correctly on any hardware regardless of interface naming.Cleanliness
Debug artifacts removed — v5.4 wrote
/tmp/lainos-init.debugon every single login and hadfprintf(stderr)debug calls throughoutlainos-dbus-bridge. Both removed in v5.5.ldconfigremoved from install hook — leftover from when the mock shared libraries existed. No-op in v5.4, removed in v5.5.rc-update delinpre_remove— v5.4 only stopped services on removal, leaving stale runlevel symlinks behind. v5.5 deregisters them properly.makedependscorrected — v5.4 listeddbusandlibseccompin bothdependsandmakedepends. v5.5 keeps them only independswhere they belong as runtime dependencies.Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
Source code (ZIP)