aboutsummaryrefslogtreecommitdiffstats
path: root/packet-smb-browse.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2001-07-13 00:01:35 +0000
committerGuy Harris <guy@alum.mit.edu>2001-07-13 00:01:35 +0000
commit01710d371c7c599952ea49eae49451e68b837e32 (patch)
tree5b7b6af39fdc6d946c61515c5d8dc84bcaf1111d /packet-smb-browse.c
parent6a1bd875662282930a1b983ff621c7f1fb89c658 (diff)
The 2 bytes in the middle of the election criteria field of an election
request are the major and minor versions of the browser protocol. The 4 bytes that, in announcements other than domain/workgroup announcements, are the major and minor versions of the browser protocol and the signature constant, are something else mysterious in domain/workgroup announcements; stuff them in as a "Mysterious Field" for now. svn path=/trunk/; revision=3707
Diffstat (limited to 'packet-smb-browse.c')
-rw-r--r--packet-smb-browse.c51
1 files changed, 35 insertions, 16 deletions
diff --git a/packet-smb-browse.c b/packet-smb-browse.c
index bc6375419f..bb90d3cd57 100644
--- a/packet-smb-browse.c
+++ b/packet-smb-browse.c
@@ -2,7 +2,7 @@
* Routines for SMB Browser packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: packet-smb-browse.c,v 1.9 2001/07/12 23:37:48 guy Exp $
+ * $Id: packet-smb-browse.c,v 1.10 2001/07/13 00:01:35 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -432,9 +432,13 @@ dissect_election_criterion(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent
dissect_election_criterion_desire(tvb, pinfo, tree, offset);
offset += 1;
- /* election revision */
- proto_tree_add_item(tree, hf_election_revision, tvb, offset, 2, TRUE);
- offset += 2;
+ /* browser protocol major version */
+ proto_tree_add_item(tree, hf_proto_major, tvb, offset, 1, TRUE);
+ offset += 1;
+
+ /* browser protocol minor version */
+ proto_tree_add_item(tree, hf_proto_minor, tvb, offset, 1, TRUE);
+ offset += 1;
/* election os */
dissect_election_criterion_os(tvb, pinfo, tree, offset);
@@ -605,17 +609,32 @@ dissect_mailslot_browse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tr
dissect_server_type_flags(tvb, pinfo, tree, offset);
offset += 4;
- /* browser protocol major version */
- proto_tree_add_item(tree, hf_proto_major, tvb, offset, 1, TRUE);
- offset += 1;
-
- /* browser protocol minor version */
- proto_tree_add_item(tree, hf_proto_minor, tvb, offset, 1, TRUE);
- offset += 1;
-
- /* signature constant */
- proto_tree_add_item(tree, hf_sig_const, tvb, offset, 2, TRUE);
- offset += 2;
+ if (cmd == BROWSE_DOMAIN_ANNOUNCEMENT) {
+ /*
+ * Network Monitor claims this is a "Comment
+ * Pointer". I don't believe it.
+ *
+ * It's not a browser protocol major/minor
+ * version number, and signature constant,
+ * however.
+ */
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Mysterious Field: 0x%08x",
+ tvb_get_letohl(tvb, offset));
+ offset += 4;
+ } else {
+ /* browser protocol major version */
+ proto_tree_add_item(tree, hf_proto_major, tvb, offset, 1, TRUE);
+ offset += 1;
+
+ /* browser protocol minor version */
+ proto_tree_add_item(tree, hf_proto_minor, tvb, offset, 1, TRUE);
+ offset += 1;
+
+ /* signature constant */
+ proto_tree_add_item(tree, hf_sig_const, tvb, offset, 2, TRUE);
+ offset += 2;
+ }
/* name at end of request */
namelen = tvb_strnlen(tvb, offset, -1);
@@ -886,7 +905,7 @@ register_proto_smb_browse( void){
TFS(&tfs_domainenum), 1<<SERVER_DOMAIN_ENUM, "Is This A Domain Enum request?", HFILL }},
{ &hf_election_version,
- { "Election Version", "browser.election.version", FT_UINT16, BASE_DEC,
+ { "Election Version", "browser.election.version", FT_UINT8, BASE_DEC,
NULL, 0, "Election Version", HFILL }},
{ &hf_proto_major,