aboutsummaryrefslogtreecommitdiff
path: root/modules/mailutils/mailutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mailutils/mailutils.c')
-rw-r--r--modules/mailutils/mailutils.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/modules/mailutils/mailutils.c b/modules/mailutils/mailutils.c
index 78fed0d..1423227 100644
--- a/modules/mailutils/mailutils.c
+++ b/modules/mailutils/mailutils.c
@@ -37,6 +37,7 @@ typedef int (*query_fun_t)(smap_database_t dbp,
struct smap_conninfo const *conninfo);
struct _mu_smap_db {
+ const char *id;
char *positive_reply;
char *negative_reply;
char *onerror_reply;
@@ -46,6 +47,7 @@ struct _mu_smap_db {
};
struct _mu_smap_result {
+ const char *db;
const char *map;
const char *key;
struct mu_auth_data *auth;
@@ -76,6 +78,7 @@ expand_reply_text(const char *arg, struct _mu_smap_result *res)
if (!arg)
return NULL;
mu_vartab_create(&vtab);
+ mu_vartab_define(vtab, "db", res->db, 0);
mu_vartab_define(vtab, "key", res->key, 0);
mu_vartab_define(vtab, "map", res->map, 0);
mu_vartab_define(vtab, MU_AUTH_NAME, auth ? auth->name : "", 0);
@@ -128,6 +131,7 @@ _mu_auth_query(smap_database_t dbp,
struct _mu_smap_result res;
char *reply;
+ res.db = mdb->id;
res.map = map;
res.key = key;
res.auth = auth;
@@ -265,6 +269,7 @@ _mu_mbq_query(smap_database_t dbp,
char *reply;
memset(&res, 0, sizeof(res));
+ res.db = mdb->id;
res.map = map;
res.key = key;
@@ -462,7 +467,7 @@ mod_mailutils_init(int argc, char **argv)
}
static smap_database_t
-mod_mailutils_init_db(int argc, char **argv)
+mod_mailutils_init_db(const char *dbid, int argc, char **argv)
{
struct _mu_smap_db *db;
char *positive_reply = NULL;
@@ -502,6 +507,7 @@ mod_mailutils_init_db(int argc, char **argv)
mu_error("not enough memory");
return NULL;
}
+ db->id = dbid;
db->positive_reply = positive_reply ?
positive_reply : strdup(dfl_positive_reply);
db->negative_reply = negative_reply ?

Return to:

Send suggestions and report system problems to the System administrator.