2 #include "cmdhandler.h"
6 #include "clientpipe.h"
12 static const char *module_str =
"policy_purge_cmd";
26 "This command will remove any policies from the database which have no\n"
27 "associated zones. Use with caution.\n\n"
47 client_printf(sockfd,
"Purging policies\n");
57 client_printf(sockfd,
"Error fetching zones\n");
63 ods_log_info(
"[%s] No zones on policy %s; purging...", module_str, name);
64 client_printf(sockfd,
"No zones on policy %s; purging...\n", name);
66 ods_log_crit(
"[%s] Error while purging policy from database", module_str);
67 client_printf(sockfd,
"Error while updating database\n", name);
78 run(
int sockfd, cmdhandler_ctx_type* context,
const char *cmd)
85 return purge_policies(sockfd, dbconn);
89 "policy purge", &usage, &help, NULL, &run
db_connection_t * getconnectioncontext(cmdhandler_ctx_type *context)
engine_type * getglobalcontext(cmdhandler_ctx_type *context)
const char * policy_name(const policy_t *policy)
policy_t * policy_list_get_next(policy_list_t *policy_list)
void policy_list_free(policy_list_t *policy_list)
policy_list_t * policy_list_new_get(const db_connection_t *connection)
int policy_retrieve_zone_list(policy_t *policy)
zone_list_db_t * policy_zone_list(policy_t *policy)
int policy_delete(policy_t *policy)
void policy_free(policy_t *policy)
struct cmd_func_block policy_purge_funcblock
size_t zone_list_db_size(zone_list_db_t *zone_list)