Wiretap: Add support for files contain GIF, PNG images
authorMichael Mann <mmann78@netscape.net>
Wed, 30 Jan 2013 19:26:05 +0000 (19:26 -0000)
committerMichael Mann <mmann78@netscape.net>
Wed, 30 Jan 2013 19:26:05 +0000 (19:26 -0000)
From Michal Labedzki, bug 8278 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8278)

svn path=/trunk/; revision=47368

epan/dissectors/packet-image-gif.c
epan/dissectors/packet-image-png.c
wiretap/mime_file.c

index 23e7de8ea82beb27949f47820508a8e72a008d11..9151cdd7e2251c85ec640bd4c59bd886c7bf27b8 100644 (file)
@@ -688,4 +688,5 @@ proto_reg_handoff_gif(void)
     /* Register the GIF media type */
     dissector_add_string("media_type", "image/gif", gif_handle);
     heur_dissector_add("http", dissect_gif_heur, proto_gif);
+    heur_dissector_add("wtap_file", dissect_gif_heur, proto_gif);
 }
index d9978d389cec139258af94970dbe677b8ef5dcd9..fca50301d1d991783e523734e1da2c8041f33fe0 100644 (file)
@@ -435,4 +435,5 @@ proto_reg_handoff_png(void)
        dissector_handle_t png_handle = new_create_dissector_handle(dissect_png, proto_png);
        dissector_add_string("media_type", "image/png", png_handle);
        heur_dissector_add("http", dissect_png_heur, proto_png);
+    heur_dissector_add("wtap_file", dissect_png_heur, proto_png);
 }
index 61341ee6625bda337fb3c46475d8c95cefb5c864..5d9000f5ca7257199381211e258ebc6e2b0ece82 100644 (file)
@@ -72,11 +72,17 @@ static const guint8 jpeg_jfif_magic[] = { 0xFF, 0xD8, /* SOF */
                                        };
 
 /* <?xml */
-static const guint8 xml_magic[] = { '<', '?', 'x', 'm', 'l' };
+static const guint8 xml_magic[]    = { '<', '?', 'x', 'm', 'l' };
+static const guint8 png_magic[]    = { 137, 80, 78, 71, 13, 10, 26, 10 };
+static const guint8 gif87a_magic[] = { 'G', 'I', 'F', '8', '7', 'a'};
+static const guint8 gif89a_magic[] = { 'G', 'I', 'F', '8', '9', 'a'};
 
 static const mime_files_t magic_files[] = {
        { jpeg_jfif_magic, sizeof(jpeg_jfif_magic) },
-       { xml_magic, sizeof(xml_magic) }
+       { xml_magic, sizeof(xml_magic) },
+    { png_magic, sizeof(png_magic) },
+    { gif87a_magic, sizeof(gif87a_magic) },
+    { gif89a_magic, sizeof(gif89a_magic) }
 };
 
 #define        N_MAGIC_TYPES   (sizeof(magic_files) / sizeof(magic_files[0]))