aboutsummaryrefslogtreecommitdiffstats
path: root/packet-dcerpc-wkssvc.c
diff options
context:
space:
mode:
authorRichard Sharpe <sharpe@ns.aus.com>2003-04-27 06:23:16 +0000
committerRichard Sharpe <sharpe@ns.aus.com>2003-04-27 06:23:16 +0000
commit1834fb882ad0ede77949e5a7454430224219af95 (patch)
treea16ad347e52722bb69ca013ef2a59dbe243091b1 /packet-dcerpc-wkssvc.c
parentdd570bd1fdcd50f02e8ee6dfe53038306981abfa (diff)
downloadwireshark-1834fb882ad0ede77949e5a7454430224219af95.tar.gz
wireshark-1834fb882ad0ede77949e5a7454430224219af95.tar.bz2
wireshark-1834fb882ad0ede77949e5a7454430224219af95.zip
Add support for level 102 info ...
svn path=/trunk/; revision=7581
Diffstat (limited to 'packet-dcerpc-wkssvc.c')
-rw-r--r--packet-dcerpc-wkssvc.c52
1 files changed, 51 insertions, 1 deletions
diff --git a/packet-dcerpc-wkssvc.c b/packet-dcerpc-wkssvc.c
index bfd19b9de4..4bd1481091 100644
--- a/packet-dcerpc-wkssvc.c
+++ b/packet-dcerpc-wkssvc.c
@@ -3,7 +3,7 @@
* Copyright 2001, Tim Potter <tpot@samba.org>
* Copyright 2003, Richard Sharpe <rsharpe@richardsharpe.com>
*
- * $Id: packet-dcerpc-wkssvc.c,v 1.9 2003/04/27 06:16:57 sharpe Exp $
+ * $Id: packet-dcerpc-wkssvc.c,v 1.10 2003/04/27 06:23:16 sharpe Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -44,6 +44,7 @@ static int hf_wkssvc_ver_major = -1;
static int hf_wkssvc_ver_minor = -1;
static int hf_wkssvc_lan_root = -1;
static int hf_wkssvc_rc = -1;
+static int hf_wkssvc_logged_on_users = -1;
static gint ett_dcerpc_wkssvc = -1;
extern const value_string platform_id_vals[];
@@ -124,6 +125,46 @@ wkssvc_dissect_WKS_INFO_101(tvbuff_t *tvb, int offset,
}
/*
+ * IDL typedef struct {
+ * IDL long platform_id;
+ * IDL [string] [unique] wchar_t *server;
+ * IDL [string] [unique] wchar_t *lan_grp;
+ * IDL long ver_major;
+ * IDL long ver_minor;
+ * IDL [string] [unique] wchar_t *lan_root;
+ * IDL long logged_on_users;
+ * IDL } WKS_INFO_102;
+ */
+static int
+wkssvc_dissect_WKS_INFO_102(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_wkssvc_platform_id, NULL);
+
+ offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
+ NDR_POINTER_UNIQUE, "Server", hf_wkssvc_server, 0);
+
+ offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
+ NDR_POINTER_UNIQUE, "Net Group", hf_wkssvc_net_group, 0);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_wkssvc_ver_major, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_wkssvc_ver_minor, NULL);
+
+ offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
+ NDR_POINTER_UNIQUE, "Lan Root", hf_wkssvc_lan_root, 0);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_wkssvc_logged_on_users, NULL);
+
+ return offset;
+}
+
+/*
* IDL long NetWkstaGetInfo(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] long level,
@@ -177,6 +218,12 @@ wkssvc_dissect_WKS_INFO_UNION(tvbuff_t *tvb, int offset,
NDR_POINTER_UNIQUE, "WKS_INFO_101:", -1);
break;
+ case 102:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ wkssvc_dissect_WKS_INFO_102,
+ NDR_POINTER_UNIQUE, "WKS_INFO_101:", -1);
+ break;
+
}
return offset;
@@ -230,6 +277,9 @@ proto_register_dcerpc_wkssvc(void)
{ &hf_wkssvc_lan_root,
{ "Lan Root", "wkssvc.lan.root", FT_STRING, BASE_NONE,
NULL, 0x0, "Lan Root", HFILL}},
+ { &hf_wkssvc_logged_on_users,
+ { "Logged On Users", "wkssvc.logged.on.users", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Logged On Users", HFILL}},
{ &hf_wkssvc_rc,
{ "Return code", "srvsvc.rc", FT_UINT32,
BASE_HEX, VALS(DOS_errors), 0x0, "Return Code", HFILL}},