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;
60 ods_log_error(
"[%s] no dbconn", scmd);
61 client_printf_err(sockfd,
"[%s] no dbconn", scmd);
67 ods_log_error(
"[%s] Error fetching zones", 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_db_get_key_dependencies()", scmd);
91 client_printf_err(sockfd,
"%s: error zone_db_get_key_dependencies()", scmd);
92 free_all(key_list, keylist, deplist, deplist2, zone);
98 ods_log_error(
"[%s] error zone_db_get_keys()", scmd);
99 client_printf_err(sockfd,
"%s: error zone_db_get_keys()", scmd);
100 free_all(key_list, keylist, deplist, deplist2, zone);
108 ods_log_error(
"[%s] error calloc(keylist_size)", scmd);
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++) {
122 ods_log_error(
"[%s] error key_data_list cache", scmd);
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++) {
151 default: state = NULL;
160 zone_key_purgable = 1;
162 ods_log_info(
"[%s] deleting key: %s", scmd,
164 client_printf (sockfd,
"deleting key: %s\n",
177 ods_log_error(
"[%s] key_state_delete() || key_data_delete() || hsm_key_factory_release_key() failed", scmd);
178 client_printf_err(sockfd,
"[%s] key_state_delete() || key_data_delete() || hsm_key_factory_release_key() failed", scmd);
179 free_all(key_list, keylist, deplist, deplist2, zone);
184 for (j = 0; j < deplist2_size; j++) {
185 if (!deplist2[j])
continue;
188 ods_log_error(
"[%s] cmp deplist from failed", scmd);
189 client_printf_err(sockfd,
"[%s] cmp deplist from failed", scmd);
196 ods_log_error(
"[%s] key_dependency_delete() failed", scmd);
197 client_printf_err(sockfd,
"[%s] key_dependency_delete() failed", scmd);
204 if (zone_key_purgable == 0)
205 client_printf (sockfd,
"No keys to purge for %s \n",
zone_db_name(zone));
207 free_all(key_list, keylist, deplist, deplist2, zone);
void zone_db_free(zone_db_t *zone)
int key_dependency_delete(key_dependency_t *key_dependency)
zone_db_t * zone_db_new_copy(const zone_db_t *zone)
int key_state_delete(const key_state_t *key_state)
zone_db_t * zone_list_db_get_next(zone_list_db_t *zone_list)
key_data_list_t * zone_db_get_keys(const zone_db_t *zone)
const char * policy_name(const policy_t *policy)
const db_value_t * key_data_id(const key_data_t *key_data)
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)
key_data_t * key_data_list_get_next(key_data_list_t *key_data_list)
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)
const char * zone_db_name(const zone_db_t *zone)
int policy_retrieve_zone_list(policy_t *policy)
const char * hsm_key_locator(const hsm_key_t *hsm_key)
size_t key_dependency_list_size(key_dependency_list_t *key_dependency_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)
int removeDeadKeysNow(int sockfd, db_connection_t *dbconn, policy_t *policy, zone_db_t *rzone)
zone_list_db_t * policy_zone_list(policy_t *policy)
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)
key_dependency_list_t * zone_db_get_key_dependencies(const zone_db_t *zone)
void key_data_free(key_data_t *key_data)
const db_value_t * hsm_key_id(const hsm_key_t *hsm_key)
size_t zone_list_db_size(zone_list_db_t *zone_list)
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)
key_data_t * key_data_list_get_begin(key_data_list_t *key_data_list)