diff options
author | jpadkins <jacobpadkins@gmail.com> | 2017-05-24 01:14:18 +0300 |
---|---|---|
committer | jpadkins <jacobpadkins@gmail.com> | 2017-05-24 01:14:18 +0300 |
commit | 324824c40f3347b05432e5cc9c2eec2ecd3466df (patch) | |
tree | cd1327438a41649e01c285abc5c10c6e0388c70d | |
parent | 4e1a95d71a2d99e900243fde2ecaf769a06ebd1b (diff) |
Updated MIME Types test and mime.c
-rw-r--r-- | check/magma/servers/http/http_check_network.c | 9 | ||||
-rw-r--r-- | check/magma/servers/imap/imap_check_network.c | 4 | ||||
-rw-r--r-- | check/magma/servers/smtp/smtp_check_network.c | 4 | ||||
-rw-r--r-- | src/objects/mail/mime.c | 10 |
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++) { |