diff --git a/mbuni/mmsc/mmsfromemail.c b/mbuni/mmsc/mmsfromemail.c index fd89179..e36919f 100644 --- a/mbuni/mmsc/mmsfromemail.c +++ b/mbuni/mmsc/mmsfromemail.c @@ -43,6 +43,7 @@ static int find_own(int i, int argc, char *argv[]); static void fixup_recipient(void); static void fixup_sender(void); +static void fixup_addresses(List *headers); static void send_mm4_res(int mtype, Octstr *to, Octstr *sender, Octstr *transid, char *status, Octstr *msgid); @@ -183,6 +184,8 @@ int main(int argc, char *argv[]) if (msgid) http_header_add(headers, "Message-ID", octstr_get_cstr(msgid)); + fixup_addresses(headers); + if (mm4_type) { unsigned char *x = NULL; int i; @@ -526,6 +529,42 @@ static void fixup_sender(void) } } +static void fixup_address_type(List *headers, char *hdr) +{ + List *l; + int i, n; + + l = http_header_find_all(headers, hdr); + + http_header_remove_all(headers,hdr); + for (i = 0, n = gwlist_len(l); i