diff options
Diffstat (limited to 'output/ulogd_output_XML.c')
-rw-r--r-- | output/ulogd_output_XML.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/output/ulogd_output_XML.c b/output/ulogd_output_XML.c index 0ab843e..1ec9d8c 100644 --- a/output/ulogd_output_XML.c +++ b/output/ulogd_output_XML.c @@ -170,10 +170,21 @@ static int xml_open_file(struct ulogd_pluginstance *upi) struct xml_priv *op = (struct xml_priv *) &upi->private; int ret; + struct ulogd_pluginstance *input_plugin = + llist_entry(upi->stack->list.next, + struct ulogd_pluginstance, list); + char file_infix[strlen("flow")+1]; + + if (input_plugin->plugin->output.type & ULOGD_DTYPE_FLOW) + strcpy(file_infix, "flow"); + else if (input_plugin->plugin->output.type & ULOGD_DTYPE_RAW) + strcpy(file_infix, "pkt"); + now = time(NULL); tm = localtime(&now); ret = snprintf(filename, sizeof(filename), - "ulogd-%.2d%.2d%.4d-%.2d%.2d%.2d.xml", + "ulogd-%s-%.2d%.2d%.4d-%.2d%.2d%.2d.xml", + file_infix, tm->tm_mday, tm->tm_mon + 1, 1900 + tm->tm_year, tm->tm_hour, tm->tm_min, tm->tm_sec); |