[PATCH 5/5] s4: add SMB2_FSCTL opcodes
David Disseldorp
ddiss at suse.de
Wed Sep 28 08:42:49 MDT 2011
---
source4/libcli/raw/interfaces.h | 14 ++++++++++++++
source4/torture/smb2/ioctl.c | 6 +++---
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/source4/libcli/raw/interfaces.h b/source4/libcli/raw/interfaces.h
index 13586c3..7f42926 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/torture/smb2/ioctl.c b/source4/torture/smb2/ioctl.c
index bc8a96a..f96893a 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;
}
--
1.7.1
More information about the samba-technical
mailing list