minor changes to cdr logging
This commit is contained in:
parent
23df285f45
commit
371438118b
|
@ -1,3 +1,5 @@
|
|||
2008-06-24 P. A. Bagyenda <bagyenda@dsmagic.com>
|
||||
* Improved queue information: Included source interface
|
||||
2008-06-18 P. A. Bagyenda <bagyenda@dsmagic.com>
|
||||
* added qcelp file extension to mime type mapping
|
||||
2008-05-30 P. A. Bagyenda <bagyenda@dsmagic.com>
|
||||
|
|
|
@ -276,6 +276,7 @@ static MmsEnvelope *pgq_queue_readenvelope(char *qf, char *mms_queuedir, int sho
|
|||
NULL,
|
||||
NULL,
|
||||
qf,
|
||||
NULL,
|
||||
sizeof (struct pgfile_t), NULL);
|
||||
|
||||
/* set the private data. */
|
||||
|
@ -322,6 +323,9 @@ static MmsEnvelope *pgq_queue_readenvelope(char *qf, char *mms_queuedir, int sho
|
|||
case 'I':
|
||||
e->msgId = octstr_create(res);
|
||||
break;
|
||||
case 'i': /* interface. */
|
||||
strncpy(e->src_interface, res, sizeof e->src_interface);
|
||||
break;
|
||||
case 'R':
|
||||
case 'Z':
|
||||
t = octstr_create(res);
|
||||
|
@ -531,6 +535,10 @@ static int writeenvelope(MmsEnvelope *e, int newenv)
|
|||
_puthdr(qfs->conn, qfs->qid, "P", octstr_get_cstr(e->fromproxy));
|
||||
|
||||
|
||||
|
||||
if (e->src_interface[0])
|
||||
_puthdr(qfs->conn, qfs->qid, "i", e->src_interface);
|
||||
|
||||
if (e->mdata)
|
||||
_puthdr(qfs->conn, qfs->qid, "M", octstr_get_cstr(e->mdata));
|
||||
|
||||
|
@ -577,7 +585,9 @@ static Octstr *pgq_queue_add(Octstr *from, List *to,
|
|||
Octstr *url1, Octstr *url2,
|
||||
List *hdrs,
|
||||
int dlr,
|
||||
char *directory, Octstr *mmscname)
|
||||
char *directory,
|
||||
char *src_interface,
|
||||
Octstr *mmscname)
|
||||
{
|
||||
char qf[QFNAMEMAX], xqid[128];
|
||||
int64_t qid;
|
||||
|
@ -619,6 +629,7 @@ static Octstr *pgq_queue_add(Octstr *from, List *to,
|
|||
senddate,expirydate,token,vaspid,vasid,
|
||||
url1,url2,hdrs,dlr,mmscname,m,
|
||||
qf,
|
||||
src_interface,
|
||||
sizeof(struct pgfile_t), &ms);
|
||||
|
||||
qfs = e->qfs_data;
|
||||
|
|
|
@ -112,6 +112,7 @@ static int free_envelope(MmsEnvelope *e, int removefromqueue);
|
|||
* a parameter. Letters mean:
|
||||
* T - message type (full text string -- MMS message type.
|
||||
* I - message ID
|
||||
* i - source interface (MM1, MM4, etc.)
|
||||
* F - From address
|
||||
* R - Recipient (the ones pending) for this message
|
||||
* C - Time queue entry was created
|
||||
|
@ -222,6 +223,7 @@ static MmsEnvelope *mms_queue_readenvelope(char *qf, char *mms_queuedir, int sho
|
|||
NULL,
|
||||
NULL,
|
||||
qf,
|
||||
NULL,
|
||||
sizeof (struct qfile_t), NULL);
|
||||
qfs = e->qfs_data;
|
||||
|
||||
|
@ -259,6 +261,9 @@ static MmsEnvelope *mms_queue_readenvelope(char *qf, char *mms_queuedir, int sho
|
|||
case 'I':
|
||||
e->msgId = octstr_create(res);
|
||||
break;
|
||||
case 'i':
|
||||
strncpy(e->src_interface, res, sizeof e->src_interface);
|
||||
break;
|
||||
case 'F':
|
||||
e->from = octstr_create(res);
|
||||
if (mms_validate_address(e->from) != 0) {
|
||||
|
@ -428,6 +433,9 @@ static int writeenvelope(MmsEnvelope *e, int newenv)
|
|||
if (e->msgId)
|
||||
_putline(fd, "I", octstr_get_cstr(e->msgId));
|
||||
|
||||
if (e->src_interface[0])
|
||||
_putline(fd, "i", e->src_interface);
|
||||
|
||||
if (e->from)
|
||||
_putline(fd, "F", octstr_get_cstr(e->from));
|
||||
|
||||
|
@ -717,7 +725,9 @@ static Octstr *mms_queue_add(Octstr *from, List *to,
|
|||
Octstr *url1, Octstr *url2,
|
||||
List *hdrs,
|
||||
int dlr,
|
||||
char *directory, Octstr *mmscname)
|
||||
char *directory,
|
||||
char *src_interface,
|
||||
Octstr *mmscname)
|
||||
{
|
||||
char qf[QFNAMEMAX], subdir[64];
|
||||
int fd;
|
||||
|
@ -736,7 +746,7 @@ static Octstr *mms_queue_add(Octstr *from, List *to,
|
|||
e = mms_queue_create_envelope(from, to, subject, fromproxy,viaproxy,
|
||||
senddate,expirydate,token,vaspid,vasid,
|
||||
url1,url2,hdrs,dlr,mmscname,m,
|
||||
octstr_get_cstr(res),
|
||||
octstr_get_cstr(res), src_interface,
|
||||
sizeof(struct qfile_t), &ms);
|
||||
qfs = e->qfs_data;
|
||||
strncpy(qfs->name, qf, sizeof qfs->name);
|
||||
|
@ -831,6 +841,7 @@ MmsEnvelope *mms_queue_create_envelope(Octstr *from, List *to,
|
|||
Octstr *mmscname,
|
||||
MmsMsg *m,
|
||||
char *xqfname,
|
||||
char *src_interface,
|
||||
int extra_space,
|
||||
Octstr **binary_mms)
|
||||
{
|
||||
|
@ -879,6 +890,8 @@ MmsEnvelope *mms_queue_create_envelope(Octstr *from, List *to,
|
|||
|
||||
e->dlr = dlr;
|
||||
|
||||
strncpy(e->src_interface, src_interface ? src_interface : "", sizeof e->src_interface);
|
||||
|
||||
if (xqfname)
|
||||
strncpy(e->xqfname, xqfname, sizeof e->xqfname);
|
||||
|
||||
|
|
|
@ -64,6 +64,9 @@ typedef struct MmsEnvelope {
|
|||
Octstr *mdata; /* Generic string data used by any interface. */
|
||||
Octstr *fromproxy; /* Which proxy sent us this message.*/
|
||||
Octstr *viaproxy; /* Which proxy must we send this message through. */
|
||||
|
||||
char src_interface[16]; /* source interface of this message. */
|
||||
char _extra_space; /* A bit of sugar, just in case... */
|
||||
|
||||
void *_x; /* Generic storage field used by module clients. */
|
||||
void *qfs_data; /* Queue handler module structure -- allocated for you by queue_create
|
||||
|
@ -90,15 +93,16 @@ typedef struct MmsQueueHandlerFuncs {
|
|||
* Returns a queue file name.
|
||||
*/
|
||||
Octstr *(*mms_queue_add)(Octstr *from, List *to,
|
||||
Octstr *subject,
|
||||
Octstr *fromproxy, Octstr *viaproxy,
|
||||
time_t senddate, time_t expirydate, MmsMsg *m,
|
||||
Octstr *token,
|
||||
Octstr *vaspid, Octstr *vasid,
|
||||
Octstr *url1, Octstr *url2,
|
||||
List *hdrs,
|
||||
int dlr,
|
||||
char *directory, Octstr *mmscname);
|
||||
Octstr *subject,
|
||||
Octstr *fromproxy, Octstr *viaproxy,
|
||||
time_t senddate, time_t expirydate, MmsMsg *m,
|
||||
Octstr *token,
|
||||
Octstr *vaspid, Octstr *vasid,
|
||||
Octstr *url1, Octstr *url2,
|
||||
List *hdrs,
|
||||
int dlr,
|
||||
char *directory, char *src_interface,
|
||||
Octstr *mmscname);
|
||||
|
||||
/*
|
||||
* Update queue status. Returns -1 on error, 0 if queue is updated fine and
|
||||
|
@ -166,6 +170,7 @@ MmsEnvelope *mms_queue_create_envelope(Octstr *from, List *to,
|
|||
Octstr *mmscname,
|
||||
MmsMsg *m,
|
||||
char *xqfname,
|
||||
char *src_interface,
|
||||
int extra_space,
|
||||
Octstr **binary_mms);
|
||||
/* Get rid of memory used by this. */
|
||||
|
|
|
@ -227,6 +227,7 @@ static void mm7soap_receive(MmsHTTPClientInfo *h)
|
|||
qh,
|
||||
dlr,
|
||||
octstr_get_cstr(qdir),
|
||||
"MM7/SOAP-IN",
|
||||
octstr_imm(MM_NAME));
|
||||
msgid = mms_maketransid(octstr_get_cstr(qf), octstr_imm(MM_NAME));
|
||||
mms_log("Received", from, to, -1, msgid, NULL, h->m->id, "MMSBox", h->ua, NULL);
|
||||
|
@ -256,6 +257,7 @@ static void mm7soap_receive(MmsHTTPClientInfo *h)
|
|||
NULL,
|
||||
0,
|
||||
octstr_get_cstr(qdir),
|
||||
"MM7/SOAP-IN",
|
||||
octstr_imm(MM_NAME));
|
||||
else
|
||||
qf = NULL;
|
||||
|
@ -297,6 +299,7 @@ static void mm7soap_receive(MmsHTTPClientInfo *h)
|
|||
NULL,
|
||||
0,
|
||||
octstr_get_cstr(qdir),
|
||||
"MM7/SOAP-IN",
|
||||
octstr_imm(MM_NAME));
|
||||
else
|
||||
qf = NULL;
|
||||
|
@ -464,6 +467,7 @@ static void mm7eaif_receive(MmsHTTPClientInfo *h)
|
|||
NULL,
|
||||
dlr,
|
||||
octstr_get_cstr(qdir),
|
||||
"MM7/EAIF-IN",
|
||||
octstr_imm(MM_NAME));
|
||||
|
||||
if (qf) {
|
||||
|
@ -484,6 +488,7 @@ static void mm7eaif_receive(MmsHTTPClientInfo *h)
|
|||
NULL,
|
||||
0,
|
||||
octstr_get_cstr(qdir),
|
||||
"MM7/EAIF-IN",
|
||||
octstr_imm(MM_NAME));
|
||||
if (qf) {
|
||||
/* Log to access log */
|
||||
|
@ -513,6 +518,7 @@ static void mm7eaif_receive(MmsHTTPClientInfo *h)
|
|||
NULL,
|
||||
0,
|
||||
octstr_get_cstr(qdir),
|
||||
"MM7/EAIF-IN",
|
||||
octstr_imm(MM_NAME));
|
||||
if (qf) {
|
||||
/* Log to access log */
|
||||
|
|
|
@ -1137,6 +1137,7 @@ static int make_and_queue_msg(Octstr *data, Octstr *ctype, List *reply_headers,
|
|||
hdrs,
|
||||
(dlr_url != NULL),
|
||||
octstr_get_cstr(qdir),
|
||||
"MMSBox",
|
||||
octstr_imm(MM_NAME));
|
||||
info(0, "MMSBox: Queued message from service [%s], [transid [%s]: %s",
|
||||
octstr_get_cstr(svc_name),
|
||||
|
|
|
@ -46,8 +46,9 @@ static int mms_logcdr(MmsCdrStruct *cdr)
|
|||
|
||||
localtime_r(&cdr->sdate, &tm);
|
||||
gw_strftime(buf, sizeof buf, "%Y-%m-%d %H:%M:%S", &tm);
|
||||
fprintf(cdr->module_data, "%s\t%.128s\t%.256s\t%.256s\t%ld\n",
|
||||
buf, cdr->from, cdr->to, cdr->msgid, cdr->msg_size);
|
||||
fprintf(cdr->module_data, "%s\t%.128s\t%.128s\t%.256s\t%.256s\t%ld\n",
|
||||
buf, cdr->src_interface[0] ? cdr->src_interface : "MM2",
|
||||
cdr->from, cdr->to, cdr->msgid, cdr->msg_size);
|
||||
fflush(cdr->module_data);
|
||||
} else
|
||||
return -1;
|
||||
|
@ -55,6 +56,25 @@ static int mms_logcdr(MmsCdrStruct *cdr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
MmsCdrStruct *make_cdr_struct(void *module_data, time_t sdate, char *from, char *to, char *msgid,
|
||||
char *vaspid, char *src_int, unsigned long msg_size)
|
||||
{
|
||||
|
||||
MmsCdrStruct *cdr = gw_malloc(sizeof *cdr);
|
||||
|
||||
cdr->module_data = module_data;
|
||||
cdr->sdate = sdate;
|
||||
strncpy(cdr->from, from ? from : "", sizeof cdr->from);
|
||||
strncpy(cdr->to, to ? to : "", sizeof cdr->to);
|
||||
strncpy(cdr->msgid, msgid ? msgid : "", sizeof cdr->msgid);
|
||||
strncpy(cdr->vaspid, vaspid ? vaspid : "", sizeof cdr->vaspid);
|
||||
strncpy(cdr->src_interface, src_int ? src_int : "MM2", sizeof cdr->src_interface);
|
||||
|
||||
cdr->msg_size = msg_size;
|
||||
|
||||
return cdr;
|
||||
}
|
||||
|
||||
/* The function itself. */
|
||||
MmsBillingFuncStruct mms_billfuncs = {
|
||||
mms_billingmodule_init,
|
||||
|
|
|
@ -31,6 +31,7 @@ typedef struct MmsCdrStruct {
|
|||
char to[CBUFSIZE];
|
||||
char msgid[CBUFSIZE];
|
||||
char vaspid[CBUFSIZE];
|
||||
char src_interface[CBUFSIZE];
|
||||
unsigned long msg_size;
|
||||
} MmsCdrStruct;
|
||||
|
||||
|
@ -54,4 +55,7 @@ typedef struct MmsBillingFuncStruct {
|
|||
|
||||
extern MmsBillingFuncStruct mms_billfuncs; /* The module must expose this symbol. */
|
||||
|
||||
/* utility function. */
|
||||
MmsCdrStruct *make_cdr_struct(void *module_data, time_t sdate, char *from, char *to, char *msgid,
|
||||
char *vaspid, char *src_int, unsigned long msg_size);
|
||||
#endif
|
||||
|
|
|
@ -278,16 +278,17 @@ int main(int argc, char *argv[])
|
|||
dlr = 0;
|
||||
|
||||
qf = settings->qfs->mms_queue_add(xfrom, lto, NULL, xproxy, NULL,
|
||||
0, time(NULL) + settings->default_msgexpiry, msg, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
dlr,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
settings->host_alias);
|
||||
0, time(NULL) + settings->default_msgexpiry, msg, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
dlr,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
mm4_type ? "MM4" : "MM3",
|
||||
settings->host_alias);
|
||||
if (qf) {
|
||||
newmsgid = mms_maketransid(octstr_get_cstr(qf),
|
||||
settings->host_alias);
|
||||
settings->host_alias);
|
||||
info(0, "%s Queued message to %s from %s (via %s) => %s",
|
||||
mm4_type ? "MM4 Incoming" : "Email2MMS",
|
||||
octstr_get_cstr(xto), octstr_get_cstr(xfrom),
|
||||
|
@ -319,14 +320,15 @@ int main(int argc, char *argv[])
|
|||
octstr_format_append(xto, "/TYPE=PLMN");
|
||||
gwlist_append(lto, xto);
|
||||
qf = settings->qfs->mms_queue_add(xfrom, lto, NULL,
|
||||
xproxy, NULL,
|
||||
0, time(NULL) + settings->default_msgexpiry, msg, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
settings->host_alias);
|
||||
xproxy, NULL,
|
||||
0, time(NULL) + settings->default_msgexpiry, msg, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
"MM4",
|
||||
settings->host_alias);
|
||||
gwlist_destroy(lto, NULL);
|
||||
if (qf) {
|
||||
info(0, "MM4 Queued DLR from proxy %s to %s from %s => %s",
|
||||
|
@ -351,14 +353,15 @@ int main(int argc, char *argv[])
|
|||
octstr_format_append(xto, "/TYPE=PLMN");
|
||||
gwlist_append(lto, xto);
|
||||
qf = settings->qfs->mms_queue_add(xfrom, lto, NULL,
|
||||
xproxy, NULL,
|
||||
0, time(NULL) + settings->default_msgexpiry, msg, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
settings->host_alias);
|
||||
xproxy, NULL,
|
||||
0, time(NULL) + settings->default_msgexpiry, msg, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
"MM4",
|
||||
settings->host_alias);
|
||||
gwlist_destroy(lto, NULL);
|
||||
if (qf) {
|
||||
info(0, "MM4 Queued read report from proxy %s to %s from %s => %s",
|
||||
|
@ -416,17 +419,15 @@ int main(int argc, char *argv[])
|
|||
/* write CDR if it is a forward confirmation */
|
||||
if (processed && mtype == MM4_FORWARD_RES &&
|
||||
rstatus && octstr_str_case_compare(rstatus, "Ok") == 0) {
|
||||
MmsCdrStruct _cdr, *cdr = &_cdr;
|
||||
|
||||
cdr->module_data = settings->mms_bill_module_data;
|
||||
cdr->sdate = e->created;
|
||||
strncpy(cdr->from, octstr_get_cstr(e->from), sizeof cdr->from);
|
||||
strncpy(cdr->to, o_to ? octstr_get_cstr(o_to) : "", sizeof cdr->to);
|
||||
strncpy(cdr->msgid, e->msgId ? octstr_get_cstr(e->msgId) : "", sizeof cdr->msgid);
|
||||
strncpy(cdr->vaspid, e->vaspid ? octstr_get_cstr(e->vaspid) : "", sizeof cdr->vaspid);
|
||||
cdr->msg_size = e->msize;
|
||||
|
||||
MmsCdrStruct *cdr = make_cdr_struct(settings->mms_bill_module_data,
|
||||
e->created, octstr_get_cstr(e->from),
|
||||
o_to ? octstr_get_cstr(o_to) : "",
|
||||
e->msgId ? octstr_get_cstr(e->msgId) : "",
|
||||
e->vaspid ? octstr_get_cstr(e->vaspid) : "",
|
||||
"MM4", e->msize);
|
||||
settings->mms_billfuncs->mms_logcdr(cdr);
|
||||
|
||||
gw_free(cdr);
|
||||
}
|
||||
|
||||
info(0, "MM4 received %s from proxy %s to %s from %s => %s, status: [%s, %s]",
|
||||
|
|
|
@ -364,14 +364,15 @@ static int sendMsg(MmsEnvelope *e)
|
|||
|
||||
/* Add to queue, switch via proxy to be from proxy. */
|
||||
qfs = settings->qfs->mms_queue_add(to->rcpt, l,
|
||||
err, NULL, e->fromproxy,
|
||||
tnow, tnow+settings->default_msgexpiry, m, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
0,
|
||||
qdir,
|
||||
settings->host_alias);
|
||||
err, NULL, e->fromproxy,
|
||||
tnow, tnow+settings->default_msgexpiry, m, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
0,
|
||||
qdir,
|
||||
"MM2",
|
||||
settings->host_alias);
|
||||
octstr_destroy(qfs);
|
||||
gwlist_destroy(l, NULL);
|
||||
|
||||
|
@ -389,16 +390,15 @@ static int sendMsg(MmsEnvelope *e)
|
|||
err ? octstr_get_cstr(err) : "(null)");
|
||||
|
||||
if (res == MMS_SEND_OK) { /* Do CDR writing. */
|
||||
MmsCdrStruct *cdr = gw_malloc(sizeof *cdr);
|
||||
|
||||
cdr->module_data = settings->mms_bill_module_data;
|
||||
cdr->sdate = e->created;
|
||||
strncpy(cdr->from, octstr_get_cstr(e->from), sizeof cdr->from);
|
||||
strncpy(cdr->to, octstr_get_cstr(to->rcpt), sizeof cdr->to);
|
||||
strncpy(cdr->msgid, e->msgId ? octstr_get_cstr(e->msgId) : "", sizeof cdr->msgid);
|
||||
strncpy(cdr->vaspid, e->vaspid ? octstr_get_cstr(e->vaspid) : "", sizeof cdr->vaspid);
|
||||
cdr->msg_size = e->msize;
|
||||
|
||||
MmsCdrStruct *cdr = make_cdr_struct(settings->mms_bill_module_data,
|
||||
e->created,
|
||||
octstr_get_cstr(e->from),
|
||||
octstr_get_cstr(to->rcpt),
|
||||
e->msgId ? octstr_get_cstr(e->msgId) : "",
|
||||
e->vaspid ? octstr_get_cstr(e->vaspid) : "",
|
||||
e->src_interface,
|
||||
e->msize);
|
||||
|
||||
gwlist_produce(cdr_list, cdr); /* Put it on list so sending thread sends it. */
|
||||
}
|
||||
octstr_destroy(err);
|
||||
|
@ -457,7 +457,9 @@ void mbuni_global_queue_runner(int *rstop)
|
|||
/* When it ends, wait a little for other stuff to stop... */
|
||||
sleep(2);
|
||||
gwlist_remove_producer(cdr_list); /* Stop CDR thread. */
|
||||
|
||||
|
||||
gwlist_destroy(cdr_list, NULL); /* Destroy it. */
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -502,11 +504,12 @@ int mms_sendtomobile(Octstr *from, Octstr *to,
|
|||
x = octstr_create(tokenstr);
|
||||
if (m)
|
||||
ret = settings->qfs->mms_queue_add(from, l, subject, fromproxy, NULL, 0, expires, m,
|
||||
x, NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
dlr, mobile_qdir,
|
||||
settings->host_alias);
|
||||
x, NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
dlr, mobile_qdir,
|
||||
"MM2",
|
||||
settings->host_alias);
|
||||
else
|
||||
*error = octstr_format("GlobalSend: Failed to send to %S, Message format is corrupt!", to);
|
||||
|
||||
|
|
|
@ -422,14 +422,15 @@ static int sendNotify(MmsEnvelope *e)
|
|||
|
||||
/* Add to queue, switch via proxy to be from proxy. */
|
||||
res = settings->qfs->mms_queue_add(to ? to : settings->system_user, l, err,
|
||||
NULL, fromproxy,
|
||||
tnow, tnow+settings->default_msgexpiry, m, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
0,
|
||||
octstr_get_cstr(settings->mm1_queuedir),
|
||||
settings->host_alias);
|
||||
NULL, fromproxy,
|
||||
tnow, tnow+settings->default_msgexpiry, m, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
0,
|
||||
octstr_get_cstr(settings->mm1_queuedir),
|
||||
"MM2",
|
||||
settings->host_alias);
|
||||
gwlist_destroy(l, NULL);
|
||||
mms_destroy(m);
|
||||
octstr_destroy(res);
|
||||
|
|
|
@ -399,13 +399,14 @@ void fetchmms_proxy(MmsHTTPClientInfo *h)
|
|||
http_header_add(qh, "X-Mbuni-Timestamp", tbuf); /* record time of message. */
|
||||
|
||||
x = settings->qfs->mms_queue_add(from, l, NULL, NULL, NULL, 0,
|
||||
time(NULL) + settings->default_msgexpiry, mrpt, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
qh,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
settings->host_alias);
|
||||
time(NULL) + settings->default_msgexpiry, mrpt, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
qh,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
"MM1",
|
||||
settings->host_alias);
|
||||
|
||||
octstr_destroy(x);
|
||||
|
||||
|
@ -591,8 +592,8 @@ static void sendmms_proxy(MmsHTTPClientInfo *h)
|
|||
mmbox_loc = mms_makefetchurl(octstr_get_cstr(sdf), NULL, MMS_LOC_MMBOX, from, settings);
|
||||
}
|
||||
|
||||
if (x)
|
||||
octstr_destroy(x);
|
||||
|
||||
octstr_destroy(x);
|
||||
|
||||
/*Delete some headers that must be sent on. */
|
||||
mms_remove_headers(m, "Bcc");
|
||||
|
@ -611,13 +612,14 @@ static void sendmms_proxy(MmsHTTPClientInfo *h)
|
|||
else
|
||||
dlr = 0;
|
||||
qf = settings->qfs->mms_queue_add(from, to, subject,
|
||||
NULL, NULL, deliveryt, expiryt, m, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
qh,
|
||||
dlr,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
settings->host_alias);
|
||||
NULL, NULL, deliveryt, expiryt, m, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
qh,
|
||||
dlr,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
"MM1",
|
||||
settings->host_alias);
|
||||
|
||||
if (!qf)
|
||||
mresp = mms_sendconf("Error-transient-failure", "None", octstr_get_cstr(otransid),0,
|
||||
|
@ -792,13 +794,14 @@ static void sendmms_proxy(MmsHTTPClientInfo *h)
|
|||
dlr = 0;
|
||||
/* Message to forward is now ready, write it to queue. */
|
||||
qf2 = settings->qfs->mms_queue_add(from, to, subject,
|
||||
NULL, NULL, deliveryt, expiryt, mfwd, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
qh,
|
||||
dlr,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
settings->host_alias);
|
||||
NULL, NULL, deliveryt, expiryt, mfwd, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
qh,
|
||||
dlr,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
"MM1",
|
||||
settings->host_alias);
|
||||
|
||||
/* Process any requests for writing to mmbox. */
|
||||
x = mms_get_header_value(m, octstr_imm("X-Mms-Store"));
|
||||
|
@ -881,40 +884,33 @@ static void sendmms_proxy(MmsHTTPClientInfo *h)
|
|||
gwlist_append(l, pfrom);
|
||||
|
||||
x = settings->qfs->mms_queue_add(from, l, NULL, NULL, NULL, 0,
|
||||
time(NULL) + settings->default_msgexpiry,
|
||||
mrep, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
settings->host_alias);
|
||||
time(NULL) + settings->default_msgexpiry,
|
||||
mrep, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
"MM1",
|
||||
settings->host_alias);
|
||||
if (x)
|
||||
octstr_destroy(x);
|
||||
|
||||
gwlist_destroy(l, NULL);
|
||||
mms_destroy(mrep);
|
||||
}
|
||||
if (pfrom)
|
||||
octstr_destroy(pfrom);
|
||||
if (pdelivery_report)
|
||||
octstr_destroy(pdelivery_report);
|
||||
if (pmsgid)
|
||||
octstr_destroy(pmsgid);
|
||||
|
||||
if (msgid)
|
||||
octstr_destroy(msgid);
|
||||
|
||||
if (xstate)
|
||||
octstr_destroy(xstate);
|
||||
if (xflags)
|
||||
gwlist_destroy(xflags, (gwlist_item_destructor_t *)octstr_destroy);
|
||||
octstr_destroy(pfrom);
|
||||
octstr_destroy(pdelivery_report);
|
||||
octstr_destroy(pmsgid);
|
||||
octstr_destroy(msgid);
|
||||
octstr_destroy(xstate);
|
||||
gwlist_destroy(xflags, (gwlist_item_destructor_t *)octstr_destroy);
|
||||
}
|
||||
|
||||
forward_done:
|
||||
|
||||
if (mfwd)
|
||||
mms_destroy(mfwd);
|
||||
mms_destroy(mfwd);
|
||||
|
||||
if (e) { /* Update the message queue and go. */
|
||||
e->lastaccess = time(NULL);
|
||||
|
@ -992,13 +988,14 @@ static void sendmms_proxy(MmsHTTPClientInfo *h)
|
|||
gwlist_append(l, octstr_duplicate(e->from));
|
||||
|
||||
x = settings->qfs->mms_queue_add(from, l, NULL, NULL, NULL, 0,
|
||||
time(NULL) + settings->default_msgexpiry, mrpt, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
qh,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
settings->host_alias);
|
||||
time(NULL) + settings->default_msgexpiry, mrpt, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
qh,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
"MM1",
|
||||
settings->host_alias);
|
||||
octstr_destroy(x);
|
||||
|
||||
gwlist_destroy(l, (gwlist_item_destructor_t *)octstr_destroy);
|
||||
|
@ -1043,14 +1040,15 @@ static void sendmms_proxy(MmsHTTPClientInfo *h)
|
|||
NULL, NULL);
|
||||
|
||||
x = settings->qfs->mms_queue_add(from, to, NULL, NULL, NULL, time(NULL),
|
||||
time(NULL) + settings->default_msgexpiry,
|
||||
m, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
qh,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
settings->host_alias);
|
||||
time(NULL) + settings->default_msgexpiry,
|
||||
m, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
qh,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
"MM1",
|
||||
settings->host_alias);
|
||||
|
||||
/* Log to access log */
|
||||
mms_log("ReadReport", h->client_addr, NULL, msize, NULL, NULL, NULL, "MM1", h->ua,NULL);
|
||||
|
@ -1611,14 +1609,15 @@ static void mm7soap_dispatch(MmsHTTPClientInfo *h)
|
|||
expiryt = time(NULL) + settings->default_msgexpiry;
|
||||
mms_remove_headers(m, "Message-ID"); /* cannot be found here. */
|
||||
qf = settings->qfs->mms_queue_add(from ? from : sender, to, subject,
|
||||
NULL, NULL,
|
||||
delivert, expiryt, m, NULL,
|
||||
h->vasp->id, vasid,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
dlr,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
settings->host_alias);
|
||||
NULL, NULL,
|
||||
delivert, expiryt, m, NULL,
|
||||
h->vasp->id, vasid,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
dlr,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
"MM7",
|
||||
settings->host_alias);
|
||||
msgid = mms_maketransid(octstr_get_cstr(qf), settings->host_alias);
|
||||
mms_log("Received", from ? from : sender, to, -1, msgid, h->vasp->id, NULL, "MM7",
|
||||
h->ua, NULL);
|
||||
|
@ -1847,13 +1846,14 @@ static void mm7eaif_dispatch(MmsHTTPClientInfo *h)
|
|||
|
||||
/* Save it, make msgid, put message id in header, return. */
|
||||
qf = settings->qfs->mms_queue_add(hfrom, to, subject,
|
||||
NULL, NULL, deliveryt, expiryt, m, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
dlr,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
settings->host_alias);
|
||||
NULL, NULL, deliveryt, expiryt, m, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
dlr,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
"MM7",
|
||||
settings->host_alias);
|
||||
|
||||
if (qf) {
|
||||
msgid = mms_maketransid(octstr_get_cstr(qf),
|
||||
|
|
|
@ -155,20 +155,21 @@ int main(int argc, char *argv[])
|
|||
http_header_add(h, "X-Mms-CalledFrom", "Terminal");
|
||||
#endif
|
||||
s = settings->qfs->mms_queue_add(from, to, NULL, NULL, NULL, time(NULL),
|
||||
time(NULL) + settings->default_msgexpiry, m,
|
||||
NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
h,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
settings->host_alias);
|
||||
|
||||
time(NULL) + settings->default_msgexpiry, m,
|
||||
NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
h,
|
||||
0,
|
||||
octstr_get_cstr(settings->global_queuedir),
|
||||
"MM3",
|
||||
settings->host_alias);
|
||||
|
||||
if (savetommbox)
|
||||
mmbox = mms_mmbox_addmsg(octstr_get_cstr(settings->mmbox_rootdir),
|
||||
octstr_get_cstr(from), m, NULL, octstr_imm("Sent"));
|
||||
|
||||
mms_log("Received", from, to, msize, s, NULL, NULL, "mmssend",NULL,NULL);
|
||||
mms_log("Received", from, to, msize, s, NULL, NULL, "MM3",NULL,NULL);
|
||||
|
||||
printf("Queued: %s, mmbox=%s\n",
|
||||
octstr_get_cstr(s), mmbox ? octstr_get_cstr(mmbox) : "");
|
||||
|
|
Loading…
Reference in New Issue