mime conversion bug affecting content adaption fixed
This commit is contained in:
parent
d61af3945f
commit
025c3f507b
|
@ -197,7 +197,7 @@ sharedstatedir = @sharedstatedir@
|
|||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
noinst_LIBRARIES = libmms.a
|
||||
libmms_a_SOURCES = mms_mmbox.h mms_mmbox.c mms_billing.c mms_billing.h mms_msg.c mms_msg.h mms_queue.c mms_queue.h mms_strings.c mms_strings.h mms_uaprof.c mms_uaprof.h mms_util.c mms_util.h mms_resolve.h mms_resolve.c mms_mm7soap.c mms_detokenize.h
|
||||
libmms_a_SOURCES = mms_mmbox.h mms_mmbox.c mms_billing.c mms_billing.h mms_msg.c mms_msg.h mms_queue.c mms_queue.h mms_strings.c mms_strings.h mms_uaprof.c mms_uaprof.h mms_util.c mms_util.h mms_resolve.h mms_resolve.c mms_mm7soap.c mms_detokenize.h mms_mm7soap.h
|
||||
plugindir = $(libdir)/mbuni
|
||||
plugin_LTLIBRARIES = libmms_billing_shell.la libmms_resolve_shell.la libmms_detokenize_shell.la
|
||||
libmms_billing_shell_la_SOURCES = mms_billing_shell.c
|
||||
|
|
|
@ -860,7 +860,7 @@ MSoapMsg_t *mm7_mmsmsg_to_soap(MmsMsg *msg, Octstr *from, List *xto,
|
|||
case MMS_MSGTYPE_SEND_REQ:
|
||||
case MMS_MSGTYPE_RETRIEVE_CONF:
|
||||
m = mm7_soap_create(MM7_TAG_DeliverReq, transid);
|
||||
m->msg = mms_tomime(msg);
|
||||
m->msg = mms_tomime(msg,1);
|
||||
|
||||
for (i = 0, n = xto ? list_len(xto) : 0; i < n; i++) { /* Add recipients. */
|
||||
Octstr *xx = octstr_format("+ %S", list_get(xto, i));
|
||||
|
|
|
@ -1232,7 +1232,7 @@ static void unconvert_mime_msg(MIMEEntity *m)
|
|||
}
|
||||
|
||||
|
||||
MIMEEntity *mms_tomime(MmsMsg *msg)
|
||||
MIMEEntity *mms_tomime(MmsMsg *msg, int base64)
|
||||
{
|
||||
MIMEEntity *m = gw_malloc(sizeof *m);
|
||||
int i, n;
|
||||
|
@ -1253,7 +1253,8 @@ MIMEEntity *mms_tomime(MmsMsg *msg)
|
|||
}
|
||||
}
|
||||
convert_mime_msg(m);
|
||||
base64_mimeparts(m);
|
||||
if (base64)
|
||||
base64_mimeparts(m);
|
||||
return m;
|
||||
}
|
||||
|
||||
|
@ -1472,6 +1473,7 @@ MmsMsg *mms_notification(MmsMsg *msg, unsigned int msize, Octstr *url,
|
|||
} else if (d) \
|
||||
http_header_add(m->headers, #h, d); \
|
||||
} while(0)
|
||||
|
||||
if (!optimizesize) {
|
||||
HX(From,NULL);
|
||||
HX(Subject,NULL);
|
||||
|
|
|
@ -44,9 +44,12 @@ extern int mms_messagetype(MmsMsg *msg);
|
|||
|
||||
/*
|
||||
* Convert Mms Message to standard Mime entity.
|
||||
* Does not recode any of the body parts.
|
||||
* Does base64 encoding of binary parts if base64 is true
|
||||
*/
|
||||
extern MIMEEntity *mms_tomime(MmsMsg *msg, int base64);
|
||||
/*
|
||||
* De-convert from mime.
|
||||
*/
|
||||
extern MIMEEntity *mms_tomime(MmsMsg *msg);
|
||||
extern MmsMsg *mms_frommime(MIMEEntity *mime);
|
||||
|
||||
extern void mms_msgdump(MmsMsg *m, int headers_only);
|
||||
|
|
|
@ -1002,14 +1002,8 @@ int mms_transform_msg(MmsMsg *inmsg, MmsUaProfile *prof, MmsMsg **outmsg)
|
|||
else if (!prof->ccppaccept.content)
|
||||
return -2;
|
||||
|
||||
m = mms_tomime(inmsg);
|
||||
|
||||
#if 0
|
||||
mms_msgdump(inmsg);
|
||||
debug("MMS UA PROF", 0, "### in ua prof");
|
||||
mime_entity_dump(m);
|
||||
#endif
|
||||
|
||||
m = mms_tomime(inmsg,0);
|
||||
|
||||
modify_msg(m, prof);
|
||||
|
||||
*outmsg = mms_frommime(m);
|
||||
|
@ -1318,7 +1312,7 @@ int mms_format_special(MmsMsg *inmsg,
|
|||
char *txtmsg,
|
||||
char *htmlmsg, MIMEEntity **outmsg)
|
||||
{
|
||||
MIMEEntity *m = mms_tomime(inmsg);
|
||||
MIMEEntity *m = mms_tomime(inmsg,0);
|
||||
int ct = 0;
|
||||
|
||||
if (!m)
|
||||
|
@ -1327,9 +1321,7 @@ int mms_format_special(MmsMsg *inmsg,
|
|||
format_special(m, trans_smil, txtmsg, htmlmsg, &ct);
|
||||
|
||||
*outmsg = m;
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
extern unsigned long mms_ua_maxmsgsize(MmsUaProfile *prof)
|
||||
|
|
|
@ -42,7 +42,7 @@ extern int mms_transform_msg(MmsMsg *inmsg, MmsUaProfile *prof, MmsMsg **outmsg)
|
|||
|
||||
/* Transforms the mms into a more 'readable' format:
|
||||
* SMIL is turned into html (with an alternative of text) if trans_smil is set,
|
||||
* image and audio changed to email preferred formats.
|
||||
* image and audio changed to email preferred formats. Does not base64 mime parts of result!
|
||||
*/
|
||||
extern int mms_format_special(MmsMsg *inmsg,
|
||||
int trans_smil,
|
||||
|
|
|
@ -995,7 +995,7 @@ int mms_sendtoemail(Octstr *from, Octstr *to,
|
|||
}
|
||||
|
||||
if (!trans_msg)
|
||||
m = mms_tomime(msg);
|
||||
m = mms_tomime(msg,0);
|
||||
else
|
||||
if ((ret = mms_format_special(msg, trans_smil, txt, html, &m)) < 0 ||
|
||||
m == NULL) {
|
||||
|
@ -1004,7 +1004,7 @@ int mms_sendtoemail(Octstr *from, Octstr *to,
|
|||
return -ret;
|
||||
}
|
||||
|
||||
base64_mimeparts(m);
|
||||
base64_mimeparts(m); /* make sure parts are base64 formatted. */
|
||||
|
||||
/* Before we send it, we insert some email friendly headers if they are missing. */
|
||||
http_header_add(newhdrs, "Subject", subject ? octstr_get_cstr(subject) : "MMS Message");
|
||||
|
|
Loading…
Reference in New Issue