httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <wr...@rowe-clan.net>
Subject FilesystemOption flags???
Date Tue, 20 Nov 2001 04:36:36 GMT
From: "Dietz, Phil E." <PEDietz@West.com>
Sent: Monday, February 26, 2001 2:44 PM


> OK, I converted my ETag patch to use Options.  Of note:
> 
> - the allow_options_t size increased to a long because all 8 bits of char
> were in use.
> - if InodeEtag is not present in Options, it uses inodes like the current
> behaviour.
> - the patch below is beta and against version 1.3.17.  Newer ones against
> 1.3.19 to follow.

Here are the _filesystem_ flags that should be introduced, IMHO, as we can;

InodeEtag : base etag values on the inode value (false on OS2 and clusters, 
for example.)  Thank you Phil for raising this.

DirTrackModified : set autoindex and other directory last-modified dates 
based on the mtime (a problem for some since a change to the inode-values won't 
necessarily update the mtime of the directory containing the file for all 
filesystems - but a huge win for preventing unnecessary autoindex generation.)  
Best of both worlds, enable this directive, yet document that the user must 
touch the directory itself (rename a file within it, twice, if that file is 
really updated, or unlink and readd files when they change, or simply create 
a  file and blast it immediately.)  This too is bad for server farms.

IgnoresCase : This <directory > and descendents is mounted case-insensitive
(such as a samba mount point or the entire os2/win32/netware filesystem).
Blowing this directive results in serious security vulnerabilities.

AliasesExist : This <directory > and descendents are on a mount with aliases,
such as Win32/Netware 8.3 filenames.  This can be disabled, even on those
platforms, so the user might choose to toggle this off.  Again, any
misconfiguration will result in security vulnerabilities.

ExactNames : Refuse to serve content in the wrong case or from an alias
(requires IgnoreCase or AliasesExist.)  

AllowSymlink[IfOwnerMatch|IfGroupMatch] : really belongs in this context,
outside of the usual 'options'.  This has everything to do with the filesystem
and it's permissions and structure, more than content itself.

Others (???)

I don't really have time to implement these all at the moment, but I thought
I'd point them out as a 'family' of issues that will ultimately allow Unix
to properly support samba/clusters/etc, and Win32/OS2/Netware to be more
optimized when the admin wants to take the time to carefully construct their
web structure.  [And remind folks that the original patch is still very deserving
of consideration, in the broader scope of 'FilesystemOptions'.]

I personally want to see all of these become seperate from the typical 'Options'.
That helps to create mount-point specific (or '/' root-global) settings for the
filesystem that are independent of Options changes.

Bill


Mime
View raw message