cvs commit: src/kerberos5/lib/libroken Makefile
Tom Rhodes
trhodes at FreeBSD.org
Tue Feb 3 09:19:12 PST 2004
On Tue, 03 Feb 2004 18:02:54 +0100
Andre Oppermann <andre at freebsd.org> wrote:
> Andre Oppermann wrote:
> >
> > Ken Smith wrote:
> > >
> > > On Tue, Feb 03, 2004 at 11:28:24AM -0500, Tom Rhodes wrote:
> > > > On Tue, 3 Feb 2004 01:32:11 -0800 (PST)
> > > > Ruslan Ermilov <ru at FreeBSD.org> wrote:
> > > >
> > > > > bland 2004/02/03 01:32:11 PST
> > > > ^^^^^
> > > >
> > > > You're bland... :)
> > > >
> > > > >
> > > > > FreeBSD src repository
> > > > >
> > > > > Modified files:
> > > > > kerberos5/lib/libroken Makefile
> > > > > Log:
> > > > > Take signal.c out of sources.
> > > > >
> > > > > Reviewed by: nectar
> > > >
> > > > Any idea what is causing this yet? Perhaps I missed/overlooked/ignored
> > > > the discussion?
> > > >
> > > > --
> > > > Tom Rhodes
> > >
> > > We're actively trying to track it down now. No ETA on it being fixed
> > > at this point, it is probably buried deep inside some perl scripts
> > > but that's just a guess. We have caught the last couple of examples
> > > to help try and track it down though (two or three have happened in
> > > the last two or three days).
> >
> > All this magic happens in CVSROOT-src/cfg.pm where $PID for temporary
> > files and $COMMITTER are set. $PID is probably not the problem but
> > $COMMITTER seems to be. The text in this variable is put verbatim into
> > the commit message in CVSROOT-src/log_accum.pl function build_header().
> >
> > I'm not a perl hacker so I can't really comment on the code snipped
> > below but it looks strange that the first $ENV{} has the environment
> > variable name in "" and the second one in '' quotes. At least it seems
> > to be inconsistent. I wonder if we ever can get into the case where
> > LOGNAME and USER are not set in the users environment. It might be
> > that for some SSH setups the environment is cleared or altered on
> > freefall. Nontheless I don't think any of the others should return
> > anything else than the current username. Unless there is a bug in
> > the kernel wrt credential handling or some other bug in perl.
> >
> > # The username of the committer.
> > $COMMITTER = $ENV{"LOGNAME"} || $ENV{'USER'} || getlogin
> > || (getpwuid($<))[0] || sprintf("uid#%d",$<);
>
> Hmm... getlogin might be the problem (from perl man page):
>
> getlogin
>
> Implements the C library function of the same name, which on most systems
> returns the current login from /etc/utmp, if any. If null, use getpwuid.
>
> Using LOGNAME and USER from the environment seems to be pretty unsave
> as it can be changed by the user to any arbitrary string (or other
> username).
I think that, if you really believe this to be the problem, you
should work with Ken on this. Thanks. :)
--
Tom Rhodes
More information about the cvs-src
mailing list