The branch, v3-3-test has been updated
       via  1cca10ca4c503308f69290358fcc6b653ce09377 (commit)
       via  3c01f93b4cf4f4dec41511bae622736f1ade3b0f (commit)
      from  dca993dbd100c8119dc6facda86dbe48b7d34a94 (commit)

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


- Log -----------------------------------------------------------------
commit 1cca10ca4c503308f69290358fcc6b653ce09377
Merge: 3c01f93b4cf4f4dec41511bae622736f1ade3b0f 
dca993dbd100c8119dc6facda86dbe48b7d34a94
Author: Jeremy Allison <[email protected]>
Date:   Tue Feb 24 18:00:32 2009 -0800

    Merge branch 'v3-3-test' of ssh://[email protected]/data/git/samba into 
v3-3-test

commit 3c01f93b4cf4f4dec41511bae622736f1ade3b0f
Author: Jeremy Allison <[email protected]>
Date:   Tue Feb 24 17:58:14 2009 -0800

    Allow set attributes on a stream fnum to be redirected to the base filename.
    Fixes the new RAW-STREAMS torture test.
    Jeremy.

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

Summary of changes:
 source/smbd/trans2.c |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/smbd/trans2.c b/source/smbd/trans2.c
index c27464a..fdca880 100644
--- a/source/smbd/trans2.c
+++ b/source/smbd/trans2.c
@@ -4971,6 +4971,7 @@ NTSTATUS smb_set_file_time(connection_struct *conn,
 ****************************************************************************/
 
 static NTSTATUS smb_set_file_dosmode(connection_struct *conn,
+                               files_struct *fsp,
                                const char *fname,
                                SMB_STRUCT_STAT *psbuf,
                                uint32 dosmode)
@@ -4979,6 +4980,14 @@ static NTSTATUS smb_set_file_dosmode(connection_struct 
*conn,
                return NT_STATUS_OBJECT_NAME_NOT_FOUND;
        }
 
+       if (fsp) {
+               if (fsp->base_fsp) {
+                       fname = fsp->base_fsp->fsp_name;
+               } else {
+                       fname = fsp->fsp_name;
+               }
+       }
+               
        if (dosmode) {
                if (S_ISDIR(psbuf->st_mode)) {
                        dosmode |= aDIR;
@@ -5704,9 +5713,11 @@ static NTSTATUS 
smb_set_file_basic_info(connection_struct *conn,
        /* Set the attributes */
        dosmode = IVAL(pdata,32);
        status = smb_set_file_dosmode(conn,
-                                       fname,
-                                       psbuf,
-                                       dosmode);
+                               fsp,
+                               fname,
+                               psbuf,
+                               dosmode);
+
        if (!NT_STATUS_IS_OK(status)) {
                return status;
        }


-- 
Samba Shared Repository

Reply via email to