hdb: decorate HDB_entry with context member
Decorate HDB_entry with context and move free_entry callback into HDB structure itself. Requires updating hdb_free_entry() signature to include HDB parameter. A follow-up commit will consolidate hdb_entry_ex (which has a single hdb_entry member) into hdb_entry.
This commit is contained in:
@@ -249,7 +249,7 @@ change(void *server_handle,
|
||||
n_ks_tuple, ks_tuple, password);
|
||||
|
||||
out3:
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
out2:
|
||||
(void) kadm5_log_end(context);
|
||||
out:
|
||||
@@ -437,7 +437,7 @@ kadm5_s_chpass_principal_with_key(void *server_handle,
|
||||
n_key_data, key_data);
|
||||
|
||||
out3:
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
out2:
|
||||
(void) kadm5_log_end(context);
|
||||
out:
|
||||
|
@@ -194,7 +194,7 @@ kadm5_s_create_principal_with_key(void *server_handle,
|
||||
if (!context->keep_open) {
|
||||
ret = context->db->hdb_open(context->context, context->db, O_RDWR, 0);
|
||||
if (ret) {
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
@@ -227,7 +227,7 @@ kadm5_s_create_principal_with_key(void *server_handle,
|
||||
if (ret == 0 && ret2 != 0)
|
||||
ret = ret2;
|
||||
}
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
return _kadm5_error_code(ret);
|
||||
}
|
||||
|
||||
@@ -315,7 +315,7 @@ kadm5_s_create_principal(void *server_handle,
|
||||
if (!context->keep_open) {
|
||||
ret = context->db->hdb_open(context->context, context->db, O_RDWR, 0);
|
||||
if (ret) {
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
@@ -351,7 +351,7 @@ kadm5_s_create_principal(void *server_handle,
|
||||
if (ret == 0 && ret2 != 0)
|
||||
ret = ret2;
|
||||
}
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
return _kadm5_error_code(ret);
|
||||
}
|
||||
|
||||
|
@@ -131,7 +131,7 @@ kadm5_s_delete_principal(void *server_handle, krb5_principal princ)
|
||||
(void) delete_principal_hook(context, KADM5_HOOK_STAGE_POSTCOMMIT, ret, princ);
|
||||
|
||||
out3:
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
out2:
|
||||
(void) kadm5_log_end(context);
|
||||
out:
|
||||
|
@@ -404,7 +404,7 @@ kadm5_s_get_principal(void *server_handle,
|
||||
out:
|
||||
if (ret)
|
||||
kadm5_free_principal_ent(context, out);
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
|
||||
return _kadm5_error_code(ret);
|
||||
}
|
||||
|
@@ -589,7 +589,7 @@ receive_everything(krb5_context context, int fd,
|
||||
if (ret)
|
||||
krb5_err(context, IPROPD_RESTART_SLOW, ret, "hdb_store");
|
||||
|
||||
hdb_free_entry(context, &entry);
|
||||
hdb_free_entry(context, mydb, &entry);
|
||||
krb5_data_free(&data);
|
||||
} else if (opcode == NOW_YOU_HAVE)
|
||||
;
|
||||
|
@@ -979,8 +979,6 @@ kadm5_log_create(kadm5_server_context *context, hdb_entry *entry)
|
||||
|
||||
memset(&existing, 0, sizeof(existing));
|
||||
memset(&ent, 0, sizeof(ent));
|
||||
ent.ctx = 0;
|
||||
ent.free_entry = 0;
|
||||
ent.entry = *entry;
|
||||
|
||||
/*
|
||||
@@ -993,11 +991,11 @@ kadm5_log_create(kadm5_server_context *context, hdb_entry *entry)
|
||||
return ret;
|
||||
if (ret == 0 && !ent.entry.flags.materialize &&
|
||||
(existing.entry.flags.virtual || existing.entry.flags.virtual_keys)) {
|
||||
hdb_free_entry(context->context, &existing);
|
||||
hdb_free_entry(context->context, context->db, &existing);
|
||||
return HDB_ERR_EXISTS;
|
||||
}
|
||||
if (ret == 0)
|
||||
hdb_free_entry(context->context, &existing);
|
||||
hdb_free_entry(context->context, context->db, &existing);
|
||||
ent.entry.flags.materialize = 0; /* Clear in stored entry */
|
||||
|
||||
/*
|
||||
@@ -1076,7 +1074,7 @@ kadm5_log_replay_create(kadm5_server_context *context,
|
||||
return ret;
|
||||
}
|
||||
ret = context->db->hdb_store(context->context, context->db, 0, &ent);
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1202,8 +1200,6 @@ kadm5_log_rename(kadm5_server_context *context,
|
||||
kadm5_log_context *log_context = &context->log_context;
|
||||
|
||||
memset(&ent, 0, sizeof(ent));
|
||||
ent.ctx = 0;
|
||||
ent.free_entry = 0;
|
||||
ent.entry = *entry;
|
||||
|
||||
if (strcmp(log_context->log_file, "/dev/null") == 0) {
|
||||
@@ -1340,7 +1336,7 @@ kadm5_log_replay_rename(kadm5_server_context *context,
|
||||
}
|
||||
ret = context->db->hdb_store(context->context, context->db,
|
||||
0, &target_ent);
|
||||
hdb_free_entry(context->context, &target_ent);
|
||||
hdb_free_entry(context->context, context->db, &target_ent);
|
||||
if (ret) {
|
||||
krb5_free_principal(context->context, source);
|
||||
return ret;
|
||||
@@ -1368,8 +1364,6 @@ kadm5_log_modify(kadm5_server_context *context,
|
||||
kadm5_log_context *log_context = &context->log_context;
|
||||
|
||||
memset(&ent, 0, sizeof(ent));
|
||||
ent.ctx = 0;
|
||||
ent.free_entry = 0;
|
||||
ent.entry = *entry;
|
||||
|
||||
if (strcmp(log_context->log_file, "/dev/null") == 0)
|
||||
@@ -1641,8 +1635,8 @@ kadm5_log_replay_modify(kadm5_server_context *context,
|
||||
ret = context->db->hdb_store(context->context, context->db,
|
||||
HDB_F_REPLACE, &ent);
|
||||
out:
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, &log_ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
hdb_free_entry(context->context, context->db, &log_ent);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@@ -188,7 +188,7 @@ modify_principal(void *server_handle,
|
||||
ret, princ, mask);
|
||||
|
||||
out3:
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
out2:
|
||||
(void) kadm5_log_end(context);
|
||||
out:
|
||||
|
@@ -135,7 +135,7 @@ kadm5_s_prune_principal(void *server_handle,
|
||||
ret, princ, kvno);
|
||||
|
||||
out3:
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
out2:
|
||||
(void) kadm5_log_end(context);
|
||||
out:
|
||||
|
@@ -190,7 +190,7 @@ kadm5_s_randkey_principal(void *server_handle,
|
||||
*n_keys = 0;
|
||||
}
|
||||
out3:
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
out2:
|
||||
(void) kadm5_log_end(context);
|
||||
out:
|
||||
|
@@ -170,7 +170,7 @@ kadm5_s_rename_principal(void *server_handle,
|
||||
|
||||
out3:
|
||||
ent.entry.principal = oldname; /* Unborrow target */
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
|
||||
out2:
|
||||
(void) kadm5_log_end(context);
|
||||
|
@@ -212,7 +212,7 @@ kadm5_s_setkey_principal_3(void *server_handle,
|
||||
princ, keepold, n_ks_tuple, ks_tuple,
|
||||
n_keys, keyblocks);
|
||||
|
||||
hdb_free_entry(context->context, &ent);
|
||||
hdb_free_entry(context->context, context->db, &ent);
|
||||
(void) kadm5_log_end(context);
|
||||
if (!context->keep_open)
|
||||
context->db->hdb_close(context->context, context->db);
|
||||
|
Reference in New Issue
Block a user