All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: EACCESS vs ENOENT for nonexistent files-within-files
@ 2004-09-15 13:18 Paul Wagland
  2004-09-15 14:04 ` Hans Reiser
  2004-09-15 14:45 ` Nikita Danilov
  0 siblings, 2 replies; 19+ messages in thread
From: Paul Wagland @ 2004-09-15 13:18 UTC (permalink / raw)
  To: Nikita Danilov; +Cc: evilninja, reiserfs-list, Hans Reiser

[-- Attachment #1: Type: text/plain, Size: 1550 bytes --]

On Wed 15 Sep 2004 01:41:40 PM CEST, Nikita Danilov wrote:
> evilninja writes:
>  > evil@prinz:/tmp$ touch file.txt
>  > evil@prinz:/tmp$ cat file.txt/.htaccess
>  > cat: file.txt/.htaccess: Not a directory
>  > evil@prinz:/tmp$ chmod +x file.txt
>  > evil@prinz:/tmp$ cat file.txt/.htaccess
>  > cat: file.txt/.htaccess: Not a directory
>
> But in reiser4 file.txt _is_ a directory. That's the whole point: it
> contains other objects inside.

[...]

> This is very simple: do be able to do a lookup one needs +x bit. No +x
> bit--no lookup. No lookup---impossible to determine exists .htaccess or
> not.
>
> Permission bits determine what operations are possible on
> object. Letting user to know that .htaccess doesn't exist while
> permission bits on parent explicitly disable lookups is a security
> hole.

I'm sorry to be so blunt on this... but this is just plain dumb. Really. For as
long as I have known, an executable bit on a file means that you can "execute"
that file. Now  you try to say, yeah, that, but as well, it means whether or
not you can access the files attributes?

Seriously. What were you thinking?

Does this mean (for example) that on a sgid file, only the group can see the
attributes? Even if the file is world readable? Does this really make sense?

Here is the rub... you are breaking the rules of "one object - one purpose".
Surely this is not how it is meant to be? On a file, the execute bit is meant
for "can I run this file". On a dir, this bit is for "Can I see inside this
directory". They do not match!

Paul.

[-- Attachment #2: PGP Digital Signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread
* EACCESS vs ENOENT for nonexistent files-within-files
@ 2004-09-13 14:06 Joe Orton
  2004-09-13 14:25 ` Wayne Scott
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Joe Orton @ 2004-09-13 14:06 UTC (permalink / raw)
  To: reiserfs-list; +Cc: jorton

Hi, we had a bug report that Apache httpd logs a spurious error for
every file served from a reiser4 filesystem, because httpd assumes that
/path/to/file/.htaccess (where /path/to/file is a normal file) returns
ENOENT or ENOTDIR, but reiser4 returns EACCES in this case.

Can someone explain the justification behind reiser4's behaviour? 
httpd's assumption does not seem unreasonable, and EACCES seems to make
little sense for this error case.

Regards,

joe

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2004-09-16 22:40 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-15 13:18 EACCESS vs ENOENT for nonexistent files-within-files Paul Wagland
2004-09-15 14:04 ` Hans Reiser
2004-09-15 14:16   ` Paul Wagland
2004-09-15 15:12   ` Nikita Danilov
2004-09-15 14:45 ` Nikita Danilov
2004-09-15 16:15   ` daniel.poelzleithner
2004-09-15 22:40     ` Hans Reiser
2004-09-16 19:55   ` Toby Dickenson
     [not found]     ` <2f9ccaae04091615395cfd0730@mail.gmail.com>
2004-09-16 22:40       ` Perry Kundert
  -- strict thread matches above, loose matches on Subject: below --
2004-09-13 14:06 Joe Orton
2004-09-13 14:25 ` Wayne Scott
2004-09-13 15:21 ` Michael Weissenbacher
2004-09-13 16:13 ` Alex Zarochentsev
2004-09-13 18:52   ` Joe Orton
2004-09-13 19:44     ` Nikita Danilov
2004-09-15 10:55       ` evilninja
2004-09-15 11:41         ` Nikita Danilov
2004-09-16  0:00           ` evilninja
2004-09-13 20:58     ` Alex Zarochentsev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.