reassign 326986 perl,libnss-ldap retitle 326986 getpwnam fails if libnss-ldap.conf is not readable thanks
On Wed, 2005-09-07 at 10:30 -0700, Aaron T Porter wrote: > On Wed, Sep 07, 2005 at 01:09:22PM +0100, Scott James Remnant wrote: > > On Tue, 2005-09-06 at 17:46 -0700, Aaron T Porter wrote: > > > > > Further digging shows an error reading /etc/libnss-ldap.conf, > > > opening up permissions to this file produces the expected output from > > > dpkg-architecture. This file does however contain an ldap bind password > > > that would be best kept private. > > > > > What is reading this file? dpkg-architecture doesn't itself. > > Seems to be perl's getwnam on line 56 of > /usr/lib/dpkg/controllib.pl. This makes no sense to me, as that seems to > return valid data. However simply replacing the line with a hand generated > array makes things work: > > if (defined ($ENV{'LOGNAME'})) { > # @fowner = getpwnam ($ENV{'LOGNAME'}); > @fowner = { "atporter","foo","21002","124"}; > if (! @fowner) { die (sprintf ('unable to get login information for > username "%s"', $ENV{'LOGNAME'})); } > } > > The following produces the same output both as a non root user (where I > still see the error on libnss-ldap.conf) and as root: > > @fowner = getpwnam ("atporter"); > @fowner = @fowner[2,3]; > > for (@fowner) { > print "$_\n"; > } > It's either a Perl or libnss-ldap problem then. Scott -- Have you ever, ever felt like this? Had strange things happen? Are you going round the twist?
signature.asc
Description: This is a digitally signed message part