MidnightBSD 4.0.4 is out today as the newest update to this desktop-minded BSD operating system. Notable with this update is introducing the Aged daemon and Agectl program for handling age verification and age attestation given the increasing number of US states pursuing laws around age verification at the OS user level.
MidnightBSD 4.0.4 with its new Aged and Agectl programs will run at start-up unless explicitly disabled via the /etc/rc.conf file with sysrc aged_enable=NO.
MidnightBSD’s adduser will now ask the user for an age when creating new accounts. Their mport package manager will also check user’s age bracket when installing packages and set negative ACLs to block apps running for users under the age range of any mports. At the moment though no mports packages are age restricted.
The MidnightBSD 4.0.4 release announcement adds:
To set age 15 on a user account:
doas agectl -a 15 myuserYou may also use date of birth if you prefer
agectl -b 2006-02-28 myacctBy default, the root account assumes it’s run as a user 18+. Parents should manage PCs in jurisdictions requiring this functionality for it to work as intended. You can change the age of the root account.
Application developers needing to check for the signal can do so in 3 ways:
run agectl without arguments as the user. (for shell scripts, etc)
use the new functions in libutilint * agev_get_age_bracket(const char *username);
int agev_set_age(const char *username, int age);
Directly communicate with the aged(8) socket. (not recommended)
MidnightBSD is now the first open-source operating system I am aware of that is actually shipping age verification/attestation support already.
Aside from the aged/agectl work, MidnightBSD 4.0.4 does add the FreeBSD-written AMD-CPPC driver for improving power management on recent AMD Ryzen processors.
Those wishing to learn more or to download MidnightBSD 4.0.4 can find it via GitHub.
