5 #include "clientpipe.h" 11 static const char *module_str =
"policy_purge_cmd";
25 "This command will remove any policies from the database which have no\n" 26 "associated zones. Use with caution.\n\n" 31 handles(
const char *cmd, ssize_t n)
52 client_printf(sockfd,
"Purging policies\n");
55 if (!policy_list)
return 1;
62 client_printf(sockfd,
"Error fetching zones\n");
68 ods_log_info(
"[%s] No zones on policy %s; purging...", module_str, name);
69 client_printf(sockfd,
"No zones on policy %s; purging...\n", name);
71 ods_log_crit(
"[%s] Error while purging policy from database", module_str);
72 client_printf(sockfd,
"Error while updating database\n", name);
86 (void)cmd; (void)n; (void)engine;
89 if (!dbconn)
return 1;
90 return purge_policies(sockfd, dbconn);
zone_list_t * policy_zone_list(policy_t *policy)
void policy_list_free(policy_list_t *policy_list)
void ods_log_debug(const char *format,...)
const char * policy_name(const policy_t *policy)
int policy_delete(policy_t *policy)
void ods_log_info(const char *format,...)
int(* run)(int sockfd, struct engine_struct *engine, const char *cmd, ssize_t n, db_connection_t *dbconn)
void(* usage)(int sockfd)
void ods_log_crit(const char *format,...)
policy_t * policy_list_get_next(policy_list_t *policy_list)
void policy_free(policy_t *policy)
int policy_retrieve_zone_list(policy_t *policy)
size_t zone_list_size(zone_list_t *zone_list)
policy_list_t * policy_list_new_get(const db_connection_t *connection)
struct cmd_func_block * policy_purge_funcblock(void)
int(* handles)(const char *cmd, ssize_t n)