lib: remove unused function nttime_from_string()
[bbaumbach/samba-autobuild/.git] / source3 / libsmb / clisecdesc.c
index 24da39dc1f800299ed07a43040f968c19a7392b1..c11e4b322ef6f44f74a3792f553580e7bcd3a34d 100644 (file)
@@ -20,6 +20,7 @@
 #include "includes.h"
 #include "libsmb/libsmb.h"
 #include "../libcli/security/secdesc.h"
+#include "../libcli/smb/smbXcli_base.h"
 
 NTSTATUS cli_query_security_descriptor(struct cli_state *cli,
                                       uint16_t fnum,
@@ -33,6 +34,14 @@ NTSTATUS cli_query_security_descriptor(struct cli_state *cli,
        NTSTATUS status;
        struct security_descriptor *lsd;
 
+       if (smbXcli_conn_protocol(cli->conn) >= PROTOCOL_SMB2_02) {
+               return cli_smb2_query_security_descriptor(cli,
+                                                       fnum,
+                                                       sec_info,
+                                                       mem_ctx,
+                                                       sd);
+       }
+
        SIVAL(param, 0, fnum);
        SIVAL(param, 4, sec_info);
 
@@ -53,7 +62,7 @@ NTSTATUS cli_query_security_descriptor(struct cli_state *cli,
                goto cleanup;
        }
 
-       status = unmarshall_sec_desc(mem_ctx, (uint8 *)rdata, rdata_count,
+       status = unmarshall_sec_desc(mem_ctx, (uint8_t *)rdata, rdata_count,
                                     &lsd);
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(10, ("unmarshall_sec_desc failed: %s\n",
@@ -91,10 +100,17 @@ NTSTATUS cli_set_security_descriptor(struct cli_state *cli,
                                     const struct security_descriptor *sd)
 {
        uint8_t param[8];
-       uint8 *data;
+       uint8_t *data;
        size_t len;
        NTSTATUS status;
 
+       if (smbXcli_conn_protocol(cli->conn) >= PROTOCOL_SMB2_02) {
+               return cli_smb2_set_security_descriptor(cli,
+                                                       fnum,
+                                                       sec_info,
+                                                       sd);
+       }
+
        status = marshall_sec_desc(talloc_tos(), sd, &data, &len);
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(10, ("marshall_sec_desc failed: %s\n",