add acl file
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20574 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -40,6 +40,7 @@ struct hdb_dbinfo {
|
|||||||
char *realm;
|
char *realm;
|
||||||
char *dbname;
|
char *dbname;
|
||||||
char *mkey_file;
|
char *mkey_file;
|
||||||
|
char *acl_file;
|
||||||
const krb5_config_binding *binding;
|
const krb5_config_binding *binding;
|
||||||
struct hdb_dbinfo *next;
|
struct hdb_dbinfo *next;
|
||||||
};
|
};
|
||||||
@@ -73,6 +74,9 @@ get_dbinfo(krb5_context context,
|
|||||||
p = krb5_config_get_string(context, db_binding, "mkey_file", NULL);
|
p = krb5_config_get_string(context, db_binding, "mkey_file", NULL);
|
||||||
if(p)
|
if(p)
|
||||||
di->mkey_file = strdup(p);
|
di->mkey_file = strdup(p);
|
||||||
|
p = krb5_config_get_string(context, db_binding, "acl_file", NULL);
|
||||||
|
if(p)
|
||||||
|
di->acl_file = strdup(p);
|
||||||
|
|
||||||
di->binding = db_binding;
|
di->binding = db_binding;
|
||||||
|
|
||||||
@@ -88,6 +92,7 @@ hdb_get_dbinfo(krb5_context context, struct hdb_dbinfo **dbp)
|
|||||||
struct hdb_dbinfo *di, **dt, *databases;
|
struct hdb_dbinfo *di, **dt, *databases;
|
||||||
const char *default_dbname = HDB_DEFAULT_DB;
|
const char *default_dbname = HDB_DEFAULT_DB;
|
||||||
const char *default_mkey = HDB_DB_DIR "/m-key";
|
const char *default_mkey = HDB_DB_DIR "/m-key";
|
||||||
|
const char *default_acl = HDB_DB_DIR "/kadmind.acl";
|
||||||
const char *p;
|
const char *p;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@@ -134,6 +139,7 @@ hdb_get_dbinfo(krb5_context context, struct hdb_dbinfo **dbp)
|
|||||||
di = calloc(1, sizeof(*di));
|
di = calloc(1, sizeof(*di));
|
||||||
di->dbname = strdup(default_dbname);
|
di->dbname = strdup(default_dbname);
|
||||||
di->mkey_file = strdup(default_mkey);
|
di->mkey_file = strdup(default_mkey);
|
||||||
|
di->acl_file = strdup(default_acl);
|
||||||
databases = di;
|
databases = di;
|
||||||
}
|
}
|
||||||
for(di = databases; di; di = di->next) {
|
for(di = databases; di; di = di->next) {
|
||||||
@@ -150,6 +156,9 @@ hdb_get_dbinfo(krb5_context context, struct hdb_dbinfo **dbp)
|
|||||||
asprintf(&di->mkey_file, "%.*s.mkey",
|
asprintf(&di->mkey_file, "%.*s.mkey",
|
||||||
(int)(p - di->dbname), di->dbname);
|
(int)(p - di->dbname), di->dbname);
|
||||||
}
|
}
|
||||||
|
if(di->acl_file == NULL)
|
||||||
|
di->acl_file = strdup(default_acl);
|
||||||
|
|
||||||
}
|
}
|
||||||
*dbp = databases;
|
*dbp = databases;
|
||||||
return 0;
|
return 0;
|
||||||
@@ -189,6 +198,12 @@ hdb_dbinfo_get_mkey_file(krb5_context context, struct hdb_dbinfo *dbp)
|
|||||||
return dbp->mkey_file;
|
return dbp->mkey_file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
hdb_dbinfo_get_acl_file(krb5_context context, struct hdb_dbinfo *dbp)
|
||||||
|
{
|
||||||
|
return dbp->acl_file;
|
||||||
|
}
|
||||||
|
|
||||||
const krb5_config_binding *
|
const krb5_config_binding *
|
||||||
hdb_dbinfo_get_binding(krb5_context context, struct hdb_dbinfo *dbp)
|
hdb_dbinfo_get_binding(krb5_context context, struct hdb_dbinfo *dbp)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user