OpenDNSSEC-enforcer  1.4.1
ksmutil.h
Go to the documentation of this file.
1 /*
2  * $Id: ksmutil.h 6291 2012-04-26 14:35:16Z sion $
3  *
4  * Copyright (c) 2008-2009 Nominet UK. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
19  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
21  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
23  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
25  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  *
27  */
28 
29 #ifndef KSM_UTIL_H
30 #define KSM_UTIL_H
31 
32 /*+
33  * Filename: ksmutil.h
34  *
35  * Description:
36  * function definitions of stuff in the ksmutil code.
37 -*/
38 #include <stdio.h>
39 #include <ksm/ksm.h>
40 #include <ksm/database.h>
41 #include <libxml/xpath.h>
42 #include <inttypes.h>
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 /* Function definitions */
49 int db_connect(DB_HANDLE *dbhandle, FILE** lock_fd, int backup);
50 void db_disconnect(FILE* lock_fd);
51 int read_filenames(char** zone_list_filename, char** kasp_filename);
53 int update_policies(char* kasp_filename);
54 int update_zones(char* zone_list_filename);
55 int get_lite_lock(char *lock_filename, FILE* lock_fd);
56 int release_lite_lock(FILE* lock_fd);
57 int SetParamOnPolicy(const xmlChar* new_value,
58  const char* name,
59  const char* category,
60  int current_value,
61  int policy_id,
62  int value_type);
63 void SetPolicyDefaults(KSM_POLICY *policy, char *name);
64 int backup_file(const char* orig_file, const char* backup_file);
65 int get_db_details(char** dbschema,
66  char** host,
67  char** port,
68  char** user,
69  char** password);
70 int read_zonelist_filename(char** zone_list_filename);
71 xmlDocPtr add_zone_node(const char *docname,
72  const char *zone_name,
73  const char *policy_name,
74  const char *sig_conf_name,
75  const char *input_name,
76  const char *output_name,
77  const char *input_type,
78  const char *output_type);
79 xmlDocPtr del_zone_node(const char *docname,
80  const char *zone_name);
81 void list_zone_node(const char *docname, int *zone_ids);
82 xmlDocPtr del_policy_node(const char *docname,
83  const char *policy_name);
84 int append_policy(xmlDocPtr doc, KSM_POLICY *policy);
85 int printKey(void* context, KSM_KEYDATA* key_data);
86 void ksm_log_msg(const char *format);
87 int ListKeys(int zone_id);
88 int PurgeKeys(int zone_id, int policy_id);
89 int cmd_genkeys();
90 int cmd_delkey();
91 void SetPolicyDefaults(KSM_POLICY *policy, char *name);
92 int fix_file_perms(const char *dbschema);
93 int CountKeys(int *zone_id, int keytag, const char *cka_id, int *key_count, char **temp_cka_id, int *temp_key_state, int *temp_keypair_id);
94 int GetKeyState(const char *cka_id, int *temp_key_state, int *temp_keypair_id);
95 int MarkDSSeen(int keypair_id, int zone_id, int policy_id, const char *datetime, int key_state);
96 int RetireOldKey(int zone_id, int policy_id, const char *datetime);
97 int CountKeysInState(int keytype, int keystate, int* count, int zone_id);
98 int ChangeKeyState(int keytype, const char *cka_id, int zone_id, int policy_id, const char *datetime, int key_state);
99 int get_conf_key_info(int* interval, int* man_key_gen);
100 int LinkKeys(const char* zone_name, int policy_id);
101 int allocateKeysToZone(KSM_POLICY *policy, int key_type, int zone_id, uint16_t interval, const char* zone_name, int man_key_gen, int rollover_scheme);
102 int keyRoll(int zone_id, int policy_id, int key_type);
104 int append_zone(xmlDocPtr doc, KSM_ZONE *zone);
105 int ShellQuoteString(const char* string, char* buffer, size_t buflen);
106 int rename_signconf(const char* zonelist_filename, const char* o_zone);
107 int ListDS(int zone_id);
108 
109 #ifdef __cplusplus
110 }
111 #endif
112 
113 #endif /* KSM_UTIL_H */
sqlite3 * DB_HANDLE
Definition: database.h:79
void SetPolicyDefaults(KSM_POLICY *policy, char *name)
Definition: ksmutil.c:5545
void list_zone_node(const char *docname, int *zone_ids)
Definition: ksmutil.c:6109
int db_connect(DB_HANDLE *dbhandle, FILE **lock_fd, int backup)
Definition: ksmutil.c:4056
int get_conf_key_info(int *interval, int *man_key_gen)
Definition: ksmutil.c:8344
int CountKeys(int *zone_id, int keytag, const char *cka_id, int *key_count, char **temp_cka_id, int *temp_key_state, int *temp_keypair_id)
Definition: ksmutil.c:7569
int get_db_details(char **dbschema, char **host, char **port, char **user, char **password)
Definition: ksmutil.c:5695
int SetParamOnPolicy(const xmlChar *new_value, const char *name, const char *category, int current_value, int policy_id, int value_type)
Definition: ksmutil.c:5448
void db_disconnect(FILE *lock_fd)
Definition: ksmutil.c:4152
int read_filenames(char **zone_list_filename, char **kasp_filename)
Definition: ksmutil.c:4240
int get_policy_name_from_id(KSM_ZONE *zone)
Definition: ksmutil.c:8906
int ShellQuoteString(const char *string, char *buffer, size_t buflen)
Definition: ksmutil.c:9002
int read_zonelist_filename(const char *filename, char **zone_list_filename)
Definition: enforcer.c:1334
int append_policy(xmlDocPtr doc, KSM_POLICY *policy)
Definition: ksmutil.c:6179
int LinkKeys(const char *zone_name, int policy_id)
Definition: ksmutil.c:8449
int printKey(void *context, KSM_KEYDATA *key_data)
Definition: ksmutil.c:6388
xmlDocPtr add_zone_node(const char *docname, const char *zone_name, const char *policy_name, const char *sig_conf_name, const char *input_name, const char *output_name, const char *input_type, const char *output_type)
Definition: ksmutil.c:6000
int cmd_delkey()
Definition: ksmutil.c:7239
int ChangeKeyState(int keytype, const char *cka_id, int zone_id, int policy_id, const char *datetime, int key_state)
Definition: ksmutil.c:8095
int update_zones(char *zone_list_filename)
Definition: ksmutil.c:5094
int GetKeyState(const char *cka_id, int *temp_key_state, int *temp_keypair_id)
Definition: ksmutil.c:7724
int update_repositories()
Definition: ksmutil.c:4350
void ksm_log_msg(const char *format)
Definition: daemon_util.c:315
int release_lite_lock(FILE *lock_fd)
Definition: daemon_util.c:1172
char * o_zone
Definition: ksmutil.c:115
int fix_file_perms(const char *dbschema)
Definition: ksmutil.c:7357
xmlDocPtr del_zone_node(const char *docname, const char *zone_name)
Definition: ksmutil.c:6055
int RetireOldKey(int zone_id, int policy_id, const char *datetime)
Definition: ksmutil.c:7923
int backup_file(const char *orig_file, const char *backup_file)
Definition: ksmutil.c:5627
int PurgeKeys(int zone_id, int policy_id)
Definition: ksmutil.c:6633
int keyRoll(int zone_id, int policy_id, int key_type)
Definition: ksmutil.c:8683
int get_lite_lock(char *lock_filename, FILE *lock_fd)
Definition: daemon_util.c:1138
int rename_signconf(const char *zonelist_filename, const char *o_zone)
Definition: ksmutil.c:9025
int allocateKeysToZone(KSM_POLICY *policy, int key_type, int zone_id, uint16_t interval, const char *zone_name, int man_key_gen, int rollover_scheme)
Definition: enforcer.c:1211
int ListKeys(int zone_id)
Definition: ksmutil.c:6429
int append_zone(xmlDocPtr doc, KSM_ZONE *zone)
Definition: ksmutil.c:8948
int ListDS(int zone_id)
Definition: ksmutil.c:9118
int CountKeysInState(int keytype, int keystate, int *count, int zone_id)
Definition: ksmutil.c:8040
int MarkDSSeen(int keypair_id, int zone_id, int policy_id, const char *datetime, int key_state)
Definition: ksmutil.c:7798
int cmd_genkeys()
Definition: ksmutil.c:6794
Definition: ksm.h:283
int update_policies(char *kasp_filename)
Definition: ksmutil.c:4455
xmlDocPtr del_policy_node(const char *docname, const char *policy_name)
Definition: ksmutil.c:6344