[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-test-1628-g4c08725

Derrell Lipman derrell.lipman at unwireduniverse.com
Thu Jan 24 01:51:23 GMT 2008


The branch, v3-2-test has been updated
       via  4c08725a42a8babf0f078fb4b221a96f58deeb50 (commit)
       via  54abf7d0e595e9cbeea115a40d4f7b995252a150 (commit)
      from  2df0cdaafdced798f81e30d34371aa1d8e963208 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit 4c08725a42a8babf0f078fb4b221a96f58deeb50
Merge: 2df0cdaafdced798f81e30d34371aa1d8e963208 54abf7d0e595e9cbeea115a40d4f7b995252a150
Author: Derrell Lipman <derrell.lipman at unwireduniverse.com>
Date:   Wed Jan 23 20:50:24 2008 -0500

    Merge branch 'setxattr-dos-mode' into v3-2-test

commit 54abf7d0e595e9cbeea115a40d4f7b995252a150
Author: Derrell Lipman <derrell.lipman at unwireduniverse.com>
Date:   Wed Jan 23 20:44:54 2008 -0500

    Allow clearing all settable DOS mode bits.  A mode value of zero is ignored by
    Windows.  If the requested mode is zero, we instead send the appropriate one
    of 0x80 (NORMAL) or 0x10 (DIRECTORY).
    
    Thanks Jeremy!
    
    Derrell

-----------------------------------------------------------------------

Summary of changes:
 source/libsmb/libsmbclient.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/libsmb/libsmbclient.c b/source/libsmb/libsmbclient.c
index fbcb7f6..2eb580a 100644
--- a/source/libsmb/libsmbclient.c
+++ b/source/libsmb/libsmbclient.c
@@ -4689,7 +4689,15 @@ dos_attr_parse(SMBCCTX *context,
 	frame = talloc_stackframe();
 	while (next_token_talloc(frame, &p, &tok, "\t,\r\n")) {
 		if (StrnCaseCmp(tok, "MODE:", 5) == 0) {
-			dad->mode = strtol(tok+5, NULL, 16);
+                        long request = strtol(tok+5, NULL, 16);
+                        if (request == 0) {
+                                dad->mode = (request |
+                                             (IS_DOS_DIR(dad->mode)
+                                              ? FILE_ATTRIBUTE_DIRECTORY
+                                              : FILE_ATTRIBUTE_NORMAL));
+                        } else {
+                                dad->mode = request;
+                        }
 			continue;
 		}
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list