Date: Mon, 7 Feb 2011 09:11:39 +0000 From: Florent Thoumie <flz@FreeBSD.org> To: Doug Barton <dougb@freebsd.org> Cc: freebsd-ports@freebsd.org Subject: Re: pkg_info -g not working for unprivileged user + unreadable files Message-ID: <AANLkTinvc5gins3MzMGmXLX=SfZ0eUQEvmrRdwjcgTxA@mail.gmail.com> In-Reply-To: <4D4FA4DA.608@FreeBSD.org> References: <4D4FA4DA.608@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Feb 7, 2011 at 7:52 AM, Doug Barton <dougb@freebsd.org> wrote: > flz, > > In r206043 you converted fexists() in src/lib/libpkg/file.c to use open() > instead of lstat(). Unfortunately this has the side effect of breaking > 'pkg_info -g' for unprivileged users with files that have no +r bits. For > example: > > pkg_info -g sudo-1.7.4.6 > Information for sudo-1.7.4.6: > > Mismatched Checksums: > pkg_info: /usr/local/bin/sudo doesn't exist > pkg_info: /usr/local/bin/sudoedit doesn't exist > pkg_info: /usr/local/bin/sudoreplay doesn't exist > pkg_info: /usr/local/sbin/visudo doesn't exist How can you compute the checksum if you don't have read access? I understand that the error message should rather be "Cannot open %s". > Reverting your change produces the expected behavior. So my questions are= , > why was the change made, what are its benefits, and how can we fix this > problem? =A0:) I'm sure there was a good reason at the time. I'll have a better look later= . --=20 Florent Thoumie flz@FreeBSD.org FreeBSD Committer
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTinvc5gins3MzMGmXLX=SfZ0eUQEvmrRdwjcgTxA>