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();
}
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) {