Misc fixes
This commit is contained in:
parent
b477dd843c
commit
2ff5dabb9e
|
@ -1,3 +1,6 @@
|
||||||
|
2008-08-19 P. A. Bagyenda <bagyenda@dsmagic.com>
|
||||||
|
* Fix for Content-ID header in mmsbox (thanks to Vincent Chavanis <v.chavanis@telemaque.fr>)
|
||||||
|
* Typo fix thanks to Martin Atukunda (matlads@dsmagic.com)
|
||||||
2008-08-14 P. A. Bagyenda <bagyenda@dsmagic.com>
|
2008-08-14 P. A. Bagyenda <bagyenda@dsmagic.com>
|
||||||
* Mmsbox will now queue message to email (outgoing) if recipient looks like an email address
|
* Mmsbox will now queue message to email (outgoing) if recipient looks like an email address
|
||||||
2008-08-08 P. A. Bagyenda <bagyenda@dsmagic.com>
|
2008-08-08 P. A. Bagyenda <bagyenda@dsmagic.com>
|
||||||
|
|
|
@ -1364,6 +1364,23 @@ static struct {
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Some of Web languages used for generating content, but can't be a content itself. */
|
||||||
|
static struct {
|
||||||
|
char *language, *file_ext;
|
||||||
|
} l_exts[] = {
|
||||||
|
{"Perl", "pl"},
|
||||||
|
{"Php", "php"},
|
||||||
|
{"Python", "py"},
|
||||||
|
{"Common Gateway Interface", "cgi"},
|
||||||
|
{"Active Server Page", "asp"},
|
||||||
|
{"Java Server Page", "jsp"},
|
||||||
|
{"Ruby on Rails", "rb"},
|
||||||
|
{"Tool Command Language", "tcl"},
|
||||||
|
{"Shell Command Language", "sh"},
|
||||||
|
{"Executables", "exe"},
|
||||||
|
{NULL, NULL}
|
||||||
|
};
|
||||||
|
|
||||||
Octstr *filename2content_type(char *fname)
|
Octstr *filename2content_type(char *fname)
|
||||||
{
|
{
|
||||||
char *p = strrchr(fname, '.');
|
char *p = strrchr(fname, '.');
|
||||||
|
@ -1379,7 +1396,12 @@ Octstr *filename2content_type(char *fname)
|
||||||
|
|
||||||
static char *content_type2file_ext(Octstr *ctype)
|
static char *content_type2file_ext(Octstr *ctype)
|
||||||
{
|
{
|
||||||
int i;
|
int i, j;
|
||||||
|
|
||||||
|
/* Take the first value, expecting content-type! */
|
||||||
|
if ((j = octstr_search_char(ctype, ';', 0)) != -1)
|
||||||
|
octstr_delete(ctype, j, octstr_len(ctype));
|
||||||
|
|
||||||
for (i = 0; exts[i].file_ext; i++)
|
for (i = 0; exts[i].file_ext; i++)
|
||||||
if (octstr_str_case_compare(ctype, exts[i].ctype) == 0)
|
if (octstr_str_case_compare(ctype, exts[i].ctype) == 0)
|
||||||
return exts[i].file_ext;
|
return exts[i].file_ext;
|
||||||
|
@ -1389,6 +1411,7 @@ static char *content_type2file_ext(Octstr *ctype)
|
||||||
|
|
||||||
char *make_file_ext(Octstr *url, Octstr *ctype, char fext[5])
|
char *make_file_ext(Octstr *url, Octstr *ctype, char fext[5])
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
fext[0] = 0;
|
fext[0] = 0;
|
||||||
if (url) {
|
if (url) {
|
||||||
HTTPURLParse *h = parse_url(url);
|
HTTPURLParse *h = parse_url(url);
|
||||||
|
@ -1402,7 +1425,13 @@ char *make_file_ext(Octstr *url, Octstr *ctype, char fext[5])
|
||||||
strncpy(fext, p+1, 4); /* max length of 4. */
|
strncpy(fext, p+1, 4); /* max length of 4. */
|
||||||
|
|
||||||
http_urlparse_destroy(h);
|
http_urlparse_destroy(h);
|
||||||
if (fext[0]) return fext;
|
|
||||||
|
for (i = 0; l_exts[i].file_ext; i++)
|
||||||
|
if (strcasecmp(fext, l_exts[i].file_ext) == 0)
|
||||||
|
return content_type2file_ext(ctype);
|
||||||
|
|
||||||
|
if (fext[0])
|
||||||
|
return fext;
|
||||||
}
|
}
|
||||||
done:
|
done:
|
||||||
return content_type2file_ext(ctype);
|
return content_type2file_ext(ctype);
|
||||||
|
|
Loading…
Reference in New Issue