1
0
Fork 0

improved mmsc logging on transient errors

This commit is contained in:
bagyenda 2009-01-17 04:31:21 +00:00
parent d62e733178
commit 7d69e70dc3
7 changed files with 34 additions and 27 deletions

View File

@ -1,3 +1,6 @@
2009-01-17 P. A. Bagyenda <bagyenda@dsmagic.com>
* Improved mmsc logging
* mmsc tools other than mmsc no longer attempt to open admin port
2009-01-16 P. A. Bagyenda <bagyenda@dsmagic.com>
* Minor update to mmsc mm1 notifier: cleanup
2009-01-12 P. A. Bagyenda <bagyenda@dsmagic.com>

View File

@ -54,7 +54,7 @@ int main(int argc, char *argv[])
mms_info(0, "mmsc", NULL," " MM_NAME " MMSC version %s starting", MMSC_VERSION);
settings = mms_load_mmsc_settings(fname,&proxyrelays);
settings = mms_load_mmsc_settings(fname,&proxyrelays, 0);
octstr_destroy(fname);
if (!settings)

View File

@ -50,7 +50,7 @@ void mms_cleanup_mmsc_settings(MmscSettings *settings)
mms_event_logger_cleanup();
}
MmscSettings *mms_load_mmsc_settings(Octstr *fname, List **proxyrelays)
MmscSettings *mms_load_mmsc_settings(Octstr *fname, List **proxyrelays, int skip_admin)
{
mCfg *cfg;
Octstr *s;
@ -348,30 +348,33 @@ MmscSettings *mms_load_mmsc_settings(Octstr *fname, List **proxyrelays)
/* Now load & start admin interface. */
mms_cfg_get_int(cfg, grp, octstr_imm("mmsc-admin-port"), &m->admin_port);
if (skip_admin)
m->admin_port = -1;
else {
mms_cfg_get_int(cfg, grp, octstr_imm("mmsc-admin-port"), &m->admin_port);
#ifdef HAVE_LIBSSL
mms_cfg_get_bool(cfg, grp, octstr_imm("admin-port-ssl"), &ssl);
mms_cfg_get_bool(cfg, grp, octstr_imm("admin-port-ssl"), &ssl);
#endif
m->admin_pass = mms_cfg_get(cfg, grp, octstr_imm("admin-password"));
m->admin_allow_ip = mms_cfg_get(cfg, grp, octstr_imm("admin-allow-ip"));
m->admin_deny_ip = mms_cfg_get(cfg, grp, octstr_imm("admin-deny-ip"));
if (m->admin_port > 0 &&
http_open_port(m->admin_port, ssl)< 0) {
mms_error(0, "mmsc", NULL, "Failed to start admin server on port %d: %s",
(int)m->admin_port, strerror(errno));
m->admin_port = -1;
} else if (m->admin_port > 0 &&
(m->admin_thread = gwthread_create((gwthread_func_t *)admin_handler, m)) < 0) {
mms_error(0, "mmsc", NULL, "Failed to start admin server thread: %s",
strerror(errno));
http_close_port(m->admin_port);
m->admin_port = -1;
} else if (m->admin_pass == NULL)
mms_warning(0, "mmsc", NULL, "Empty or no password supplied for admin port. All requests will be allowed!");
m->admin_pass = mms_cfg_get(cfg, grp, octstr_imm("admin-password"));
m->admin_allow_ip = mms_cfg_get(cfg, grp, octstr_imm("admin-allow-ip"));
m->admin_deny_ip = mms_cfg_get(cfg, grp, octstr_imm("admin-deny-ip"));
if (m->admin_port > 0 &&
http_open_port(m->admin_port, ssl)< 0) {
mms_error(0, "mmsc", NULL, "Failed to start admin server on port %d: %s",
(int)m->admin_port, strerror(errno));
m->admin_port = -1;
} else if (m->admin_port > 0 &&
(m->admin_thread = gwthread_create((gwthread_func_t *)admin_handler, m)) < 0) {
mms_error(0, "mmsc", NULL, "Failed to start admin server thread: %s",
strerror(errno));
http_close_port(m->admin_port);
m->admin_port = -1;
} else if (m->admin_pass == NULL)
mms_warning(0, "mmsc", NULL, "Empty or no password supplied for admin port. All requests will be allowed!");
}
mms_cfg_destroy_grp(cfg, cgrp);
mms_cfg_destroy_grp(cfg, grp);

View File

@ -133,7 +133,7 @@ typedef struct MmscSettings {
} MmscSettings;
/* Returns mmsc settings. */
MmscSettings *mms_load_mmsc_settings(Octstr *fname, List **proxyrelays);
MmscSettings *mms_load_mmsc_settings(Octstr *fname, List **proxyrelays, int skip_admin_port);
MmsVasp *mmsc_load_vasp_from_conf(MmscSettings *m, mCfgGrp *grp,
List *errors, List *warnings);
int mmsc_unload_vasp(MmscSettings *m, Octstr *id);

View File

@ -80,7 +80,7 @@ int main(int argc, char *argv[])
mms_info(0, "mmsfromemail", NULL, " MMSC Email2MMS/MM4 Incoming Tool version %s starting", MMSC_VERSION);
/* Load settings. */
settings = mms_load_mmsc_settings(fname, &proxyrelays);
settings = mms_load_mmsc_settings(fname, &proxyrelays,1);
if (!settings)
panic(0, "No global MMSC configuration, or failed to read conf from <%s>!", octstr_get_cstr(fname));

View File

@ -404,7 +404,8 @@ static int sendMsg(MmsEnvelope *e)
}
/* Write to log */
if (res == MMS_SEND_ERROR_FATAL)
if (res == MMS_SEND_ERROR_FATAL ||
(res == MMS_SEND_ERROR_TRANSIENT && err != NULL))
mms_error(0, "MM2", NULL, "%s Global Queue MMS Send [%.128s]: From %s, to %s, msgsize=%ld: %s. ",
SEND_ERROR_STR(res),
e->xqfname,

View File

@ -88,7 +88,7 @@ int main(int argc, char *argv[])
/* Load settings. */
settings = mms_load_mmsc_settings(fname, &proxyrelays);
settings = mms_load_mmsc_settings(fname, &proxyrelays,1);
if (!settings)
panic(0, "No global MMSC configuration, or failed to read conf from <%s>!", octstr_get_cstr(fname));