utmps is an implementation of the utmpx.h family of functions performing user accounting on Unix systems.
Traditionally, utmp functionality is provided by the system's libc. However, not all libcs implement utmp: for instance the musl libc, on Linux, does not. The main reason for it is that utmp functionality is difficult to implement in a secure way; in particular, it is impossible to implement without either running a daemon or allowing arbitrary programs to tamper with user accounting.
utmps is a secure implementation of user accounting, using a daemon as the only authority to manage the utmp and wtmp data; programs running utmp functions are just clients to this daemon.
utmps is free software. It is available under the ISC license.
git clone git://git.skarnet.org/utmps