From ae77bf25af848e7c1db76a254e7ef4cdfa91c285 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 12 Feb 2012 23:56:27 +0100 Subject: ulogd2 / DBI / table name DBI: allow to define table name via table config option While using the DBI plugin of ulogd2 for NFCT based accounting, despite using table="conntrack", it always insisted in using the table "ulog" for deriving the keys/columns to be stored. I've hacked up a quick fix, and it seems to work as expected (though no proper null termination after strncpy). Signed-off-by: Harald Welte --- output/dbi/ulogd_output_DBI.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'output') diff --git a/output/dbi/ulogd_output_DBI.c b/output/dbi/ulogd_output_DBI.c index 88730e6..4b3ec16 100644 --- a/output/dbi/ulogd_output_DBI.c +++ b/output/dbi/ulogd_output_DBI.c @@ -102,7 +102,8 @@ static void str_tolower(char *s) static int get_columns_dbi(struct ulogd_pluginstance *upi) { struct dbi_instance *pi = (struct dbi_instance *) upi->private; - char query[256] = "SELECT * FROM ulog\0"; + char *table = table_ce(upi->config_kset).u.string; + char query[256]; unsigned int ui; if (!pi->dbh) { @@ -110,6 +111,8 @@ static int get_columns_dbi(struct ulogd_pluginstance *upi) return 1; } + snprintf(query, 256, "SELECT * FROM %s", table); + ulogd_log(ULOGD_DEBUG, "%s\n", query); pi->result = dbi_conn_query(pi->dbh,query); if (!pi->result) { -- cgit v1.2.3