s3:libsmb: call smbXcli_tcon_set_fs_attributes() directly
authorStefan Metzmacher <metze@samba.org>
Fri, 27 Sep 2013 04:06:32 +0000 (06:06 +0200)
committerMichael Adam <obnox@samba.org>
Thu, 17 Oct 2013 17:02:03 +0000 (19:02 +0200)
We should try to set all attributes we got and not just
FILE_CASE_SENSITIVE_SEARCH.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=10200

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Thu Oct 17 19:02:03 CEST 2013 on sn-devel-104

source3/libsmb/libsmb_server.c

index 357dc28..9d87f42 100644 (file)
@@ -256,6 +256,7 @@ SMBC_server_internal(TALLOC_CTX *ctx,
        NTSTATUS status;
        char *newserver, *newshare;
        int flags = 0;
+       struct smbXcli_tcon *tcon = NULL;
 
        ZERO_STRUCT(c);
        *in_cache = false;
@@ -528,6 +529,12 @@ SMBC_server_internal(TALLOC_CTX *ctx,
 
        DEBUG(4,(" tconx ok\n"));
 
+       if (smbXcli_conn_protocol(c->conn) >= PROTOCOL_SMB2_02) {
+               tcon = c->smb2.tcon;
+       } else {
+               tcon = c->smb1.tcon;
+       }
+
         /* Determine if this share supports case sensitivity */
        if (is_ipc) {
                 DEBUG(4, ("IPC$ so ignore case sensitivity\n"));
@@ -555,10 +562,7 @@ SMBC_server_internal(TALLOC_CTX *ctx,
                           (fs_attrs & FILE_CASE_SENSITIVE_SEARCH
                            ? "True"
                            : "False")));
-                cli_set_case_sensitive(c,
-                                       (fs_attrs & FILE_CASE_SENSITIVE_SEARCH
-                                        ? True
-                                        : False));
+               smbXcli_tcon_set_fs_attributes(tcon, fs_attrs);
         }
 
        if (context->internal->smb_encryption_level) {