add flags to fetch and store; seal keys before logging

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6097 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1999-05-03 17:09:58 +00:00
parent e7955cc129
commit c3e59002fe
9 changed files with 52 additions and 20 deletions

View File

@@ -52,7 +52,8 @@ kadm5_s_chpass_principal(void *server_handle,
ret = context->db->open(context->context, context->db, O_RDWR, 0);
if(ret)
return ret;
ret = context->db->fetch(context->context, context->db, &ent);
ret = context->db->fetch(context->context, context->db,
0, &ent);
if(ret == HDB_ERR_NOENTRY)
goto out;
ret = _kadm5_set_keys(context, &ent, password);
@@ -62,12 +63,15 @@ kadm5_s_chpass_principal(void *server_handle,
if(ret)
goto out2;
hdb_seal_keys(context->db, &ent);
kadm5_log_modify (context,
&ent,
KADM5_PRINCIPAL | KADM5_MOD_NAME | KADM5_MOD_TIME |
KADM5_KEY_DATA | KADM5_KVNO);
ret = context->db->store(context->context, context->db, 1, &ent);
ret = context->db->store(context->context, context->db,
HDB_F_REPLACE, &ent);
out2:
hdb_free_entry(context->context, &ent);
out:
@@ -88,7 +92,7 @@ kadm5_s_chpass_principal_with_key(void *server_handle,
ret = context->db->open(context->context, context->db, O_RDWR, 0);
if(ret)
return ret;
ret = context->db->fetch(context->context, context->db, &ent);
ret = context->db->fetch(context->context, context->db, 0, &ent);
if(ret == HDB_ERR_NOENTRY)
goto out;
ret = _kadm5_set_keys2(context, &ent, n_key_data, key_data);
@@ -98,12 +102,15 @@ kadm5_s_chpass_principal_with_key(void *server_handle,
if(ret)
goto out2;
hdb_seal_keys(context->db, &ent);
kadm5_log_modify (context,
&ent,
KADM5_PRINCIPAL | KADM5_MOD_NAME | KADM5_MOD_TIME |
KADM5_KEY_DATA | KADM5_KVNO);
ret = context->db->store(context->context, context->db, 1, &ent);
ret = context->db->store(context->context, context->db,
HDB_F_REPLACE, &ent);
out2:
hdb_free_entry(context->context, &ent);
out: