The branch, master has been updated
       via  2b1d7ac s3: Unify stream testing in open_directory
       via  549a319 s3: Re-indent an && sequence for better understanding
       via  312228d s3: Fix "smbcontrol smbd close-share"
      from  8972c92 s3:net ads join: remove a useless empty comment block

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 2b1d7ac0603ce8fe5a76efa45c3f17f1680e5e66
Author: Volker Lendecke <v...@samba.org>
Date:   Tue Jan 31 17:26:34 2012 +0100

    s3: Unify stream testing in open_directory
    
    The second if-statement could never have kicked in, assuming the
    SMB_ASSERT above was right.
    
    Jeremy, please check!
    
    Autobuild-User: Volker Lendecke <vlen...@samba.org>
    Autobuild-Date: Tue Jan 31 20:15:36 CET 2012 on sn-devel-104

commit 549a31963e993a15b6155a046dd4ecea9b05eed7
Author: Volker Lendecke <v...@samba.org>
Date:   Tue Jan 31 17:24:49 2012 +0100

    s3: Re-indent an && sequence for better understanding

commit 312228d0c89f83c9defaba268a2bb62365b0ce1b
Author: Volker Lendecke <v...@samba.org>
Date:   Mon Jan 30 18:23:49 2012 +0100

    s3: Fix "smbcontrol smbd close-share"

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

Summary of changes:
 source3/smbd/open.c   |   14 +++++---------
 source3/smbd/server.c |   11 +++++++++++
 2 files changed, 16 insertions(+), 9 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 5388059..3374fdb 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -2675,7 +2675,11 @@ static NTSTATUS open_directory(connection_struct *conn,
        struct timespec mtimespec;
        int info = 0;
 
-       SMB_ASSERT(!is_ntfs_stream_smb_fname(smb_dname));
+       if (is_ntfs_stream_smb_fname(smb_dname)) {
+               DEBUG(2, ("open_directory: %s is a stream name!\n",
+                         smb_fname_str_dbg(smb_dname)));
+               return NT_STATUS_NOT_A_DIRECTORY;
+       }
 
        /* Ensure we have a directory attribute. */
        file_attributes |= FILE_ATTRIBUTE_DIRECTORY;
@@ -2690,14 +2694,6 @@ static NTSTATUS open_directory(connection_struct *conn,
                 (unsigned int)create_disposition,
                 (unsigned int)file_attributes));
 
-       if (!(file_attributes & FILE_FLAG_POSIX_SEMANTICS) &&
-                       (conn->fs_capabilities & FILE_NAMED_STREAMS) &&
-                       is_ntfs_stream_smb_fname(smb_dname)) {
-               DEBUG(2, ("open_directory: %s is a stream name!\n",
-                         smb_fname_str_dbg(smb_dname)));
-               return NT_STATUS_NOT_A_DIRECTORY;
-       }
-
        status = smbd_calculate_access_mask(conn, smb_dname,
                                            access_mask, &access_mask);
        if (!NT_STATUS_IS_OK(status)) {
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 369b7ab..10d59ad 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -269,6 +269,15 @@ static void smbd_parent_id_cache_delete(struct 
messaging_context *ctx,
        messaging_send_to_children(ctx, msg_type, msg_data);
 }
 
+static void smb_parent_force_tdis(struct messaging_context *ctx,
+                                 void* data,
+                                 uint32_t msg_type,
+                                 struct server_id srv_id,
+                                 DATA_BLOB* msg_data)
+{
+       messaging_send_to_children(ctx, msg_type, msg_data);
+}
+
 static void add_child_pid(struct smbd_parent_context *parent,
                          pid_t pid)
 {
@@ -806,6 +815,8 @@ static bool open_sockets_smbd(struct smbd_parent_context 
*parent,
                           smb_pcap_updated);
        messaging_register(msg_ctx, NULL, MSG_SMB_BRL_VALIDATE,
                           brl_revalidate);
+       messaging_register(msg_ctx, NULL, MSG_SMB_FORCE_TDIS,
+                          smb_parent_force_tdis);
 
        messaging_register(msg_ctx, NULL,
                           ID_CACHE_FLUSH, smbd_parent_id_cache_flush);


-- 
Samba Shared Repository

Reply via email to