HEADS UP: <utmp.h> gone. All welcome <utmpx.h>.
ed at 80386.nl
Wed Jan 13 19:42:56 UTC 2010
I just made various commits to FreeBSD HEAD to remove our old user
accounting database interface (see utmp(5)) and replace it by the POSIX
standardized utmpx interface (see getutxent(3)). This means we just got
rid of some annoyances that are as old as the FreeBSD project itself:
- Hostnames were originally restricted to 16 bytes, which is way too
short for your average hostname generated by your ISP, but also for
IPv6 addresses, which are at most 32 + 7 = 39 characters.
- No support for login sessions not related to TTYs, like ppp(8),
- No support for multiple login sessions on one TTY, for example
generated by login(1).
I was not able to give us a smooth transition from utmp towards utmpx,
simply because our utmp implementation offered almost no utility
functions, which means all consumers modify the database files
themselves. This means you should probably recompile any applications
you're interested in that uses the user accounting database. I realize
this may be quite uncomfortable, but we can't always win.
[ This information is mainly for port maintainers: ]
I've noticed there is some breakage in ports, but it shouldn't be too
serious. I've seen cases where an application includes <utmp.h>, even
though it doesn't use anything provided by that header. In other cases
they used fields like UT_NAMESIZE to derive the maximum user name length
supported by the system, which is clearly not what this definition was
intended for. I've incremented __FreeBSD_version to 900007 to identify
the import of utmpx. In case a certain port breaks badly, let me know
and I'm willing to take a look at it.
Be sure to give it a try and report any issues. Thanks!
Ed Schouten <ed at 80386.nl>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20100113/d497d7d8/attachment.pgp
More information about the freebsd-current