28#include "cmdhandler.h"
32#include "clientpipe.h"
33#include "longgetopt.h"
39static const char *module_str =
"policy_purge_cmd";
53 "This command will remove any policies from the database which have no\n"
54 "associated zones. Use with caution.\n\n"
59run(cmdhandler_ctx_type* context,
int argc,
char* argv[])
61 int sockfd = context->sockfd;
70 client_printf(sockfd,
"Purging policies\n");
80 client_printf(sockfd,
"Error fetching zones\n");
86 ods_log_info(
"[%s] No zones on policy %s; purging...", module_str, name);
87 client_printf(sockfd,
"No zones on policy %s; purging...\n", name);
89 ods_log_crit(
"[%s] Error while purging policy from database", module_str);
90 client_printf(sockfd,
"Error while updating database\n");
101 "policy purge", &usage, &help, NULL, NULL, &run, NULL
db_connection_t * getconnectioncontext(cmdhandler_ctx_type *context)
zone_list_db_t * policy_zone_list(policy_t *policy)
void policy_list_free(policy_list_t *policy_list)
policy_list_t * policy_list_new_get(const db_connection_t *connection)
const char * policy_name(const policy_t *policy)
int policy_retrieve_zone_list(policy_t *policy)
policy_t * policy_list_get_next(policy_list_t *policy_list)
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)