Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/lavabit/magma.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjpadkins <jacobpadkins@gmail.com>2017-05-24 01:14:18 +0300
committerjpadkins <jacobpadkins@gmail.com>2017-05-24 01:14:18 +0300
commit324824c40f3347b05432e5cc9c2eec2ecd3466df (patch)
treecd1327438a41649e01c285abc5c10c6e0388c70d
parent4e1a95d71a2d99e900243fde2ecaf769a06ebd1b (diff)
Updated MIME Types test and mime.c
-rw-r--r--check/magma/servers/http/http_check_network.c9
-rw-r--r--check/magma/servers/imap/imap_check_network.c4
-rw-r--r--check/magma/servers/smtp/smtp_check_network.c4
-rw-r--r--src/objects/mail/mime.c10
4 files changed, 14 insertions, 13 deletions
diff --git a/check/magma/servers/http/http_check_network.c b/check/magma/servers/http/http_check_network.c
index e802c069..85d1a2c2 100644
--- a/check/magma/servers/http/http_check_network.c
+++ b/check/magma/servers/http/http_check_network.c
@@ -225,7 +225,7 @@ bool_t check_http_mime_types_sthread(stringer_t *errmsg, uint32_t port, bool_t s
"video/mpeg",
"application/ogg",
"application/pdf",
- //"text-script.perl",
+ "text/x-perl",
"image/png",
"application/mspowerpoint",
"application/powerpoint",
@@ -242,7 +242,6 @@ bool_t check_http_mime_types_sthread(stringer_t *errmsg, uint32_t port, bool_t s
"text/html",
"application/x-shockwave-flash",
"application/x-tar",
- //"application-xtcl",
"text/plain",
"application/x-compressed",
"image/tiff",
@@ -307,7 +306,7 @@ bool_t check_http_mime_types_sthread(stringer_t *errmsg, uint32_t port, bool_t s
".mpg",
".ogg",
".pdf",
- //".pl",
+ ".pl",
".png",
".pps",
".ppt",
@@ -324,7 +323,6 @@ bool_t check_http_mime_types_sthread(stringer_t *errmsg, uint32_t port, bool_t s
".shtml",
".swf",
".tar",
- //".tcl",
".text",
".tgz",
".tif",
@@ -366,8 +364,7 @@ bool_t check_http_mime_types_sthread(stringer_t *errmsg, uint32_t port, bool_t s
return false;
}
- /// LOW: Should the edge cases that extension = NULL be checked in mail_mime_get_media_type()? Because right now it causes a segfault.
- if (!(media_type = mail_mime_get_media_type(extensions[i])) || strcmp(media_type->name, types[i]) != 0) {
+ if (!(media_type = mail_mime_get_media_type(extensions[i])) || st_cmp_cs_eq(NULLER(media_type->name), NULLER(types[i])) != 0) {
st_sprint(errmsg, "Failed to return the correct media type object for an extension. { extension = %s , type = %s }",
extensions[i], types[i]);
diff --git a/check/magma/servers/imap/imap_check_network.c b/check/magma/servers/imap/imap_check_network.c
index 3c6b0197..d04487bd 100644
--- a/check/magma/servers/imap/imap_check_network.c
+++ b/check/magma/servers/imap/imap_check_network.c
@@ -422,7 +422,7 @@ bool_t check_imap_network_starttls_sthread(stringer_t *errmsg, uint32_t tcp_port
client_close(client);
return false;
}
-/*
+
client_close(client);
client = NULL;
@@ -446,7 +446,7 @@ bool_t check_imap_network_starttls_sthread(stringer_t *errmsg, uint32_t tcp_port
client_close(client);
return false;
}
-*/
+
client_close(client);
return true;
}
diff --git a/check/magma/servers/smtp/smtp_check_network.c b/check/magma/servers/smtp/smtp_check_network.c
index 294c421d..696e6267 100644
--- a/check/magma/servers/smtp/smtp_check_network.c
+++ b/check/magma/servers/smtp/smtp_check_network.c
@@ -405,7 +405,7 @@ bool_t check_smtp_network_starttls_sthread(stringer_t *errmsg, uint32_t tcp_port
client_close(client);
return false;
}
-/*
+
found_starttls_ad = false;
client_close(client);
client = NULL;
@@ -442,7 +442,7 @@ bool_t check_smtp_network_starttls_sthread(stringer_t *errmsg, uint32_t tcp_port
client_close(client);
return false;
}
-*/
+
client_close(client);
return true;
}
diff --git a/src/objects/mail/mime.c b/src/objects/mail/mime.c
index ab2f5bd0..1b074b5e 100644
--- a/src/objects/mail/mime.c
+++ b/src/objects/mail/mime.c
@@ -54,7 +54,7 @@ media_type_t media_types[] = {
{ ".mpg", true, "video/mpeg" },
{ ".ogg", true, "application/ogg" },
{ ".pdf", true, "application/pdf" },
- { ".pl", false, "text-script.perl" },
+ { ".pl", false, "text/x-perl" },
{ ".png", true, "image/png" },
{ ".pps", true, "application/mspowerpoint" },
{ ".ppt", true, "application/powerpoint" },
@@ -71,7 +71,6 @@ media_type_t media_types[] = {
{ ".shtml", false, "text/html" },
{ ".swf", true, "application/x-shockwave-flash" },
{ ".tar", true, "application/x-tar" },
- { ".tcl", false, "application-xtcl" },
{ ".text", false, "text/plain" },
{ ".tgz", true, "application/x-compressed" },
{ ".tif", true, "image/tiff" },
@@ -100,7 +99,12 @@ media_type_t media_types[] = {
*/
media_type_t * mail_mime_get_media_type (chr_t *extension) {
- size_t cmplen = ns_length_get(extension) + 1;
+ size_t cmplen = 0;
+
+ // If extension is NULL, return application/octet-stream.
+ if (ns_empty(extension)) return (&(media_types[0]));
+
+ cmplen = ns_length_get(extension) + 1;
for (size_t i = 1; i < sizeof(media_types) / sizeof(media_type_t); i++) {