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>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912031551.nB3Fpts0047670>