-
sdwdate-1.0.0-4 Stable
released this
2026-07-11 17:49:46 +02:00 | 3 commits to main since this releasesdwdate (lainOS layer 02 port) ~ Changelog
1.0.0-4 ~ First-sync permission fix
Bug Fix
- Fixed
date: cannot set date: Operation not permittedon sdwdate's first successful sync after being enabled (or after any hard clock-jump correction). sdwdate's own code (set_time_using_date()insdwdate.py) shells out directly to/bin/date --setfor the first sync and any explicit hard jump, rather than the gradualsclockadjpath used for all subsequent, smaller corrections. This path was missing theCAP_SYS_TIMEcapability grant thatsdwdateandsclockadjalready had. - Fix: granted
CAP_SYS_TIMEto/bin/dateviasetcapin the init script'sstart_pre(), alongside the existing grants forsdwdateandsclockadj. - Note on scope: unlike the other two
setcapgrants (which apply to single-purpose binaries only thesdwdateuser ever invokes),/bin/dateis a general system utility used by every user on the system. This capability grant is file-wide, meaning any local user could technically usedate --setto change the system clock, not just thesdwdatedaemon.CAP_SYS_TIMEalone grants no other capability (no file access, no broader privilege escalation path), and this was accepted as a reasonable, documented tradeoff rather than patching upstream's source to avoid the/bin/datecall entirely for the first-sync case. Commented clearly in the init script for future reference. - Verified fixed: a forced first-sync (via
lainos-sdwdate disable/enable) completed successfully with the correction applied and no permission error.
Downloads
- Fixed