From Martin Mathieson:
authorAnders Broman <anders.broman@ericsson.com>
Tue, 16 May 2006 19:04:53 +0000 (19:04 -0000)
committerAnders Broman <anders.broman@ericsson.com>
Tue, 16 May 2006 19:04:53 +0000 (19:04 -0000)
- 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.

svn path=/trunk/; revision=18173

dtds/reginfo.dtd [new file with mode: 0644]
epan/dissectors/packet-xml.c

diff --git a/dtds/reginfo.dtd b/dtds/reginfo.dtd
new file mode 100644 (file)
index 0000000..d419948
--- /dev/null
@@ -0,0 +1,41 @@
+<? ethereal:protocol
+   proto_name="reginfo"
+   description="Reginfo XML doc (RFC 3680)"
+   hierarchy="yes" ?>
+
+<!--
+$Id$    
+-->
+
+<!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>
+
+
+
+
index 11df7d00afac0df2cbd339bffc038f2237d99fbc..30dc18251eb06cb05972dbbb4de80c2ba4a9069e 100644 (file)
@@ -160,6 +160,7 @@ static const gchar* default_media_types[] = {
        "application/xcap-error+xml", 
        "application/xml", 
        "application/xml-dtd", 
+       "application/xpidf+xml",
        "application/xslt+xml", 
        "image/svg+xml", 
 };
@@ -171,7 +172,10 @@ dissect_xml(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
        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 @@ static void init_xml_names(void) {
        }
        
        if (test_for_directory(dirname) == EISDIR) {
-           
+       
            if ((dir = OPENDIR_OP(dirname)) != NULL) {
                while ((file = DIRGETNEXT_OP(dir)) != NULL) {
                    guint namelen;
@@ -1216,7 +1220,7 @@ proto_register_xml(void) {
     
        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);