2 #include "clientpipe.h" 20 for (i = 0; i < keylist_size; i++) {
29 for (i = 0; i < deplist2_size; i++){
43 static const char *scmd =
"removeDeadKeysNow";
44 size_t i, deplist2_size = 0;
45 int key_purgable, cmp;
46 int zone_key_purgable;
61 client_printf_err(sockfd,
"[%s] no dbconn", scmd);
68 client_printf_err(sockfd,
"[%s] Error fetching zones", scmd);
74 client_printf (sockfd,
"No zones on policy %s\n",
policy_name(policy));
75 client_printf (sockfd,
"No keys to purge\n");
86 while (listsize > 0 ) {
87 zone_key_purgable = 0;
90 ods_log_error(
"[%s] error zone_get_key_dependencies()", scmd);
91 client_printf_err(sockfd,
"%s: error zone_get_key_dependencies()", scmd);
92 free_all(key_list, keylist, deplist, deplist2, zone);
99 client_printf_err(sockfd,
"%s: error zone_get_keys()", scmd);
100 free_all(key_list, keylist, deplist, deplist2, zone);
109 client_printf_err(sockfd,
"[%s] error calloc(keylist_size)", scmd);
110 free_all(key_list, keylist, deplist, deplist2, zone);
113 for (i = 0; i < keylist_size; i++) {
123 client_printf_err(sockfd,
"[%s] error key_data_list cache", scmd);
124 free_all(key_list, keylist, deplist, deplist2, zone);
135 if (deplist2_size > 0)
137 for (i = 1; i < deplist2_size; i++)
142 for (i = 0; i < keylist_size; i++) {
145 for (j = 0; j<4; j++) {
159 zone_key_purgable = 1;
163 client_printf (sockfd,
"deleting key: %s\n",
174 ods_log_error(
"[%s] key_state_delete() || key_data_delete() || hsm_key_factory_release_key() failed", scmd);
175 client_printf_err(sockfd,
"[%s] key_state_delete() || key_data_delete() || hsm_key_factory_release_key() failed", scmd);
176 free_all(key_list, keylist, deplist, deplist2, zone);
181 for (j = 0; j < deplist2_size; j++) {
182 if (!deplist2[j])
continue;
186 client_printf_err(sockfd,
"[%s] cmp deplist from failed", scmd);
194 client_printf_err(sockfd,
"[%s] key_dependency_delete() failed", scmd);
201 if (zone_key_purgable == 0)
202 client_printf (sockfd,
"No keys to purge for %s \n",
zone_name(zone));
204 free_all(key_list, keylist, deplist, deplist2, zone);
zone_list_t * policy_zone_list(policy_t *policy)
int key_dependency_delete(key_dependency_t *key_dependency)
int key_state_delete(key_state_t *key_state)
const char * policy_name(const policy_t *policy)
void ods_log_info(const char *format,...)
const db_value_t * key_data_id(const key_data_t *key_data)
key_data_list_t * zone_get_keys(const zone_t *zone)
const hsm_key_t * key_data_cached_hsm_key(const key_data_t *key_data)
size_t key_data_list_size(key_data_list_t *key_data_list)
void ods_log_error(const char *format,...)
key_dependency_list_t * zone_get_key_dependencies(const zone_t *zone)
key_data_t * key_data_list_get_next(key_data_list_t *key_data_list)
void zone_free(zone_t *zone)
unsigned int key_data_introducing(const key_data_t *key_data)
const key_state_t * key_data_cached_rrsigdnskey(key_data_t *key_data)
int db_value_cmp(const db_value_t *value_a, const db_value_t *value_b, int *result)
void key_dependency_list_free(key_dependency_list_t *key_dependency_list)
void key_dependency_free(key_dependency_t *key_dependency)
const db_value_t * key_dependency_from_key_data_id(const key_dependency_t *key_dependency)
int key_data_cache_key_states(key_data_t *key_data)
int policy_retrieve_zone_list(policy_t *policy)
const char * hsm_key_locator(const hsm_key_t *hsm_key)
size_t zone_list_size(zone_list_t *zone_list)
zone_t * zone_new_copy(const zone_t *zone)
const char * zone_name(const zone_t *zone)
size_t key_dependency_list_size(key_dependency_list_t *key_dependency_list)
zone_t * zone_list_get_next(zone_list_t *zone_list)
const key_state_t * key_data_cached_rrsig(key_data_t *key_data)
key_dependency_t * key_dependency_list_get_next(key_dependency_list_t *key_dependency_list)
const key_state_t * key_data_cached_ds(key_data_t *key_data)
int key_data_cache_hsm_key(key_data_t *key_data)
void key_data_list_free(key_data_list_t *key_data_list)
key_dependency_t * key_dependency_list_get_begin(key_dependency_list_t *key_dependency_list)
const key_state_t * key_data_cached_dnskey(key_data_t *key_data)
void key_data_free(key_data_t *key_data)
const db_value_t * hsm_key_id(const hsm_key_t *hsm_key)
int key_data_delete(key_data_t *key_data)
int hsm_key_factory_release_key_id(const db_value_t *hsm_key_id, const db_connection_t *connection)
int removeDeadKeysNow(int sockfd, db_connection_t *dbconn, policy_t *policy, zone_t *rzone)
key_data_t * key_data_list_get_begin(key_data_list_t *key_data_list)