aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2004-02-01 20:46:47 +0000
committerGuy Harris <guy@alum.mit.edu>2004-02-01 20:46:47 +0000
commit650a8c3100afe642bc8b2299cb64c13db1272483 (patch)
treef71e2ac40707b0e0ee55d361bac53b3bf4511a9d
parentd11080a09fe4ea26349762f9e14b8203d3cd255b (diff)
From Greg Morris: handle SLPv1 service type requests that ask for all
naming authorities. svn path=/trunk/; revision=9950
-rw-r--r--packet-srvloc.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/packet-srvloc.c b/packet-srvloc.c
index fa6bf248cb..1d22b71a0e 100644
--- a/packet-srvloc.c
+++ b/packet-srvloc.c
@@ -9,7 +9,7 @@
* In particular I have not had an opportunity to see how it
* responds to SRVLOC over TCP.
*
- * $Id: packet-srvloc.c,v 1.44 2003/12/08 20:50:02 guy Exp $
+ * $Id: packet-srvloc.c,v 1.45 2004/02/01 20:46:47 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -889,10 +889,18 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
add_v1_string(srvloc_tree, hf_srvloc_srvtypereq_prlist, tvb, offset, length, encoding);
offset += length;
length = tvb_get_ntohs(tvb, offset);
- proto_tree_add_uint(srvloc_tree, hf_srvloc_srvtypereq_nameauthlistlen, tvb, offset, 2, length);
- offset += 2;
- add_v1_string(srvloc_tree, hf_srvloc_srvtypereq_nameauthlist, tvb, offset, length, encoding);
- offset += length;
+ /* Updated by Greg Morris on 1-30-04 */
+ if (0xFFFF == length) {
+ proto_tree_add_uint(srvloc_tree, hf_srvloc_srvtypereq_nameauthlistlenall, tvb, offset, 2, length);
+ offset += 2;
+ }
+ else
+ {
+ proto_tree_add_uint(srvloc_tree, hf_srvloc_srvtypereq_nameauthlistlen, tvb, offset, 2, length);
+ offset += 2;
+ add_v1_string(srvloc_tree, hf_srvloc_srvtypereq_nameauthlist, tvb, offset, length, encoding);
+ offset += length;
+ }
length = tvb_get_ntohs(tvb, offset);
proto_tree_add_uint(srvloc_tree, hf_srvloc_srvtypereq_scopelistlen, tvb, offset, 2, length);
offset += 2;