aboutsummaryrefslogtreecommitdiffstats
path: root/packet-tds.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2003-08-23 05:59:54 +0000
committerGuy Harris <guy@alum.mit.edu>2003-08-23 05:59:54 +0000
commit22b60d9812bc2151a3969753c3aa3b44f830d10a (patch)
treedc56416713d57070f356b37347080a4dc5db6bf6 /packet-tds.c
parentc84fbf8359666156e2521840bcf651a045ed2211 (diff)
The FreeTDS TDS document says that the first string in an RPC packet is
a procedure name. svn path=/trunk/; revision=8214
Diffstat (limited to 'packet-tds.c')
-rw-r--r--packet-tds.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/packet-tds.c b/packet-tds.c
index 376436f51d..5efe54dcbe 100644
--- a/packet-tds.c
+++ b/packet-tds.c
@@ -3,7 +3,7 @@
* Copyright 2000-2002, Brian Bruns <camber@ais.org>
* Copyright 2002, Steve Langasek <vorlon@netexpress.net>
*
- * $Id: packet-tds.c,v 1.14 2003/08/23 05:19:01 guy Exp $
+ * $Id: packet-tds.c,v 1.15 2003/08/23 05:59:54 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -132,6 +132,11 @@
* TDS_ROW_TOKEN), getting rid of the stuff to handle data split across
* TCP segment boundaries in favor of simple reassembly code, and
* fixing some otherwise nasty-looking crashing bugs.
+ *
+ * NOTE: we assume that all the data in a NETLIB packet *can* be put into
+ * a single TDS PTU, so that we have separate reassembly of NETLIB
+ * packets and TDS PDUs; it seems to work, and it really did clean stuff
+ * up and fix crashes.
*/
#ifdef HAVE_CONFIG_H
@@ -758,19 +763,20 @@ dissect_tds_rpc(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
const char *val;
/*
- * This appears to start with a little-endian string length,
- * followed by a little-endian Unicode string (or perhaps
- * it's Unicode-or-ASCII).
+ * RPC name.
+ * XXX - how can we determine whether this is ASCII or Unicode?
*/
len = tvb_get_letohs(tvb, offset);
- proto_tree_add_text(tree, tvb, offset, 2, "String Length: %u", len);
+ proto_tree_add_text(tree, tvb, offset, 2, "RPC Name Length: %u", len);
offset += 2;
if (len != 0) {
val = tvb_fake_unicode(tvb, offset, len, TRUE);
len *= 2;
- proto_tree_add_text(tree, tvb, offset, len, "String: %s", val);
+ proto_tree_add_text(tree, tvb, offset, len, "RPC Name: %s",
+ val);
offset += len;
}
+
proto_tree_add_text(tree, tvb, offset, -1, "Unknown data");
}