Date: Thu, 3 Dec 2009 15:48:24 +0000 (UTC) From: Ed Schouten <ed@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/contrib/groff/tmac doc-syms src/lib Makefile src/lib/libulog Makefile Symbol.map ulog.h ulog_getutxent.3 ulog_getutxent.c ulog_internal.h ulog_login.3 ulog_login.c ulog_login_pseudo.c src/libexec Makefile src/libexec/ulog-helper ... Message-ID: <200912031551.nB3Fpts0047670@repoman.freebsd.org>
index | next in thread | raw e-mail
ed 2009-12-03 15:48:24 UTC
FreeBSD src repository
Modified files:
contrib/groff/tmac doc-syms
lib Makefile
libexec Makefile
share/mk bsd.libnames.mk
Added files:
lib/libulog Makefile Symbol.map ulog.h
ulog_getutxent.3 ulog_getutxent.c
ulog_internal.h ulog_login.3 ulog_login.c
ulog_login_pseudo.c
libexec/ulog-helper Makefile ulog-helper.c
Log:
SVN rev 200062 on 2009-12-03 15:48:24Z by ed
Add a new library: libulog.
One of the things I really want to do, is to get rid of the limitations
of our current utmp(5) mechanism:
- It only allows 8 byte TTY device names.
- The hostname only allows 16 bytes of storage.
I'm not a big fan of <utmpx.h>, but I think we should at least try to
add parts of it. Unfortunately we cannot implement <utmpx.h>, because we
miss various fields, such as ut_id, ut_pid, etc. The API provided by
libulog shares some similarities with <utmpx.h>, so it shouldn't be too
hard to port these applications eventually. In most simple cases, it
should just be a matter of removing the ulog_ prefix everywhere.
As a bonus, it also implements a function called ulog_login_pseudo(),
which allows unprivileged applications to write log entries, provided
they have a valid file descriptor to a pseudo-terminal master device.
libulog will allow a smoother transition to a new file format by adding
a library interface to deal with utmp/wtmp/lastlog files. I initially
thought about adding the functionality to libutil, but because I'm not
planning on keeping this library around forever, we'd better keep it
separated.
Next items on the todo list:
1. Port applications in the base system (and ports) to libulog, instead
of letting them use <utmp.h>.
2. Remove <utmp.h>, implement <utmpx.h> and reimplement this library on
top.
3. Port as many applications as possible back to <utmpx.h>.
Revision Changes Path
1.52 +1 -0 src/contrib/groff/tmac/doc-syms
1.239 +2 -2 src/lib/Makefile
1.1 +21 -0 src/lib/libulog/Makefile (new)
1.1 +13 -0 src/lib/libulog/Symbol.map (new)
1.1 +87 -0 src/lib/libulog/ulog.h (new)
1.1 +98 -0 src/lib/libulog/ulog_getutxent.3 (new)
1.1 +84 -0 src/lib/libulog/ulog_getutxent.c (new)
1.1 +58 -0 src/lib/libulog/ulog_internal.h (new)
1.1 +102 -0 src/lib/libulog/ulog_login.3 (new)
1.1 +135 -0 src/lib/libulog/ulog_login.c (new)
1.1 +93 -0 src/lib/libulog/ulog_login_pseudo.c (new)
1.83 +1 -0 src/libexec/Makefile
1.1 +13 -0 src/libexec/ulog-helper/Makefile (new)
1.1 +81 -0 src/libexec/ulog-helper/ulog-helper.c (new)
1.112 +1 -0 src/share/mk/bsd.libnames.mk
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912031551.nB3Fpts0047670>
