#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,
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);
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",
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",