import DFS.idl from samba and use it to generate a much more complete DFS dissector
svn path=/trunk/; revision=19257
This commit is contained in:
parent
ea0b3b5d10
commit
6cd45b33ae
File diff suppressed because it is too large
Load Diff
|
@ -1,55 +1,40 @@
|
|||
/* packet-dcerpc-dfs.h
|
||||
* Routines for SMB \PIPE\netdfs packet disassembly
|
||||
* Copyright 2001, Tim Potter <tpot@samba.org>
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* Wireshark - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@wireshark.org>
|
||||
* Copyright 1998 Gerald Combs
|
||||
*
|
||||
* 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 2
|
||||
* 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, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/* autogenerated by pidl */
|
||||
|
||||
#ifndef __PACKET_DCERPC_DFS_H
|
||||
#define __PACKET_DCERPC_DFS_H
|
||||
/* DO NOT EDIT
|
||||
This filter was automatically generated
|
||||
from dfs.idl and dfs.cnf.
|
||||
|
||||
Pidl is a perl based IDL compiler for DCE/RPC idl files.
|
||||
It is maintained by the Samba team, not the Wireshark team.
|
||||
Instructions on how to download and install Pidl can be
|
||||
found at http://wiki.wireshark.org/Pidl
|
||||
*/
|
||||
|
||||
/* Functions available on the NETDFS pipe. From Samba, include/rpc_dfs.h */
|
||||
|
||||
#define DFS_MANAGER_GET_VERSION 0x00
|
||||
#define DFS_ADD 0x01
|
||||
#define DFS_REMOVE 0x02
|
||||
#define DFS_SET_INFO 0x03
|
||||
#define DFS_GET_INFO 0x04
|
||||
#define DFS_ENUM 0x05
|
||||
#define DFS_RENAME 0x06
|
||||
#define DFS_MOVE 0x07
|
||||
#define DFS_MANAGER_GET_CONFIG_INFO 0x08
|
||||
#define DFS_MANAGER_SEND_SITE_INFO 0x09
|
||||
#define DFS_ADD_FT_ROOT 0x0a
|
||||
#define DFS_REMOVE_FT_ROOT 0x0b
|
||||
#define DFS_ADD_STD_ROOT 0x0c
|
||||
#define DFS_REMOVE_STD_ROOT 0x0d
|
||||
#define DFS_MANAGER_INITIALIZE 0x0e
|
||||
#define DFS_ADD_STD_ROOT_FORCED 0x0f
|
||||
#define DFS_GET_DC_ADDRESS 0x10
|
||||
#define DFS_SET_DC_ADDRESS 0x11
|
||||
#define DFS_FLUSH_FT_TABLE 0x12
|
||||
#define DFS_ADD2 0x13
|
||||
#define DFS_REMOVE2 0x14
|
||||
#define DFS_ENUM_EX 0x15
|
||||
#define DFS_SET_INFO_2 0x16
|
||||
#ifndef __PACKET_DCERPC_NETDFS_H
|
||||
#define __PACKET_DCERPC_NETDFS_H
|
||||
|
||||
#endif /* packet-dcerpc-dfs.h */
|
||||
#define DFS_MANAGER_VERSION_NT4 (0)
|
||||
#define DFS_MANAGER_VERSION_W2K (2)
|
||||
#define DFS_MANAGER_VERSION_W2K3 (4)
|
||||
extern const value_string netdfs_dfs_ManagerVersion_vals[];
|
||||
int netdfs_dissect_enum_dfs_ManagerVersion(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
|
||||
int netdfs_dissect_struct_dfs_Info0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_Info1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_Info2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_StorageInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_Info3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_Info4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_Info100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_Info101(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_Info102(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_Info200(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_Info300(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_EnumArray1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_EnumArray2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_EnumArray3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_EnumArray4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_EnumArray200(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_EnumArray300(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
int netdfs_dissect_struct_dfs_EnumStruct(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_);
|
||||
#endif /* __PACKET_DCERPC_NETDFS_H */
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
# Conformance file for DFS
|
||||
|
||||
|
|
@ -0,0 +1,238 @@
|
|||
/*
|
||||
dfs interface definition
|
||||
*/
|
||||
|
||||
[ uuid("4fc742e0-4a10-11cf-8273-00aa004ae673"),
|
||||
version(3.0),
|
||||
pointer_default(unique),
|
||||
helpstring("Settings for Microsoft Distributed File System")
|
||||
] interface netdfs
|
||||
{
|
||||
/******************/
|
||||
/* Function: 0x00 */
|
||||
typedef [v1_enum] enum {
|
||||
DFS_MANAGER_VERSION_NT4 = 0,
|
||||
DFS_MANAGER_VERSION_W2K = 2,
|
||||
DFS_MANAGER_VERSION_W2K3 = 4
|
||||
} dfs_ManagerVersion;
|
||||
|
||||
void dfs_GetManagerVersion(
|
||||
[out] dfs_ManagerVersion *version
|
||||
);
|
||||
|
||||
|
||||
/******************/
|
||||
/* Function: 0x01 */
|
||||
WERROR dfs_Add (
|
||||
[in] [string,charset(UTF16)] uint16 *path,
|
||||
[in] [string,charset(UTF16)] uint16 *server,
|
||||
[in,unique] [string,charset(UTF16)] uint16 *share,
|
||||
[in,unique] [string,charset(UTF16)] uint16 *comment,
|
||||
[in] uint32 flags
|
||||
);
|
||||
|
||||
/******************/
|
||||
/* Function: 0x02 */
|
||||
WERROR dfs_Remove (
|
||||
[in] [string,charset(UTF16)] uint16 *path,
|
||||
[in,unique] [string,charset(UTF16)] uint16 *server,
|
||||
[in,unique] [string,charset(UTF16)] uint16 *share
|
||||
);
|
||||
|
||||
/******************/
|
||||
/* Function: 0x03 */
|
||||
WERROR dfs_SetInfo ();
|
||||
|
||||
/******************/
|
||||
/* Function: 0x04 */
|
||||
|
||||
typedef struct {
|
||||
} dfs_Info0;
|
||||
|
||||
typedef struct {
|
||||
[string,charset(UTF16)] uint16 *path;
|
||||
} dfs_Info1;
|
||||
|
||||
typedef struct {
|
||||
[string,charset(UTF16)] uint16 *path;
|
||||
[string,charset(UTF16)] uint16 *comment;
|
||||
uint32 state;
|
||||
uint32 num_stores;
|
||||
} dfs_Info2;
|
||||
|
||||
typedef struct {
|
||||
uint32 state;
|
||||
[string,charset(UTF16)] uint16 *server;
|
||||
[string,charset(UTF16)] uint16 *share;
|
||||
} dfs_StorageInfo;
|
||||
|
||||
typedef struct {
|
||||
[string,charset(UTF16)] uint16 *path;
|
||||
[string,charset(UTF16)] uint16 *comment;
|
||||
uint32 state;
|
||||
uint32 num_stores;
|
||||
[size_is(num_stores)] dfs_StorageInfo *stores;
|
||||
} dfs_Info3;
|
||||
|
||||
typedef struct {
|
||||
[string,charset(UTF16)] uint16 *path;
|
||||
[string,charset(UTF16)] uint16 *comment;
|
||||
uint32 state;
|
||||
uint32 timeout;
|
||||
GUID guid;
|
||||
uint32 num_stores;
|
||||
[size_is(num_stores)] dfs_StorageInfo *stores;
|
||||
} dfs_Info4;
|
||||
|
||||
typedef struct {
|
||||
[string,charset(UTF16)] uint16 *comment;
|
||||
} dfs_Info100;
|
||||
|
||||
typedef struct {
|
||||
uint32 state;
|
||||
} dfs_Info101;
|
||||
|
||||
typedef struct {
|
||||
uint32 timeout;
|
||||
} dfs_Info102;
|
||||
|
||||
typedef struct {
|
||||
[string,charset(UTF16)] uint16 *dom_root;
|
||||
} dfs_Info200;
|
||||
|
||||
typedef struct {
|
||||
uint32 flags;
|
||||
[string,charset(UTF16)] uint16 *dom_root;
|
||||
} dfs_Info300;
|
||||
|
||||
typedef union {
|
||||
[case(0)] dfs_Info0 *info0;
|
||||
[case(1)] dfs_Info1 *info1;
|
||||
[case(2)] dfs_Info2 *info2;
|
||||
[case(3)] dfs_Info3 *info3;
|
||||
[case(4)] dfs_Info4 *info4;
|
||||
[case(100)] dfs_Info100 *info100;
|
||||
[case(101)] dfs_Info101 *info101;
|
||||
[case(102)] dfs_Info102 *info102;
|
||||
} dfs_Info;
|
||||
|
||||
WERROR dfs_GetInfo (
|
||||
[in] [string,charset(UTF16)] uint16 path[],
|
||||
[in,unique] [string,charset(UTF16)] uint16 *server,
|
||||
[in,unique] [string,charset(UTF16)] uint16 *share,
|
||||
[in] uint32 level,
|
||||
[out,switch_is(level)] dfs_Info *info
|
||||
);
|
||||
|
||||
/******************/
|
||||
/* Function: 0x05 */
|
||||
|
||||
typedef struct {
|
||||
uint32 count;
|
||||
[size_is(count)] dfs_Info1 *s;
|
||||
} dfs_EnumArray1;
|
||||
|
||||
typedef struct {
|
||||
uint32 count;
|
||||
[size_is(count)] dfs_Info2 *s;
|
||||
} dfs_EnumArray2;
|
||||
|
||||
typedef struct {
|
||||
uint32 count;
|
||||
[size_is(count)] dfs_Info3 *s;
|
||||
} dfs_EnumArray3;
|
||||
|
||||
typedef struct {
|
||||
uint32 count;
|
||||
[size_is(count)] dfs_Info4 *s;
|
||||
} dfs_EnumArray4;
|
||||
|
||||
typedef struct {
|
||||
uint32 count;
|
||||
[size_is(count)] dfs_Info200 *s;
|
||||
} dfs_EnumArray200;
|
||||
|
||||
typedef struct {
|
||||
uint32 count;
|
||||
[size_is(count)] dfs_Info300 *s;
|
||||
} dfs_EnumArray300;
|
||||
|
||||
|
||||
typedef union {
|
||||
[case(1)] dfs_EnumArray1 *info1;
|
||||
[case(2)] dfs_EnumArray2 *info2;
|
||||
[case(3)] dfs_EnumArray3 *info3;
|
||||
[case(4)] dfs_EnumArray4 *info4;
|
||||
[case(200)] dfs_EnumArray200 *info200;
|
||||
[case(300)] dfs_EnumArray300 *info300;
|
||||
} dfs_EnumInfo;
|
||||
|
||||
typedef struct {
|
||||
uint32 level;
|
||||
[switch_is(level)] dfs_EnumInfo e;
|
||||
} dfs_EnumStruct;
|
||||
|
||||
WERROR dfs_Enum (
|
||||
[in] uint32 level,
|
||||
[in] uint32 bufsize,
|
||||
[in,out,unique] dfs_EnumStruct *info,
|
||||
[in,out,unique] uint32 *total
|
||||
);
|
||||
|
||||
/* Function 0x06 */
|
||||
WERROR dfs_Rename();
|
||||
|
||||
/* Function 0x07 */
|
||||
WERROR dfs_Move();
|
||||
|
||||
/* Function 0x08 */
|
||||
WERROR dfs_ManagerGetConfigInfo();
|
||||
|
||||
/* Function 0x09 */
|
||||
WERROR dfs_ManagerSendSiteInfo();
|
||||
|
||||
/* Function 0x0a */
|
||||
WERROR dfs_AddFtRoot();
|
||||
|
||||
/* Function 0x0b */
|
||||
WERROR dfs_RemoveFtRoot();
|
||||
|
||||
/* Function 0x0c */
|
||||
WERROR dfs_AddStdRoot();
|
||||
|
||||
/* Function 0x0d */
|
||||
WERROR dfs_RemoveStdRoot();
|
||||
|
||||
/* Function 0x0e */
|
||||
WERROR dfs_ManagerInitialize();
|
||||
|
||||
/* Function 0x0f */
|
||||
WERROR dfs_AddStdRootForced();
|
||||
|
||||
/* Function 0x10 */
|
||||
WERROR dfs_GetDcAddress();
|
||||
|
||||
/* Function 0x11 */
|
||||
WERROR dfs_SetDcAddress();
|
||||
|
||||
/* Function 0x12 */
|
||||
WERROR dfs_FlushFtTable();
|
||||
|
||||
/* Function 0x13 */
|
||||
WERROR dfs_Add2();
|
||||
|
||||
/* Function 0x14 */
|
||||
WERROR dfs_Remove2();
|
||||
|
||||
/* Function 0x15 */
|
||||
WERROR dfs_EnumEx(
|
||||
[in] [string,charset(UTF16)] uint16 name[],
|
||||
[in] uint32 level,
|
||||
[in] uint32 bufsize,
|
||||
[in,out,unique] dfs_EnumStruct *info,
|
||||
[in,out,unique] uint32 *total
|
||||
);
|
||||
|
||||
/* Function 0x16 */
|
||||
WERROR dfs_SetInfo2();
|
||||
}
|
Loading…
Reference in New Issue