[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Wed Oct 19 09:16:03 MDT 2011
The branch, master has been updated
via ba08ad5 s4:libcli/raw: remove unused smb_len(), _smb_setlen() and _smb2_setlen() macros
via 8bf1e4c s4:smb_server/smb2: make use of _smb_setlen_tcp()
via 2fbbf75 s4:smb_server/smb: make use of _smb_setlen_nbt()
via 8574d50 s4:libcli/smb2: make use of _smb_setlen_tcp()
via 8eed525 s4:libcli/raw: make use of _smb_setlen_nbt()
via b0480f2 s4:lib/stream: make use of smb_len_tcp()
via da32fb6 s3:include: use smb_[set]len_[nbt|tcp]() macros
via cd22763 libcli/smb: add smb_[set]len_[nbt|tcp]() macros
via 5e6c477 s3: remove duplicate fsctl fn definitions
via b711de2 libcli: Move smb2 fsctl fn defs into common code
via d5ea379 s3: Remove duplicate fsctl function definitions
via 281fc93 libcli: move ioctl function field defs to smb_constants
from 43f23b5 s4-s3-upgrade rename samba-tool domain samba3upgrade --libdir to --dbdir for clarity
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit ba08ad5f3942cbb6afb0b411dfd149fabd1954a6
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 19 14:02:57 2011 +0200
s4:libcli/raw: remove unused smb_len(), _smb_setlen() and _smb2_setlen() macros
metze
Autobuild-User: Stefan Metzmacher <metze at samba.org>
Autobuild-Date: Wed Oct 19 17:15:23 CEST 2011 on sn-devel-104
commit 8bf1e4caae0fcf87aa87bce2eaff2aab7ead8746
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 19 14:02:30 2011 +0200
s4:smb_server/smb2: make use of _smb_setlen_tcp()
metze
commit 2fbbf751f5afc5e8ed00c9ecb6ac817982f6362b
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 19 14:02:09 2011 +0200
s4:smb_server/smb: make use of _smb_setlen_nbt()
metze
commit 8574d509a94ccf44c129d9c5b2a71f631d4fbfb0
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 19 14:01:29 2011 +0200
s4:libcli/smb2: make use of _smb_setlen_tcp()
metze
commit 8eed525e0b2b71f5d39657f9c81ce37f819c4a6a
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 19 14:01:01 2011 +0200
s4:libcli/raw: make use of _smb_setlen_nbt()
metze
commit b0480f26ca3823d618f85f381700fcd23d299220
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 19 14:00:12 2011 +0200
s4:lib/stream: make use of smb_len_tcp()
metze
commit da32fb6b404a38b2043bfe55bc97e94e6ae68f7f
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 19 13:48:09 2011 +0200
s3:include: use smb_[set]len_[nbt|tcp]() macros
metze
commit cd227634408c54a917d7cb5f8877b373a688eb8e
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 19 13:48:09 2011 +0200
libcli/smb: add smb_[set]len_[nbt|tcp]() macros
metze
commit 5e6c477ef8b7f4799e281ed87a3d4c1eda5dc92f
Author: David Disseldorp <ddiss at suse.de>
Date: Tue Oct 18 13:55:22 2011 +0200
s3: remove duplicate fsctl fn definitions
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit b711de287f9318b5de1374c72f0194403e845f79
Author: David Disseldorp <ddiss at suse.de>
Date: Tue Oct 18 13:54:33 2011 +0200
libcli: Move smb2 fsctl fn defs into common code
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit d5ea379428bafbe3f0b26b2dc7906fa6379833a9
Author: David Disseldorp <ddiss at suse.de>
Date: Tue Oct 18 12:23:26 2011 +0200
s3: Remove duplicate fsctl function definitions
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 281fc93c6bc21039ffedcc8d19084df02b087f24
Author: David Disseldorp <ddiss at suse.de>
Date: Tue Oct 18 11:47:05 2011 +0200
libcli: move ioctl function field defs to smb_constants
Currently there are a lot of duplicate ioctl function field definitions
between source3 and source4.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
-----------------------------------------------------------------------
Summary of changes:
libcli/smb/smb_constants.h | 59 ++++++++++++++++++++++++++++++++++
source3/include/ntioctl.h | 49 ----------------------------
source3/include/smb_macros.h | 8 ++--
source3/libsmb/clisymlink.c | 1 -
source3/smbd/nttrans.c | 1 -
source3/torture/test_nttrans_fsctl.c | 1 -
source4/lib/stream/packet.c | 8 ++++-
source4/libcli/raw/clitransport.c | 2 +-
source4/libcli/raw/interfaces.h | 11 ------
source4/libcli/raw/ioctl.h | 59 ----------------------------------
source4/libcli/raw/rawrequest.c | 2 +-
source4/libcli/raw/rawshadow.c | 2 +-
source4/libcli/raw/smb.h | 6 ---
source4/libcli/smb2/transport.c | 4 +-
source4/librpc/rpc/dcerpc_smb2.c | 2 +-
source4/ntvfs/ipc/vfs_ipc.c | 2 +-
source4/ntvfs/posix/pvfs_ioctl.c | 2 +-
source4/ntvfs/print/vfs_print.c | 2 +-
source4/smb_server/smb/request.c | 2 +-
source4/smb_server/smb2/receive.c | 2 +-
source4/torture/basic/misc.c | 2 +-
source4/torture/raw/ioctl.c | 2 +-
source4/torture/smb2/ioctl.c | 4 +-
source4/torture/util_smb.c | 2 +-
24 files changed, 86 insertions(+), 149 deletions(-)
delete mode 100644 source4/libcli/raw/ioctl.h
Changeset truncated at 500 lines:
diff --git a/libcli/smb/smb_constants.h b/libcli/smb/smb_constants.h
index 54898c9..91330dd 100644
--- a/libcli/smb/smb_constants.h
+++ b/libcli/smb/smb_constants.h
@@ -32,6 +32,12 @@
#define NBSSretarget 0x84 /* retarget session response */
#define NBSSkeepalive 0x85 /* keepalive */
+#define smb_len_nbt(buf) (RIVAL(buf, 0) & 0x1FFFF)
+#define _smb_setlen_nbt(buf,len) RSIVAL(buf, 0, (len) & 0x1FFFF)
+
+#define smb_len_tcp(buf) (RIVAL(buf, 0) & 0xFFFFFF)
+#define _smb_setlen_tcp(buf,len) RSIVAL(buf, 0, (len) & 0xFFFFFF)
+
/* protocol types. It assumes that higher protocols include lower protocols
as subsets. */
enum protocol_types {
@@ -103,4 +109,57 @@ enum csc_policy {
#define FILE_TYPE_COMM_DEVICE 4
#define FILE_TYPE_UNKNOWN 0xFFFF
+/* ioctl codes */
+#define IOCTL_QUERY_JOB_INFO 0x530060
+
+/* filesystem control codes */
+#define FSCTL_METHOD_BUFFERED 0x00000000
+#define FSCTL_METHOD_IN_DIRECT 0x00000001
+#define FSCTL_METHOD_OUT_DIRECT 0x00000002
+#define FSCTL_METHOD_NEITHER 0x00000003
+
+#define FSCTL_ACCESS_ANY 0x00000000
+#define FSCTL_ACCESS_READ 0x00004000
+#define FSCTL_ACCESS_WRITE 0x00008000
+
+#define FSCTL_DFS 0x00060000
+#define FSCTL_DFS_GET_REFERRALS (FSCTL_DFS | FSCTL_ACCESS_ANY | 0x0194 | FSCTL_METHOD_BUFFERED)
+
+#define FSCTL_FILESYSTEM 0x00090000
+#define FSCTL_REQUEST_OPLOCK_LEVEL_1 (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0000 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_REQUEST_OPLOCK_LEVEL_2 (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0004 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_REQUEST_BATCH_OPLOCK (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0008 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x000C | FSCTL_METHOD_BUFFERED)
+#define FSCTL_OPBATCH_ACK_CLOSE_PENDING (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0010 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_OPLOCK_BREAK_NOTIFY (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0014 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_FILESYS_GET_STATISTICS (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0060 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_GET_NTFS_VOLUME_DATA (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0064 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_IS_VOLUME_DIRTY (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0078 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_FIND_FILES_BY_SID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x008C | FSCTL_METHOD_NEITHER)
+#define FSCTL_SET_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0098 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_GET_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x009C | FSCTL_METHOD_BUFFERED)
+#define FSCTL_DELETE_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00A0 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_SET_REPARSE_POINT (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00A4 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_GET_REPARSE_POINT (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00A8 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_DELETE_REPARSE_POINT (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00AC | FSCTL_METHOD_BUFFERED)
+#define FSCTL_CREATE_OR_GET_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00C0 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_SET_SPARSE (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00C4 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_QUERY_ALLOCATED_RANGES (FSCTL_FILESYSTEM | FSCTL_ACCESS_READ | 0x00CC | FSCTL_METHOD_NEITHER)
+
+#define FSCTL_NAMED_PIPE 0x00110000
+#define FSCTL_PIPE_PEEK (FSCTL_NAMED_PIPE | FSCTL_ACCESS_READ | 0x000C | FSCTL_METHOD_BUFFERED)
+#define FSCTL_NAMED_PIPE_READ_WRITE (FSCTL_NAMED_PIPE | FSCTL_ACCESS_READ \
+ | FSCTL_ACCESS_WRITE | 0x0014 | FSCTL_METHOD_NEITHER)
+#define FSCTL_PIPE_TRANSCEIVE FSCTL_NAMED_PIPE_READ_WRITE /* SMB2 function name */
+#define FSCTL_PIPE_WAIT (FSCTL_NAMED_PIPE | FSCTL_ACCESS_ANY | 0x0018 | FSCTL_METHOD_BUFFERED)
+
+#define FSCTL_NETWORK_FILESYSTEM 0x00140000
+#define FSCTL_GET_SHADOW_COPY_DATA (FSCTL_NETWORK_FILESYSTEM | FSCTL_ACCESS_READ | 0x0064 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_SRV_ENUM_SNAPS FSCTL_GET_SHADOW_COPY_DATA /* SMB2 function name */
+#define FSCTL_SRV_REQUEST_RESUME_KEY (FSCTL_NETWORK_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0078 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_SRV_COPYCHUNK (FSCTL_NETWORK_FILESYSTEM | FSCTL_ACCESS_READ | 0x00F0 | FSCTL_METHOD_OUT_DIRECT)
+#define FSCTL_SRV_COPYCHUNK_WRITE (FSCTL_NETWORK_FILESYSTEM | FSCTL_ACCESS_WRITE | 0x00F0 | FSCTL_METHOD_OUT_DIRECT)
+#define FSCTL_SRV_READ_HASH (FSCTL_NETWORK_FILESYSTEM | FSCTL_ACCESS_READ| 0x01B8 | FSCTL_METHOD_NEITHER)
+#define FSCTL_LMR_REQ_RESILIENCY (FSCTL_NETWORK_FILESYSTEM | FSCTL_ACCESS_ANY | 0x01D4 | FSCTL_METHOD_BUFFERED)
+
#endif /* _SMB_CONSTANTS_H */
diff --git a/source3/include/ntioctl.h b/source3/include/ntioctl.h
index 706cc16..e09e1c8 100644
--- a/source3/include/ntioctl.h
+++ b/source3/include/ntioctl.h
@@ -17,58 +17,9 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/*
- I'm guessing we will need to support a bunch of these eventually. For now
- we only need the sparse flag
-*/
-
#ifndef _NTIOCTL_H
#define _NTIOCTL_H
-/* IOCTL information */
-/* List of ioctl function codes that look to be of interest to remote clients like this. */
-/* Need to do some experimentation to make sure they all work remotely. */
-/* Some of the following such as the encryption/compression ones would be */
-/* invoked from tools via a specialized hook into the VFS rather than via the */
-/* standard vfs entry points */
-#define FSCTL_REQUEST_OPLOCK_LEVEL_1 0x00090000
-#define FSCTL_REQUEST_OPLOCK_LEVEL_2 0x00090004
-#define FSCTL_REQUEST_BATCH_OPLOCK 0x00090008
-#define FSCTL_LOCK_VOLUME 0x00090018
-#define FSCTL_UNLOCK_VOLUME 0x0009001C
-#define FSCTL_GET_COMPRESSION 0x0009003C
-#define FSCTL_SET_COMPRESSION 0x0009C040
-#define FSCTL_IS_VOLUME_DIRTY 0x00090078
-#define FSCTL_REQUEST_FILTER_OPLOCK 0x0009008C
-#define FSCTL_FIND_FILES_BY_SID 0x0009008F
-#define FSCTL_FILESYS_GET_STATISTICS 0x00090090
-#define FSCTL_SET_OBJECT_ID 0x00090098
-#define FSCTL_GET_OBJECT_ID 0x0009009C
-#define FSCTL_SET_REPARSE_POINT 0x000900A4
-#define FSCTL_GET_REPARSE_POINT 0x000900A8
-#define FSCTL_DELETE_REPARSE_POINT 0x000900AC
-#define FSCTL_CREATE_OR_GET_OBJECT_ID 0x000900C0
-#define FSCTL_SET_SPARSE 0x000900C4
-#define FSCTL_SET_ZERO_DATA 0x000900C8
-#define FSCTL_SET_ENCRYPTION 0x000900D7
-#define FSCTL_ENCRYPTION_FSCTL_IO 0x000900DB
-#define FSCTL_WRITE_RAW_ENCRYPTED 0x000900DF
-#define FSCTL_READ_RAW_ENCRYPTED 0x000900E3
-#define FSCTL_SIS_COPYFILE 0x00090100
-#define FSCTL_QUERY_ALLOCATED_RANGES 0x000940CF
-#define FSCTL_SIS_LINK_FILES 0x0009C104
-
-#define FSCTL_GET_SHADOW_COPY_DATA 0x00144064 /* KJC -- Shadow Copy information */
-
-#if 0
-#define FSCTL_SECURITY_ID_CHECK
-#define FSCTL_DISMOUNT_VOLUME
-#define FSCTL_GET_NTFS_FILE_RECORD
-#define FSCTL_ALLOW_EXTENDED_DASD_IO
-#define FSCTL_RECALL_FILE
-
-#endif
-
#define IO_REPARSE_TAG_SYMLINK 0xA000000C
#define SYMLINK_FLAG_RELATIVE 0x00000001
diff --git a/source3/include/smb_macros.h b/source3/include/smb_macros.h
index 3be0224..bed463d 100644
--- a/source3/include/smb_macros.h
+++ b/source3/include/smb_macros.h
@@ -132,11 +132,11 @@
/* Note that chain_size must be available as an extern int to this macro. */
#define smb_offset(p,buf) (PTR_DIFF(p,buf+4))
-#define smb_len(buf) (RIVAL(buf, 0) & 0x1FFFF)
-#define _smb_setlen(buf,len) RSIVAL(buf, 0, (len) & 0x1FFFF)
+#define smb_len(buf) smb_len_nbt(buf)
+#define _smb_setlen(buf, len) _smb_setlen_nbt(buf, len)
-#define smb_len_large(buf) (RIVAL(buf, 0) & 0xFFFFFF)
-#define _smb_setlen_large(buf,len) RSIVAL(buf, 0, (len) & 0xFFFFFF)
+#define smb_len_large(buf) smb_len_tcp(buf)
+#define _smb_setlen_large(buf, len) _smb_setlen_tcp(buf, len)
#define ENCRYPTION_REQUIRED(conn) ((conn) ? ((conn)->encrypt_level == Required) : false)
#define IS_CONN_ENCRYPTED(conn) ((conn) ? (conn)->encrypted_tid : false)
diff --git a/source3/libsmb/clisymlink.c b/source3/libsmb/clisymlink.c
index e744a38..fad9826 100644
--- a/source3/libsmb/clisymlink.c
+++ b/source3/libsmb/clisymlink.c
@@ -24,7 +24,6 @@
#include "async_smb.h"
#include "libsmb/clirap.h"
#include "trans2.h"
-#include "ntioctl.h"
#include "libcli/security/secdesc.h"
#include "libcli/security/security.h"
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index 8e78d3c..05d42a2 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -27,7 +27,6 @@
#include "../librpc/gen_ndr/ndr_security.h"
#include "passdb/lookup_sid.h"
#include "auth.h"
-#include "ntioctl.h"
#include "smbprofile.h"
#include "libsmb/libsmb.h"
diff --git a/source3/torture/test_nttrans_fsctl.c b/source3/torture/test_nttrans_fsctl.c
index e60964e..963b20e 100644
--- a/source3/torture/test_nttrans_fsctl.c
+++ b/source3/torture/test_nttrans_fsctl.c
@@ -22,7 +22,6 @@
#include "torture/proto.h"
#include "libsmb/libsmb.h"
#include "libcli/security/security.h"
-#include "ntioctl.h"
bool run_nttrans_fsctl(int dummy)
{
diff --git a/source4/lib/stream/packet.c b/source4/lib/stream/packet.c
index 545d518..3a7f600 100644
--- a/source4/lib/stream/packet.c
+++ b/source4/lib/stream/packet.c
@@ -583,7 +583,13 @@ _PUBLIC_ NTSTATUS packet_full_request_nbt(void *private_data, DATA_BLOB blob, si
if (blob.length < 4) {
return STATUS_MORE_ENTRIES;
}
- *size = 4 + smb_len(blob.data);
+ /*
+ * Note: that we use smb_len_tcp() instead
+ * of smb_len_nbt() as this function is not
+ * used for nbt and the source4 copy
+ * of smb_len() was smb_len_tcp()
+ */
+ *size = 4 + smb_len_tcp(blob.data);
if (*size > blob.length) {
return STATUS_MORE_ENTRIES;
}
diff --git a/source4/libcli/raw/clitransport.c b/source4/libcli/raw/clitransport.c
index 08e49fd..b8df09e 100644
--- a/source4/libcli/raw/clitransport.c
+++ b/source4/libcli/raw/clitransport.c
@@ -190,7 +190,7 @@ struct smbcli_request *smbcli_transport_connect_send(struct smbcli_transport *tr
memcpy(p, calling_blob.data, calling_blob.length);
p += calling_blob.length;
- _smb_setlen(req->out.buffer, PTR_DIFF(p, req->out.buffer) - NBT_HDR_SIZE);
+ _smb_setlen_nbt(req->out.buffer, PTR_DIFF(p, req->out.buffer) - NBT_HDR_SIZE);
SCVAL(req->out.buffer,0,0x81);
if (!smbcli_request_send(req)) {
diff --git a/source4/libcli/raw/interfaces.h b/source4/libcli/raw/interfaces.h
index 7f42926..7bb5255 100644
--- a/source4/libcli/raw/interfaces.h
+++ b/source4/libcli/raw/interfaces.h
@@ -2194,17 +2194,6 @@ enum smb_ioctl_level {
/* 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/libcli/raw/ioctl.h b/source4/libcli/raw/ioctl.h
deleted file mode 100644
index a9d3d1b..0000000
--- a/source4/libcli/raw/ioctl.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
- ioctl and fsctl definitions
-
- Copyright (C) Andrew Tridgell 2003
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-
-/* ioctl codes */
-#define IOCTL_QUERY_JOB_INFO 0x530060
-
-
-/* filesystem control codes */
-#define FSCTL_METHOD_BUFFERED 0x00000000
-#define FSCTL_METHOD_IN_DIRECT 0x00000001
-#define FSCTL_METHOD_OUT_DIRECT 0x00000002
-#define FSCTL_METHOD_NEITHER 0x00000003
-
-#define FSCTL_ACCESS_ANY 0x00000000
-#define FSCTL_ACCESS_READ 0x00004000
-#define FSCTL_ACCESS_WRITE 0x00008000
-
-#define FSCTL_FILESYSTEM 0x00090000
-#define FSCTL_REQUEST_OPLOCK_LEVEL_1 (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0000 | FSCTL_METHOD_BUFFERED)
-#define FSCTL_REQUEST_OPLOCK_LEVEL_2 (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0004 | FSCTL_METHOD_BUFFERED)
-#define FSCTL_REQUEST_BATCH_OPLOCK (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0008 | FSCTL_METHOD_BUFFERED)
-#define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x000C | FSCTL_METHOD_BUFFERED)
-#define FSCTL_OPBATCH_ACK_CLOSE_PENDING (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0010 | FSCTL_METHOD_BUFFERED)
-#define FSCTL_OPLOCK_BREAK_NOTIFY (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0014 | FSCTL_METHOD_BUFFERED)
-#define FSCTL_FILESYS_GET_STATISTICS (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0060 | FSCTL_METHOD_BUFFERED)
-#define FSCTL_GET_NTFS_VOLUME_DATA (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0064 | FSCTL_METHOD_BUFFERED)
-#define FSCTL_FIND_FILES_BY_SID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x008C | FSCTL_METHOD_NEITHER)
-#define FSCTL_SET_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0098 | FSCTL_METHOD_BUFFERED)
-#define FSCTL_GET_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x009C | FSCTL_METHOD_BUFFERED)
-#define FSCTL_DELETE_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00A0 | FSCTL_METHOD_BUFFERED)
-#define FSCTL_SET_REPARSE_POINT (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00A4 | FSCTL_METHOD_BUFFERED)
-#define FSCTL_GET_REPARSE_POINT (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00A8 | FSCTL_METHOD_BUFFERED)
-#define FSCTL_DELETE_REPARSE_POINT (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00AC | FSCTL_METHOD_BUFFERED)
-#define FSCTL_CREATE_OR_GET_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00C0 | FSCTL_METHOD_BUFFERED)
-#define FSCTL_SET_SPARSE (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00C4 | FSCTL_METHOD_BUFFERED)
-
-#define FSCTL_NAMED_PIPE 0x00110000
-#define FSCTL_NAMED_PIPE_READ_WRITE (FSCTL_NAMED_PIPE | FSCTL_ACCESS_ANY | 0xC014 | FSCTL_METHOD_NEITHER)
-
-#define FSCTL_NETWORK_FILESYSTEM 0x00140000
-#define FSCTL_GET_SHADOW_COPY_DATA (FSCTL_NETWORK_FILESYSTEM | FSCTL_ACCESS_READ | 0x0064 | FSCTL_METHOD_BUFFERED)
diff --git a/source4/libcli/raw/rawrequest.c b/source4/libcli/raw/rawrequest.c
index c9b78d7..3b0cf7c 100644
--- a/source4/libcli/raw/rawrequest.c
+++ b/source4/libcli/raw/rawrequest.c
@@ -336,7 +336,7 @@ NTSTATUS smbcli_chained_advance(struct smbcli_request *req)
bool smbcli_request_send(struct smbcli_request *req)
{
if (IVAL(req->out.buffer, 0) == 0) {
- _smb_setlen(req->out.buffer, req->out.size - NBT_HDR_SIZE);
+ _smb_setlen_nbt(req->out.buffer, req->out.size - NBT_HDR_SIZE);
}
smbcli_request_calculate_sign_mac(req);
diff --git a/source4/libcli/raw/rawshadow.c b/source4/libcli/raw/rawshadow.c
index b318c3e..7e48f26 100644
--- a/source4/libcli/raw/rawshadow.c
+++ b/source4/libcli/raw/rawshadow.c
@@ -22,7 +22,7 @@
#include "includes.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/raw/raw_proto.h"
-#include "libcli/raw/ioctl.h"
+#include "../libcli/smb/smb_constants.h"
/*
get shadow volume data
diff --git a/source4/libcli/raw/smb.h b/source4/libcli/raw/smb.h
index fdf3a15..ced7413 100644
--- a/source4/libcli/raw/smb.h
+++ b/source4/libcli/raw/smb.h
@@ -563,12 +563,6 @@
#define FS_ATTR_ENCRYPTION 0x00020000
#define FS_ATTR_NAMED_STREAMS 0x00040000
-#define smb_len(buf) (PVAL(buf,3)|(PVAL(buf,2)<<8)|(PVAL(buf,1)<<16))
-#define _smb_setlen(buf,len) do {(buf)[0] = 0; (buf)[1] = ((len)&0x10000)>>16; \
- (buf)[2] = ((len)&0xFF00)>>8; (buf)[3] = (len)&0xFF;} while (0)
-#define _smb2_setlen(buf,len) do {(buf)[0] = 0; (buf)[1] = ((len)&0xFF0000)>>16; \
- (buf)[2] = ((len)&0xFF00)>>8; (buf)[3] = (len)&0xFF;} while (0)
-
#include "source4/libcli/raw/trans2.h"
#include "libcli/raw/interfaces.h"
#include "libcli/smb/smb_common.h"
diff --git a/source4/libcli/smb2/transport.c b/source4/libcli/smb2/transport.c
index c17bbfd..da0fba8 100644
--- a/source4/libcli/smb2/transport.c
+++ b/source4/libcli/smb2/transport.c
@@ -382,7 +382,7 @@ static NTSTATUS smb2_transport_finish_recv(void *private_data, DATA_BLOB blob)
TALLOC_FREE(state);
goto error;
}
- _smb2_setlen(state->blob.data, state->blob.length - NBT_HDR_SIZE);
+ _smb_setlen_tcp(state->blob.data, state->blob.length - NBT_HDR_SIZE);
memcpy(state->blob.data + NBT_HDR_SIZE,
req->in.hdr + next_ofs,
req->in.allocated - req->in.size);
@@ -456,7 +456,7 @@ static NTSTATUS smb2_transport_raw_send(struct smb2_transport *transport,
return NT_STATUS_NET_WRITE_FAULT;
}
- _smb2_setlen(buffer->buffer, buffer->size - NBT_HDR_SIZE);
+ _smb_setlen_tcp(buffer->buffer, buffer->size - NBT_HDR_SIZE);
blob = data_blob_const(buffer->buffer, buffer->size);
status = packet_send(transport->packet, blob);
if (!NT_STATUS_IS_OK(status)) {
diff --git a/source4/librpc/rpc/dcerpc_smb2.c b/source4/librpc/rpc/dcerpc_smb2.c
index 59ee7a8..75fb423 100644
--- a/source4/librpc/rpc/dcerpc_smb2.c
+++ b/source4/librpc/rpc/dcerpc_smb2.c
@@ -24,7 +24,7 @@
#include "libcli/composite/composite.h"
#include "libcli/smb2/smb2.h"
#include "libcli/smb2/smb2_calls.h"
-#include "libcli/raw/ioctl.h"
+#include "../libcli/smb/smb_constants.h"
#include "librpc/rpc/dcerpc.h"
#include "librpc/rpc/dcerpc_proto.h"
#include "librpc/rpc/rpc_common.h"
diff --git a/source4/ntvfs/ipc/vfs_ipc.c b/source4/ntvfs/ipc/vfs_ipc.c
index fc9ff4f..8097a67 100644
--- a/source4/ntvfs/ipc/vfs_ipc.c
+++ b/source4/ntvfs/ipc/vfs_ipc.c
@@ -29,7 +29,7 @@
#include "ntvfs/ntvfs.h"
#include "../librpc/gen_ndr/rap.h"
#include "ntvfs/ipc/proto.h"
-#include "libcli/raw/ioctl.h"
+#include "../libcli/smb/smb_constants.h"
#include "param/param.h"
#include "../lib/tsocket/tsocket.h"
#include "../libcli/named_pipe_auth/npa_tstream.h"
diff --git a/source4/ntvfs/posix/pvfs_ioctl.c b/source4/ntvfs/posix/pvfs_ioctl.c
index f263e98..1d5e8fd 100644
--- a/source4/ntvfs/posix/pvfs_ioctl.c
+++ b/source4/ntvfs/posix/pvfs_ioctl.c
@@ -21,7 +21,7 @@
#include "includes.h"
#include "vfs_posix.h"
-#include "libcli/raw/ioctl.h"
+#include "../libcli/smb/smb_constants.h"
/*
old ioctl interface
diff --git a/source4/ntvfs/print/vfs_print.c b/source4/ntvfs/print/vfs_print.c
index 2480463..6019e44 100644
--- a/source4/ntvfs/print/vfs_print.c
+++ b/source4/ntvfs/print/vfs_print.c
@@ -22,7 +22,7 @@
*/
#include "includes.h"
-#include "libcli/raw/ioctl.h"
+#include "../libcli/smb/smb_constants.h"
#include "ntvfs/ntvfs.h"
#include "param/param.h"
diff --git a/source4/smb_server/smb/request.c b/source4/smb_server/smb/request.c
index d478963..41854a1 100644
--- a/source4/smb_server/smb/request.c
+++ b/source4/smb_server/smb/request.c
@@ -311,7 +311,7 @@ void smbsrv_send_reply_nosign(struct smbsrv_request *req)
}
if (req->out.size > NBT_HDR_SIZE) {
- _smb_setlen(req->out.buffer, req->out.size - NBT_HDR_SIZE);
+ _smb_setlen_nbt(req->out.buffer, req->out.size - NBT_HDR_SIZE);
}
blob = data_blob_const(req->out.buffer, req->out.size);
diff --git a/source4/smb_server/smb2/receive.c b/source4/smb_server/smb2/receive.c
index 40a57b8..b51e2b0 100644
--- a/source4/smb_server/smb2/receive.c
+++ b/source4/smb_server/smb2/receive.c
@@ -251,7 +251,7 @@ void smb2srv_send_reply(struct smb2srv_request *req)
}
if (req->out.size > NBT_HDR_SIZE) {
- _smb2_setlen(req->out.buffer, req->out.size - NBT_HDR_SIZE);
+ _smb_setlen_tcp(req->out.buffer, req->out.size - NBT_HDR_SIZE);
}
/* if signing is active on the session then sign the packet */
diff --git a/source4/torture/basic/misc.c b/source4/torture/basic/misc.c
index 0fa9a9e..0515988 100644
--- a/source4/torture/basic/misc.c
+++ b/source4/torture/basic/misc.c
@@ -24,7 +24,7 @@
#include "system/time.h"
#include "system/wait.h"
#include "system/filesys.h"
-#include "libcli/raw/ioctl.h"
+#include "../libcli/smb/smb_constants.h"
#include "libcli/libcli.h"
#include "lib/events/events.h"
#include "libcli/resolve/resolve.h"
diff --git a/source4/torture/raw/ioctl.c b/source4/torture/raw/ioctl.c
index 80a3db6..a062d0b 100644
--- a/source4/torture/raw/ioctl.c
+++ b/source4/torture/raw/ioctl.c
@@ -19,7 +19,7 @@
*/
#include "includes.h"
-#include "libcli/raw/ioctl.h"
+#include "../libcli/smb/smb_constants.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/raw/raw_proto.h"
#include "libcli/libcli.h"
diff --git a/source4/torture/smb2/ioctl.c b/source4/torture/smb2/ioctl.c
index f96893a..169a001 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 = SMB2_FSCTL_SRV_ENUM_SNAPS;
+ ioctl.smb2.in.function = FSCTL_SRV_ENUM_SNAPS;
ioctl.smb2.in.max_response_size = 16;
ioctl.smb2.in.flags = SMB2_IOCTL_FLAG_IS_FSCTL;
status = smb2_ioctl(tree, tmp_ctx, &ioctl.smb2);
if (!NT_STATUS_IS_OK(status)) {
- printf("SMB2_FSCTL_SRV_ENUM_SNAPS failed\n");
+ printf("FSCTL_SRV_ENUM_SNAPS failed\n");
return false;
--
Samba Shared Repository
More information about the samba-cvs
mailing list