MM4 incoming message type fix
This commit is contained in:
parent
bc7049dbd6
commit
869a6d3eed
|
@ -1,3 +1,6 @@
|
||||||
|
2007-01-30 Paul A. Bagyenda <bagyenda@dsmagic.com>
|
||||||
|
* Fix for MM4 incoming, thanks to Vincent Chavanis <vincent@telemaque.fr> (and
|
||||||
|
Deon van der Merwe <deonvandermerwe@gmail.com> for testing)
|
||||||
2007-01-24 Paul A. Bagyenda <bagyenda@dsmagic.com>
|
2007-01-24 Paul A. Bagyenda <bagyenda@dsmagic.com>
|
||||||
* Fix crash for missing error code definition (thanks to Vincent Chavanis <vincent@telemaque.fr>)
|
* Fix crash for missing error code definition (thanks to Vincent Chavanis <vincent@telemaque.fr>)
|
||||||
2006-12-28 Paul A. Bagyenda <bagyenda@dsmagic.com>
|
2006-12-28 Paul A. Bagyenda <bagyenda@dsmagic.com>
|
||||||
|
|
|
@ -1361,10 +1361,14 @@ MmsMsg *mms_frommime(MIMEEntity *mime)
|
||||||
m->msgId = http_header_value(m->headers, octstr_imm("Message-ID"));
|
m->msgId = http_header_value(m->headers, octstr_imm("Message-ID"));
|
||||||
|
|
||||||
/* Default type is send */
|
/* Default type is send */
|
||||||
if ((s = http_header_value(m->headers, octstr_imm("X-Mms-Message-Type"))) == NULL) {
|
if ((s = http_header_value(m->headers, octstr_imm("X-Mms-Message-Type"))) == NULL ||
|
||||||
|
octstr_compare(s, octstr_imm("MM4_forward.REQ")) == 0) {
|
||||||
|
http_header_remove_all(m->headers, "X-Mms-Message-Type");
|
||||||
http_header_add(m->headers, "X-Mms-Message-Type",
|
http_header_add(m->headers, "X-Mms-Message-Type",
|
||||||
(char *)mms_message_type_to_cstr(MMS_MSGTYPE_SEND_REQ));
|
(char *)mms_message_type_to_cstr(MMS_MSGTYPE_SEND_REQ));
|
||||||
m->message_type = MMS_MSGTYPE_SEND_REQ;
|
m->message_type = MMS_MSGTYPE_SEND_REQ;
|
||||||
|
if (s)
|
||||||
|
octstr_destroy(s);
|
||||||
} else {
|
} else {
|
||||||
m->message_type = mms_string_to_message_type(s);
|
m->message_type = mms_string_to_message_type(s);
|
||||||
if (m->message_type < 0) {
|
if (m->message_type < 0) {
|
||||||
|
|
|
@ -125,7 +125,7 @@ static unsigned char *number_to_cstr(long number, struct table *table)
|
||||||
return (unsigned char *)octstr_get_cstr(table->strings[i]);
|
return (unsigned char *)octstr_get_cstr(table->strings[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "";
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Case-insensitive string lookup */
|
/* Case-insensitive string lookup */
|
||||||
|
|
|
@ -439,13 +439,14 @@ void mmsc_receive_func(MmscGrp *m)
|
||||||
{
|
{
|
||||||
|
|
||||||
MmsHTTPClientInfo h = {NULL};
|
MmsHTTPClientInfo h = {NULL};
|
||||||
|
Octstr *err = NULL;
|
||||||
|
|
||||||
h.m = m;
|
h.m = m;
|
||||||
while(rstop == 0 &&
|
while(rstop == 0 &&
|
||||||
(h.client = http_accept_request(m->incoming.port,
|
(h.client = http_accept_request(m->incoming.port,
|
||||||
&h.ip, &h.url, &h.headers,
|
&h.ip, &h.url, &h.headers,
|
||||||
&h.body, &h.cgivars)) != NULL)
|
&h.body, &h.cgivars)) != NULL)
|
||||||
if (is_allowed_ip(m->incoming.deny_ip, m->incoming.allow_ip, h.ip)) {
|
if (is_allowed_ip(m->incoming.allow_ip, m->incoming.deny_ip, h.ip)) {
|
||||||
|
|
||||||
h.ua = http_header_value(h.headers, octstr_imm("User-Agent"));
|
h.ua = http_header_value(h.headers, octstr_imm("User-Agent"));
|
||||||
debug("mmsbox", 0,
|
debug("mmsbox", 0,
|
||||||
|
@ -466,7 +467,7 @@ void mmsc_receive_func(MmscGrp *m)
|
||||||
http_header_add(hh, "WWW-Authenticate",
|
http_header_add(hh, "WWW-Authenticate",
|
||||||
"Basic realm=\"" MM_NAME "\"");
|
"Basic realm=\"" MM_NAME "\"");
|
||||||
http_send_reply(h.client, HTTP_UNAUTHORIZED, hh,
|
http_send_reply(h.client, HTTP_UNAUTHORIZED, hh,
|
||||||
octstr_imm(""));
|
octstr_imm("Authentication failed"));
|
||||||
http_destroy_headers(hh);
|
http_destroy_headers(hh);
|
||||||
info(0, "MMSBox: Auth failed, incoming connection, MMC group=%s",
|
info(0, "MMSBox: Auth failed, incoming connection, MMC group=%s",
|
||||||
m->id ? octstr_get_cstr(m->id) : "(none)");
|
m->id ? octstr_get_cstr(m->id) : "(none)");
|
||||||
|
@ -475,9 +476,20 @@ void mmsc_receive_func(MmscGrp *m)
|
||||||
else
|
else
|
||||||
mm7eaif_receive(&h);
|
mm7eaif_receive(&h);
|
||||||
free_clientInfo(&h, 0);
|
free_clientInfo(&h, 0);
|
||||||
} else {
|
} else {
|
||||||
|
h.ua = http_header_value(h.headers, octstr_imm("User-Agent"));
|
||||||
|
err = octstr_format("HTTP: Incoming IP denied MMSC[%s] ip=[%s], ua=[%s], disconnected",
|
||||||
|
m->id ? octstr_get_cstr(m->id) : "(none)",
|
||||||
|
h.ip ? octstr_get_cstr(h.ip) : "(none)",
|
||||||
|
h.ua ? octstr_get_cstr(h.ua) : "(none)");
|
||||||
|
if (err) {
|
||||||
|
error(0, "%s", octstr_get_cstr(err));
|
||||||
|
octstr_destroy(err);
|
||||||
|
}
|
||||||
|
http_send_reply(h.client, HTTP_FORBIDDEN, NULL,
|
||||||
|
octstr_imm("Access denied."));
|
||||||
|
|
||||||
free_clientInfo(&h, 0);
|
free_clientInfo(&h, 0);
|
||||||
http_close_client(h.client);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
debug("proxy", 0, "MMSBox: MM7 Shutting down...");
|
debug("proxy", 0, "MMSBox: MM7 Shutting down...");
|
||||||
|
|
Loading…
Reference in New Issue