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 <laforge@netfilter.org>
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) {
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) {