in reply to Re: Why does getlogin always return same user name?
in thread Why does getlogin always return same user name?

It occurred to me that cvs might be running as "bernie", but I can find nothing which would execute /usr/bin/cvs as "bernie". I checked file ownerships, setuid, /etc/pam.d, etc.

Even stranger getpwuid($<) returns the correct UID, and so does $ENV{USER}. I added a statemt to print to a log below, which produces output like this:

user = bartonbf, pwuid = john01, ENV{USER} = john01

sub attach { boundary(@_); # Get the date (UTC). my @gm = gmtime; $gm[5] += 1900; $gm[4] += 1; # Get the username. my $user = getlogin || getpwuid($<) || "unknown"; my $pwuid = getpwuid($<); open LOG, ">>/tmp/bblog"; print LOG "user = $user, pwuid = $pwuid, ENV{USER} = $ENV{USER}\n"; close LOG; # Return the attachment headers. local $" = ''; return qq{ --$opt_a Content-Disposition: attachment; filename=$user-@gm[5,4,3,2,1,0]-diff. +txt Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=$opt_C }; }