DOS mode bits missing from Folders

Gerald (Jerry) Carter jerry at plainjoe.org
Mon Jan 20 18:08:40 GMT 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tue, 14 Jan 2003, Esh, Andrew wrote:

> I have a question about the following piece of code in HEAD smbd/dosmode.c,
> at line 139:
> 
> 	if (S_ISDIR(sbuf->st_mode))
> 		result = aDIR | (result & aRONLY);
> 
> This causes the DOS mode "HSA" Hidden, System, and Archive bits to be
> stripped off if a folder is being processed. This makes it impossible to
> store these bits on a Samba server. Windows allows them to be stored for
> folders, except for the "S" System bit.
> 
> Why are these bits being stripped off folders?
> 
> Shouldn't it be:
> 
> 	if (S_ISDIR(sbuf->st_mode))
> 		result |= aDIR;
> 
> When I made that change, folders began to retain DOS bits like the ones
> stored on Windows do.

The e(X)exute bits are special on folders.  For example, if you remove the 
archive (user 'x' bit) from a directory, you will not be able to change to
that directory.

The DOS mode bit stuff really needs a better solution.



cheers, jerry
 ----------------------------------------------------------------------
 Hewlett-Packard            ------------------------- http://www.hp.com
 SAMBA Team                 ---------------------- http://www.samba.org
 GnuPG Key                  ---- http://www.plainjoe.org/gpg_public.asc
 ISBN 0-672-32269-2         "SAMS Teach Yourself Samba in 24 Hours" 2ed
 "You can never go home again, Oatman, but I guess you can shop there."  
                            --John Cusack - "Grosse Point Blank" (1997)


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.0 (GNU/Linux)
Comment: For info see http://quantumlab.net/pine_privacy_guard/

iD8DBQE+LDpKIR7qMdg1EfYRAvkiAJ9cA8Gm9t9iPSBeYudtluJxJRuZ6ACfT3k7
ExM1uo7m6Eaf5RGXO6Y8wLQ=
=WSgs
-----END PGP SIGNATURE-----




More information about the samba-technical mailing list