utmp update for bsd systems (try 2)
mickey at lucifier.net
Mon Apr 18 10:48:29 GMT 2005
Making, drinking tea and reading an opus magnum from David Lee:
> On Sat, 16 Apr 2005, Andrew Bartlett wrote:
> > On Sat, 2005-04-16 at 07:18 -0400, Michael Shalayeff wrote:
> >> what is so "wrong" in it for you?
> >> maybe we can "fix" it...
> > I don't like such low-level messing with the utmp file. How does ftpd
> > on the BSDs handle utmp? This is the modal David Lee used originally, I
> > think.
> It's nearly six years since I did the Samba utmp code, so my memory of it
> is fading.
> I never had access to, or experience of, BSD. In previous years we had
> used SunOS 4, which seems to be similar and was likewise based on the BSD
> subtree of UN*X, but we never used that with Samba.
> So the comments in the source code about SunOS 4 and BSD are based simply
> on a perusal of man pages (supplemented by some prior experience, though
> none directly of umtp) of SunOS 4.
> > If the login() and logout() apis are not useful (has this been tested?),
> > can they be improved by the BSD crew to honour the contents of the
> > struct utmp?
> > Basically, I want anything that avoids doing a write() to those files
> > directly.
> Use of the higher-level subroutines ("pututline()", "login()" etc.), where
> provided by the OS, certainly seems preferable. For one thing, it should
> (assuming no bugs!) manage locking, in a consistent fashion, of the
> underlying utmp/wtmp database files. (Imagine two or more simultaneous
> connects or disconnects of any entities (ftpd, telnetd, sshd, smbd, ...)
> which try to update those database files.)
those interfaces do not exist in *bsd.
login/logout is unusable as well and it is explained
in the comments in my diff WHY
paranoic mickey (my employers have changed but, the name has remained)
More information about the samba-technical