summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@suse.de>2011-09-26 13:38:16 +0200
committerDavid Disseldorp <ddiss@samba.org>2011-09-29 14:47:05 +0200
commit08573c2b923d565ed85027376ff88f91a9ee0c77 (patch)
treea2ffb44cebcd9d53956687d6354a07a9caf39c26
parentdbcd59f46b0d2125dfb6eb82b3d92be228c6ae4b (diff)
downloadsamba-08573c2b923d565ed85027376ff88f91a9ee0c77.tar.gz
samba-08573c2b923d565ed85027376ff88f91a9ee0c77.tar.bz2
samba-08573c2b923d565ed85027376ff88f91a9ee0c77.zip
s4: add SMB2_FSCTL opcodes
Also, skip samba4.smb2.ioctl for now. Snapshots are not supported by default. Autobuild-User: David Disseldorp <ddiss@samba.org> Autobuild-Date: Thu Sep 29 14:47:05 CEST 2011 on sn-devel-104
-rw-r--r--source4/libcli/raw/interfaces.h14
-rw-r--r--source4/selftest/skip1
-rw-r--r--source4/torture/smb2/ioctl.c6
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;
}