From 08573c2b923d565ed85027376ff88f91a9ee0c77 Mon Sep 17 00:00:00 2001 From: David Disseldorp Date: Mon, 26 Sep 2011 13:38:16 +0200 Subject: s4: add SMB2_FSCTL opcodes Also, skip samba4.smb2.ioctl for now. Snapshots are not supported by default. Autobuild-User: David Disseldorp Autobuild-Date: Thu Sep 29 14:47:05 CEST 2011 on sn-devel-104 --- source4/libcli/raw/interfaces.h | 14 ++++++++++++++ source4/selftest/skip | 1 + source4/torture/smb2/ioctl.c | 6 +++--- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/source4/libcli/raw/interfaces.h b/source4/libcli/raw/interfaces.h index 13586c3c89..7f42926a59 100644 --- a/source4/libcli/raw/interfaces.h +++ b/source4/libcli/raw/interfaces.h @@ -2191,6 +2191,20 @@ enum smb_ioctl_level { RAW_IOCTL_SMB2_NO_HANDLE }; +/* 2.2.31 SMB2 IOCTL Request */ +#define SMB2_IOCTL_FLAG_IS_FSCTL 0x00000001 + +#define SMB2_FSCTL_DFS_GET_REFERRALS 0x00060194 +#define SMB2_FSCTL_PIPE_PEEK 0x0011400C +#define SMB2_FSCTL_PIPE_WAIT 0x00110018 +#define SMB2_FSCTL_PIPE_TRANSCEIVE 0x0011C017 +#define SMB2_FSCTL_SRV_COPYCHUNK 0x001440F2 +#define SMB2_FSCTL_SRV_ENUM_SNAPS 0x00144064 +#define SMB2_FSCTL_SRV_REQUEST_RESUME_KEY 0x00140078 +#define SMB2_FSCTL_SRV_READ_HASH 0x001441bb +#define SMB2_FSCTL_SRV_COPYCHUNK_WRITE 0x001480F2 +#define SMB2_FSCTL_LMR_REQ_RESILIENCY 0x001401D4 + /* union for ioctl() backend */ diff --git a/source4/selftest/skip b/source4/selftest/skip index 5400be1e30..acaa44f7bf 100644 --- a/source4/selftest/skip +++ b/source4/selftest/skip @@ -78,3 +78,4 @@ bench # don't run benchmarks in our selftest ^samba4.blackbox.ktpass # this test isn't portable ... ^samba4.drs.repl_schema.python # flakey test ^samba4.nbt.winsreplication # flakey test +^samba4.smb2.ioctl # snapshots not supported by default diff --git a/source4/torture/smb2/ioctl.c b/source4/torture/smb2/ioctl.c index bc8a96a58f..f96893ab44 100644 --- a/source4/torture/smb2/ioctl.c +++ b/source4/torture/smb2/ioctl.c @@ -58,13 +58,13 @@ static bool test_ioctl_get_shadow_copy(struct torture_context *torture, ZERO_STRUCT(ioctl); ioctl.smb2.level = RAW_IOCTL_SMB2; ioctl.smb2.in.file.handle = h; - ioctl.smb2.in.function = 0x144064; /* FSCTL_GET_SHADOW_COPY_DATA 0x144064 */ + ioctl.smb2.in.function = SMB2_FSCTL_SRV_ENUM_SNAPS; ioctl.smb2.in.max_response_size = 16; - ioctl.smb2.in.flags = 1; /* Is FSCTL */ + ioctl.smb2.in.flags = SMB2_IOCTL_FLAG_IS_FSCTL; status = smb2_ioctl(tree, tmp_ctx, &ioctl.smb2); if (!NT_STATUS_IS_OK(status)) { - printf("FSCTL_GET_SHADOW_COPY_DATA failed\n"); + printf("SMB2_FSCTL_SRV_ENUM_SNAPS failed\n"); return false; } -- cgit