Small xml [patch]

Martin Mathieson <[email protected]>
Newsgroups gmane.network.ethereal.devel
Message-ID <[email protected]>
Hi,

This patch:
- adds application/xpidf+xml as a media type known to be xml
- appends /xml to the protocol column (as SDP does).  It would be nice 
to append the top-level element, or the name taken from a matching DTD, 
but this will do for now (at least its a short name).
- corrects the help text for the preference.  I can see that it is 
registered as a heuristic for "http", "sip" and "media"

I've also included a slightly updated version of reginfo.dtd (RFC 3680) 
for the dtds folder.  I've found it useful while looking at messages of 
that type.

Regards,
Martin

_______________________________________________
Ethereal-dev mailing list
[email protected]
http://www.ethereal.com/mailman/listinfo/ethereal-dev
packet-xml.c.diff (text/plain, 1.3 KB)
Index: epan/dissectors/packet-xml.c
===================================================================
--- epan/dissectors/packet-xml.c	(revision 18170)
+++ epan/dissectors/packet-xml.c	(working copy)
@@ -160,6 +160,7 @@
 	"application/xcap-error+xml", 
 	"application/xml", 
 	"application/xml-dtd", 
+	"application/xpidf+xml",
 	"application/xslt+xml", 
 	"image/svg+xml", 
 };
@@ -171,7 +172,10 @@
 	tvbparse_elem_t* tok = NULL;
 	static GPtrArray* stack = NULL;
 	xml_frame_t* current_frame;
-	
+
+	if (check_col(pinfo->cinfo, COL_PROTOCOL))
+		col_append_str(pinfo->cinfo, COL_PROTOCOL, "/XML");
+
 	if(!tree) return;
 	
 	if (stack != NULL)
@@ -1118,7 +1122,7 @@
 	}
 	
 	if (test_for_directory(dirname) == EISDIR) {
-	    
+	
 	    if ((dir = OPENDIR_OP(dirname)) != NULL) {
 	        while ((file = DIRGETNEXT_OP(dir)) != NULL) {
 	            guint namelen;
@@ -1216,7 +1220,7 @@
     
 	xml_module = prefs_register_protocol(xml_ns.hf_tag,apply_prefs);
     prefs_register_bool_preference(xml_module, "heuristic", "Use Heuristics",
-                                   "Try to recognize XML for unknown HTTP media types",
+                                   "Try to recognize XML for unknown media types",
                                    &pref_heuristic);
     
     g_array_free(hf_arr,FALSE);
reginfo.dtd (text/xml, 1.1 KB)
<? ethereal:protocol
   proto_name="reginfo"
   description="Reginfo XML doc (RFC 3680)"
   hierarchy="yes" ?>

<!--
    
-->

<!ELEMENT reginfo (registration)* >
<!ATTLIST reginfo xmlns CDATA #REQUIRED
                  version CDATA #REQUIRED
                  state CDATA #REQUIRED>

<!ELEMENT registration (contact)*>
<!ATTLIST registration aor CDATA #REQUIRED
                       id CDATA #REQUIRED
                       state CDATA #REQUIRED>

<!ELEMENT contact (uri | display-name? | unknown-param?)* >
<!ATTLIST contact      id CDATA #REQUIRED
                       state CDATA #REQUIRED
                       event CDATA #REQUIRED
                       expires CDATA #IMPLIED
                       retry-after CDATA #IMPLIED
                       duration-registered CDATA #IMPLIED
                       q CDATA #IMPLIED
                       cseq CDATA #IMPLIED
                       callid CDATA #IMPLIED>

<!ELEMENT uri (#PCDATA)>

<!ELEMENT display-name (#PCDATA)>
<!ATTLIST display-name  lang CDATA #IMPLIED>

<!ELEMENT unknown-param (#PCDATA)>
<!ATTLIST unknown-param  name CDATA #REQUIRED>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.