Re: [Bug-tar] tar-1.25: test 39 fails on FreeBSD

2010-11-24 Thread Paul Eggert
On 11/23/2010 07:26 PM, Bruno Haible wrote: > Additionally, on NetBSD, the errno value EFTYPE should be turned into ELOOP > in the same way. And possibly also ENOTSUP on OSF/1. > > >

Re: [Bug-tar] tar-1.25: test 39 fails on FreeBSD

2010-11-23 Thread Bruno Haible
Paul Eggert wrote: > Right now I expect only 'tar' cares about this particular failure mode, Well, the 'xz' and 'netatalk' programs also needed this workaround:

Re: [Bug-tar] tar-1.25: test 39 fails on FreeBSD

2010-11-23 Thread Bruno Haible
Paul Eggert wrote: > it might be more conservative to convert EMLINK > to ELOOP only if both (1) O_NOFOLLOW is given and (2) no flags > are given other than those standardized by POSIX. Yes, agreed. Additionally, on NetBSD, the errno value EFTYPE should be turned into ELOOP in the same way. And p

Re: [Bug-tar] tar-1.25: test 39 fails on FreeBSD

2010-11-23 Thread Paul Eggert
On 11/23/10 14:19, Bruno Haible wrote: > It's easy to convert EMLINK to ELOOP when O_NOFOLLOW was > specified among the flags, in lib/open.c and lib/openat.c. One more thing: Solaris open(...) has a Solaris-specific flag O_NOLINKS that can cause open to fail with errno==EMLINK. This is a valid ex

Re: [Bug-tar] tar-1.25: test 39 fails on FreeBSD

2010-11-23 Thread Bruno Haible
Eric Blake wrote: > Should we instead patch gnulib's open() module to work around this bug Yes, I agree. It's easy to convert EMLINK to ELOOP when O_NOFOLLOW was specified among the flags, in lib/open.c and lib/openat.c. It doesn't require additional system calls. Bruno

Re: [Bug-tar] tar-1.25: test 39 fails on FreeBSD

2010-11-23 Thread Paul Eggert
On 11/23/10 13:15, Eric Blake wrote: > Should we instead patch gnulib's open() module to work around this bug, > so that tar can just rely on the gnulib module for POSIX semantics > instead of having to copy this workaround into all clients? That might be a good idea, yes. I'd first like to see F

Re: [Bug-tar] tar-1.25: test 39 fails on FreeBSD

2010-11-23 Thread Eric Blake
[moving to bug-gnulib] On 11/23/2010 02:03 PM, Paul Eggert wrote: > On 11/23/10 08:16, Joerg Schilling wrote: > >> The POSIX standard requires errno to be ELOOP in this case. > > Quite right. And I see that this incompatibility is not > fixed in FreeBSD 9-current, at least according to the > pu