TODO smb2_tcon: add some share flags/capabilities options (Default:off)
authorStefan Metzmacher <metze@samba.org>
Tue, 31 Jul 2012 06:55:20 +0000 (08:55 +0200)
committerMichael Adam <obnox@samba.org>
Mon, 23 Oct 2017 21:56:31 +0000 (23:56 +0200)
source3/smbd/smb2_tcon.c

index 914eb87aa8c2ec6d66c8cf23f57cbf977236489a..cff014dbac1948e2acc9636ec5cd2cae3bdc265e 100644 (file)
@@ -378,6 +378,28 @@ static NTSTATUS smbd_smb2_tree_connect(struct smbd_smb2_request *req,
                *out_share_flags |= SMB2_SHAREFLAG_ENCRYPT_DATA;
        }
 
+       if (lp_parm_bool(SNUM(tcon->compat), "smbd", "announce branch cache v1", false)) {
+               *out_share_flags |= SMB2_SHAREFLAG_ENABLE_HASH_V1;
+       }
+       if (lp_parm_bool(SNUM(tcon->compat), "smbd", "announce branch cache v2", false)) {
+               *out_share_flags |= SMB2_SHAREFLAG_ENABLE_HASH_V2;
+       }
+       if (conn->protocol >= PROTOCOL_SMB2_22 &&
+           lp_parm_bool(SNUM(tcon->compat), "smbd", "announce CA", false))
+       {
+               *out_capabilities |= SMB2_SHARE_CAP_CONTINUOUS_AVAILABILITY;
+       }
+       if (conn->protocol >= PROTOCOL_SMB2_22 &&
+           lp_parm_bool(SNUM(tcon->compat), "smbd", "announce SO", false))
+       {
+               *out_capabilities |= SMB2_SHARE_CAP_SCALEOUT;
+       }
+       if (conn->protocol >= PROTOCOL_SMB2_22 &&
+           lp_parm_bool(SNUM(tcon->compat), "smbd", "announce CLUSTER", false))
+       {
+               *out_capabilities |= SMB2_SHARE_CAP_CLUSTER;
+       }
+
        *out_maximal_access = tcon->compat->share_access;
 
        *out_tree_id = tcon->global->tcon_wire_id;