[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ethereal-dev
Subject:    [Ethereal-dev] Update to srvloc dissector
From:       "Greg Morris" <gmorris () novell ! com>
Date:       2004-01-30 20:22:00
Message-ID: s01a5a85.030 () prv-mail20 ! provo ! novell ! com
[Download RAW message or body]

The attached patch fixes a problem when SLP version 1 service type
request was for all naming authorities. SLP version 2 checked for this
occurance. Version 1 did not.
 
Greg

["packet-srvloc.c.diff" (application/octet-stream)]

Index: packet-srvloc.c
===================================================================
RCS file: /cvsroot/ethereal/packet-srvloc.c,v
retrieving revision 1.44
diff -u -r1.44 packet-srvloc.c
--- packet-srvloc.c	8 Dec 2003 20:50:02 -0000	1.44
+++ packet-srvloc.c	30 Jan 2004 20:02:13 -0000
@@ -889,10 +889,18 @@
                 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;



_______________________________________________
Ethereal-dev mailing list
Ethereal-dev@ethereal.com
http://www.ethereal.com/mailman/listinfo/ethereal-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic