Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Jul 2010 12:26:15 -0500
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Jens Rehsack <rehsack@googlemail.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: getpwent bug?
Message-ID:  <20100715172615.GC5485@dan.emsphone.com>
In-Reply-To: <AANLkTin5RGYfu_Xt5HWxKFO8GMTOi3YWQ8dyr95ZDW-Y@mail.gmail.com>
References:  <AANLkTin5RGYfu_Xt5HWxKFO8GMTOi3YWQ8dyr95ZDW-Y@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Jul 15), Jens Rehsack said:
> Hi all,
> 
> I detected an issue with getpwent on my FreeBSD test box:
> 
> perl -MData::Dumper -e 'my @e = getpwent(); print Dumper(\@e); endpwent(); @e = getpwent(); print Dumper(\@e); endpwent(); @e = getpwent(); print Dumper(\@e); endpwent();'
> $VAR1 = [ 'root', '', 0, 0, 0, '', 'Charlie &', '/root', '/bin/csh', 0 ];
> $VAR1 = [ 'toor', '*', 0, 0, 0, '', 'Bourne-again Superuser', '/root', '', 0 ];
> $VAR1 = [ 'daemon', '*', 1, 1, 0, '', 'Owner of many system processes', '/root', '/usr/sbin/nologin', 0 ];
>
> I'm using FreeBSD waldorf.muppets.liwing.de 7.3-PRERELEASE FreeBSD 7.3-PRERELEASE #0: Fri Mar 12 11:31:18 UTC 2010 root@waldorf.muppets.liwing.de:/usr/obj/usr/src/sys/WALDORF  amd64

The above output looks perfect, and should match the top three lines in your
/etc/passwd files.
 
> The correct output should be (taken from a NetBSD system):
> perl -MData::Dumper -e 'my @e = getpwent(); print Dumper(\@e); endpwent(); @e = getpwent(); print Dumper(\@e); endpwent(); @e = getpwent(); print Dumper(\@e); endpwent();'
> $VAR1 = [ 'root', '*', 0, 0, 0, '', 'Charlie &', '/root', '/bin/ksh', 0 ];
> $VAR1 = [ 'root', '*', 0, 0, 0, '', 'Charlie &', '/root', '/bin/ksh', 0 ];
> $VAR1 = [ 'root', '*', 0, 0, 0, '', 'Charlie &', '/root', '/bin/ksh', 0 ];

This output looks wrong, unless NetBSD has three identical root lines at the
top of its passwd file.
 
> Taking a look to
> http://www.cpantesters.org/distro/D/DBD-Sys.html#DBD-Sys-0.01, this
> issue is not limited to FreeBSD 7.3 - it occures on FreeBSD 7.2 and
> 8.0, too.

I see a bunch of failed FreeBSD test lines, but I don't see anything
relating to getpwent or getreant in the test failure output.  Just lines
like "Parse errors: Bad plan.  You planned 16 tests but ran 12"

-- 
	Dan Nelson
	dnelson@allantgroup.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100715172615.GC5485>