aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/mime_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'wiretap/mime_file.c')
-rw-r--r--wiretap/mime_file.c37
1 files changed, 36 insertions, 1 deletions
diff --git a/wiretap/mime_file.c b/wiretap/mime_file.c
index 2096a299ef..171cd3706e 100644
--- a/wiretap/mime_file.c
+++ b/wiretap/mime_file.c
@@ -90,6 +90,10 @@ static const mime_files_t magic_files[] = {
#define N_MAGIC_TYPES (sizeof(magic_files) / sizeof(magic_files[0]))
+static int mime_file_type_subtype = -1;
+
+void register_mime(void);
+
wtap_open_return_val
mime_file_open(wtap *wth, int *err, gchar **err_info)
{
@@ -135,7 +139,7 @@ mime_file_open(wtap *wth, int *err, gchar **err_info)
if (file_seek(wth->fh, 0, SEEK_SET, err) == -1)
return WTAP_OPEN_ERROR;
- wth->file_type_subtype = WTAP_FILE_TYPE_SUBTYPE_MIME;
+ wth->file_type_subtype = mime_file_type_subtype;
wth->file_encap = WTAP_ENCAP_MIME;
wth->file_tsprec = WTAP_TSPREC_SEC;
wth->subtype_read = wtap_full_file_read;
@@ -145,6 +149,37 @@ mime_file_open(wtap *wth, int *err, gchar **err_info)
return WTAP_OPEN_MINE;
}
+static const struct file_type_subtype_info mime_info = {
+ "MIME File Format", "mime", NULL, NULL,
+ FALSE, FALSE, 0,
+ NULL, NULL, NULL
+};
+
+/*
+ * XXX - registered solely for the benefit of Lua scripts that
+ * look for the file type "JPEG_JFIF"; it may be removed once
+ * we get rid of wtap_filetypes.
+ */
+static const struct file_type_subtype_info jpeg_jfif_info = {
+ "JPEG/JFIF", "jpeg", "jpg", "jpeg;jfif",
+ FALSE, FALSE, 0,
+ NULL, NULL, NULL
+};
+
+void register_mime(void)
+{
+ mime_file_type_subtype =
+ wtap_register_file_type_subtypes(&mime_info,
+ WTAP_FILE_TYPE_SUBTYPE_UNKNOWN);
+
+ /*
+ * Obsoleted by "mime", so just register it; we don't
+ * need its return value.
+ */
+ wtap_register_file_type_subtypes(&jpeg_jfif_info,
+ WTAP_FILE_TYPE_SUBTYPE_UNKNOWN);
+}
+
/*
* Editor modelines - https://www.wireshark.org/tools/modelines.html
*