From 651f8df66f772018e07b40923707fa616e72fe95 Mon Sep 17 00:00:00 2001 From: chris mikkelson Date: Fri, 26 Mar 2010 22:46:10 -0500 Subject: [PATCH] Add message type (e.g. "spamtrap") to messages. Type selectable at startup. --- ssm_nmsg.c | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/ssm_nmsg.c b/ssm_nmsg.c index 9ad51bf..3a71023 100644 --- a/ssm_nmsg.c +++ b/ssm_nmsg.c @@ -61,19 +61,37 @@ ssm_nmsg_reload(void) pthread_mutex_unlock(&outmtx); } +char *message_type_name = "spamtrap"; +unsigned message_type; + static void ssm_nmsg_init(char *config) { + char *t; nmsg_res res; + nmsg_message_t m; + + msgproc_module_init(&msgproc_message); res = nmsg_init(); if (res != nmsg_res_success) { errx(1, "unable to initialize libnmsg"); } nmsg_emailmod = nmsg_msgmod_lookup_byname("ISC", "email"); - msgproc_module_init(&msgproc_message); - - nmsg_output_filename = strdup(config); + m = nmsg_message_init(nmsg_emailmod); + + nmsg_message_enum_name_to_value(m, "type", message_type_name, &message_type); + + while ((t = strsep(&config, ", "))) { + if (*t) { + if (!strncasecmp(t, "file=", 5)) { + nmsg_output_filename=strdup(t+5); + } else if (!strncasecmp(t, "type=", 5)) { + nmsg_message_enum_name_to_value(m, "type", + t+5, &message_type); + } + } + } ssm_nmsg_reload(); } @@ -97,6 +115,9 @@ ssm_nmsg_connect(struct conn *c) inet_ntop(AF_INET, &c->peer.sin_addr, ip, sizeof(ip)); nmsg_message_set_field(nms->msg, "srchost", 0, addr, strnlen(ip, sizeof(ip)) + 1); + nmsg_message_set_field(nms->msg, "type", 0, + (const uint8_t *)&message_type, + sizeof(message_type)); } if (nms->urlproc) { -- 2.50.1