aboutsummaryrefslogtreecommitdiffstats
path: root/packet-smb-browse.c
diff options
context:
space:
mode:
authorGilbert Ramirez <gram@alumni.rice.edu>2000-05-11 08:18:09 +0000
committerGilbert Ramirez <gram@alumni.rice.edu>2000-05-11 08:18:09 +0000
commit292e38e2c61edcd14bfa30ca3c72bacda1bcbe32 (patch)
treedb4edef02456a48d0f6d505166ac7d70f6c0f644 /packet-smb-browse.c
parent162800efb308901e0c302517be01226130e39b19 (diff)
Add tvbuff class.
Add exceptions routines. Convert proto_tree_add_*() routines to require tvbuff_t* argument. Convert all dissectors to pass NULL argument ("NullTVB" macro == NULL) as the tvbuff_t* argument to proto_tree_add_*() routines. dissect_packet() creates a tvbuff_t, wraps the next dissect call in a TRY block, will print "Short Frame" on the proto_tree if a BoundsError exception is caught. The FDDI dissector is converted to use tvbuff's. svn path=/trunk/; revision=1939
Diffstat (limited to 'packet-smb-browse.c')
-rw-r--r--packet-smb-browse.c136
1 files changed, 68 insertions, 68 deletions
diff --git a/packet-smb-browse.c b/packet-smb-browse.c
index 611cb4c11a..a217b7597e 100644
--- a/packet-smb-browse.c
+++ b/packet-smb-browse.c
@@ -2,7 +2,7 @@
* Routines for smb packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: packet-smb-browse.c,v 1.2 2000/04/08 01:28:13 sharpe Exp $
+ * $Id: packet-smb-browse.c,v 1.3 2000/05/11 08:15:44 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -167,10 +167,10 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) { /* Add the browse tree */
- ti = proto_tree_add_item(parent, proto_smb_browse, DataOffset, DataCount, NULL);
+ ti = proto_tree_add_item(parent, proto_smb_browse, NullTVB, DataOffset, DataCount, NULL);
browse_tree = proto_item_add_subtree(ti, ett_browse);
- proto_tree_add_text(browse_tree, loc_offset, 1, "OpCode: %s", (OpCode > (sizeof(browse_commands)/sizeof(char *))) ? "Error, No Such Command" : browse_commands[OpCode]);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "OpCode: %s", (OpCode > (sizeof(browse_commands)/sizeof(char *))) ? "Error, No Such Command" : browse_commands[OpCode]);
}
@@ -186,7 +186,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Update Count: %u", UpdateCount);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Update Count: %u", UpdateCount);
}
@@ -196,7 +196,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 4, "Update Periodicity: %u Sec", Periodicity/1000 );
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 4, "Update Periodicity: %u Sec", Periodicity/1000 );
}
@@ -212,7 +212,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 16, (OpCode == DOMAINANNOUNCEMENT) ? "Domain/WorkGroup: %s": "Host Name: %s", ServerName);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 16, (OpCode == DOMAINANNOUNCEMENT) ? "Domain/WorkGroup: %s": "Host Name: %s", ServerName);
}
@@ -222,7 +222,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Major Version: %u", VersionMajor);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Major Version: %u", VersionMajor);
}
@@ -232,7 +232,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Minor Version: %u", VersionMinor);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Minor Version: %u", VersionMinor);
}
@@ -255,55 +255,55 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- ti = proto_tree_add_text(browse_tree, loc_offset, 4, "Server Type: 0x%04x", ServerType);
+ ti = proto_tree_add_text(browse_tree, NullTVB, loc_offset, 4, "Server Type: 0x%04x", ServerType);
flags_tree = proto_item_add_subtree(ti, ett_browse_flags);
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0001, 32, "Workstation", "Not Workstation"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0002, 32, "Server", "Not Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0004, 32, "SQL Server", "Not SQL Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0008, 32, "Domain Controller", "Not Domain Controller"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0010, 32, "Backup Controller", "Not Backup Controller"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0020, 32, "Time Source", "Not Time Source"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0040, 32, "Apple Server", "Not Apple Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0080, 32, "Novell Server", "Not Novell Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0100, 32, "Domain Member Server", "Not Domain Member Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0200, 32, "Print Queue Server", "Not Print Queue Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0400, 32, "Dialin Server", "Not Dialin Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0800, 32, "Xenix Server", "Not Xenix Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x1000, 32, "NT Workstation", "Not NT Workstation"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x2000, 32, "Windows for Workgroups", "Not Windows for Workgroups"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x8000, 32, "NT Server", "Not NT Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x10000, 32, "Potential Browser", "Not Potential Browser"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x20000, 32, "Backup Browser", "Not Backup Browser"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x40000, 32, "Master Browser", "Not Master Browser"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x80000, 32, "Domain Master Browser", "Not Domain Master Browser"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x100000, 32, "OSF", "Not OSF"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x200000, 32, "VMS", "Not VMS"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x400000, 32, "Windows 95 or above", "Not Windows 95 or above"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x40000000, 32, "Local List Only", "Not Local List Only"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x80000000, 32, "Domain Enum", "Not Domain Enum"));
}
loc_offset += 4;
@@ -312,7 +312,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 2, "Election Version: %u", ElectionVersion);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 2, "Election Version: %u", ElectionVersion);
}
@@ -322,7 +322,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 2, "Signature: %u (0x%04X)", SigConstant, SigConstant);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 2, "Signature: %u (0x%04X)", SigConstant, SigConstant);
}
@@ -332,7 +332,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, strlen(ServerComment) + 1, "Host Comment: %s", ServerComment);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, strlen(ServerComment) + 1, "Host Comment: %s", ServerComment);
}
@@ -344,7 +344,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Unused Flags: %u", Flags);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Unused Flags: %u", Flags);
}
@@ -354,7 +354,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, strlen(ServerName) + 1, "Send List To: %s", ServerName);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, strlen(ServerName) + 1, "Send List To: %s", ServerName);
}
@@ -366,7 +366,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Election Version = %u", ElectionVersion);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Election Version = %u", ElectionVersion);
}
@@ -379,66 +379,66 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- ti = proto_tree_add_text(browse_tree, loc_offset, 4, "Election Criteria = %u (0x%08X)", ElectionCriteria, ElectionCriteria);
+ ti = proto_tree_add_text(browse_tree, NullTVB, loc_offset, 4, "Election Criteria = %u (0x%08X)", ElectionCriteria, ElectionCriteria);
ec = proto_item_add_subtree(ti, ett_browse_election_criteria);
- ti = proto_tree_add_text(ec, loc_offset + 3, 1, "Election OS Summary: %u (0x%02X)", ElectionOS, ElectionOS);
+ ti = proto_tree_add_text(ec, NullTVB, loc_offset + 3, 1, "Election OS Summary: %u (0x%02X)", ElectionOS, ElectionOS);
OSflags = proto_item_add_subtree(ti, ett_browse_election_os);
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x01, 8, "Windows for Workgroups", "Not Windows for Workgroups"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x02, 8, "Unknown", "Not used"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x04, 8, "Unknown", "Not used"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x08, 8, "Unknown", "Not used"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x10, 8, "Windows NT Workstation", "Not Windows NT Workstation"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x20, 8, "Windows NT Server", "Not Windows NT Server"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x40, 8, "Unknown", "Not used"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x80, 8, "Unknown", "Not used"));
- proto_tree_add_text(ec, loc_offset + 1, 2, "Election Revision: %u (0x%04X)", ElectionRevision, ElectionRevision);
+ proto_tree_add_text(ec, NullTVB, loc_offset + 1, 2, "Election Revision: %u (0x%04X)", ElectionRevision, ElectionRevision);
- ti = proto_tree_add_text(ec, loc_offset, 1, "Election Desire Summary: %u (0x%02X)", ElectionDesire, ElectionDesire);
+ ti = proto_tree_add_text(ec, NullTVB, loc_offset, 1, "Election Desire Summary: %u (0x%02X)", ElectionDesire, ElectionDesire);
DesireFlags = proto_item_add_subtree(ti, ett_browse_election_desire);
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x01, 8, "Backup Browse Server", "Not Backup Browse Server"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x02, 8, "Standby Browse Server", "Not Standby Browse Server"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x04, 8, "Master Browser", "Not Master Browser"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x08, 8, "Domain Master Browse Server", "Not Domain Master Browse Server"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x10, 8, "Unknown", "Not used"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x20, 8, "WINS Client", "Not WINS Client"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x40, 8, "Unknown", "Not used"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x80, 8, "Windows NT Advanced Server", "Not Windows NT Advanced Server"));
}
@@ -449,7 +449,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 4, "Server Up Time: %u Sec (%ums)", ServerUpTime/1000, ServerUpTime);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 4, "Server Up Time: %u Sec (%ums)", ServerUpTime/1000, ServerUpTime);
}
@@ -463,7 +463,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, strlen(ServerName) + 1, "Election Server Name: %s", ServerName);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, strlen(ServerName) + 1, "Election Server Name: %s", ServerName);
}
@@ -475,7 +475,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Backup List Requested Count: %u", BackupServerCount);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Backup List Requested Count: %u", BackupServerCount);
}
@@ -485,7 +485,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 4, "Backup Request Token: %u", Token);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 4, "Backup Request Token: %u", Token);
}
@@ -497,7 +497,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Backup Server Count: %u", BackupServerCount);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Backup Server Count: %u", BackupServerCount);
}
@@ -507,7 +507,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 4, "Backup Response Token: %u", Token);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 4, "Backup Response Token: %u", Token);
}
@@ -519,7 +519,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, strlen(ServerName) + 1, "Backup Server: %s", ServerName);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, strlen(ServerName) + 1, "Backup Server: %s", ServerName);
}
@@ -537,7 +537,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, strlen(ServerName) + 1, "Browser to Promote: %s", ServerName);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, strlen(ServerName) + 1, "Browser to Promote: %s", ServerName);
}
@@ -549,7 +549,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, strlen(ServerName) + 1, "Server Name: %s", ServerName);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, strlen(ServerName) + 1, "Server Name: %s", ServerName);
}