OpenDNSSEC-enforcer  1.4.9
ksmutil.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008-2009 Nominet UK. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
14  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
17  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
19  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
21  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
22  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
23  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  *
25  */
26 
27 #ifndef KSM_UTIL_H
28 #define KSM_UTIL_H
29 
30 /*+
31  * Filename: ksmutil.h
32  *
33  * Description:
34  * function definitions of stuff in the ksmutil code.
35 -*/
36 #include <stdio.h>
37 #include <ksm/ksm.h>
38 #include <ksm/database.h>
39 #include <libxml/xpath.h>
40 #include <inttypes.h>
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 /* Function definitions */
47 int db_connect(DB_HANDLE *dbhandle, FILE** lock_fd, int backup);
48 void db_disconnect(FILE* lock_fd);
49 int read_filenames(char** zone_list_filename, char** kasp_filename);
51 int update_policies(char* kasp_filename);
52 int update_zones(char* zone_list_filename);
53 int get_lite_lock(char *lock_filename, FILE* lock_fd);
54 int release_lite_lock(FILE* lock_fd);
55 int SetParamOnPolicy(const xmlChar* new_value,
56  const char* name,
57  const char* category,
58  int current_value,
59  int policy_id,
60  int value_type);
61 void SetPolicyDefaults(KSM_POLICY *policy, char *name);
62 int backup_file(const char* orig_file, const char* backup_file);
63 int get_db_details(char** dbschema,
64  char** host,
65  char** port,
66  char** user,
67  char** password);
68 int read_zonelist_filename(char** zone_list_filename);
69 xmlDocPtr add_zone_node(const char *docname,
70  const char *zone_name,
71  const char *policy_name,
72  const char *sig_conf_name,
73  const char *input_name,
74  const char *output_name,
75  const char *input_type,
76  const char *output_type);
77 xmlDocPtr del_zone_node(const char *docname,
78  const char *zone_name);
79 void list_zone_node(const char *docname, int *zone_ids);
80 xmlDocPtr del_policy_node(const char *docname,
81  const char *policy_name);
82 int append_policy(xmlDocPtr doc, KSM_POLICY *policy);
83 int printKey(void* context, KSM_KEYDATA* key_data);
84 void ksm_log_msg(const char *format);
85 int ListKeys(int zone_id);
86 int PurgeKeys(int zone_id, int policy_id);
87 int cmd_genkeys();
88 int cmd_delkey();
89 void SetPolicyDefaults(KSM_POLICY *policy, char *name);
90 int fix_file_perms(const char *dbschema);
91 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);
92 int GetKeyState(const char *cka_id, int *temp_key_state, int *temp_keypair_id);
93 int MarkDSSeen(int keypair_id, int zone_id, int policy_id, const char *datetime, int key_state);
94 int RetireOldKey(int zone_id, int policy_id, const char *datetime);
95 int RevokeOldKey(int zone_id, int policy_id, const char *datetime);
96 int CountKeysInState(int keytype, int keystate, int* count, int zone_id);
97 int ChangeKeyState(int keytype, const char *cka_id, int zone_id, int policy_id, const char *datetime, int key_state);
98 int get_conf_key_info(int* interval, int* man_key_gen);
99 int LinkKeys(const char* zone_name, int policy_id);
100 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);
101 int keyRoll(int zone_id, int policy_id, int key_type);
103 int append_zone(xmlDocPtr doc, KSM_ZONE *zone);
104 int ShellQuoteString(const char* string, char* buffer, size_t buflen);
105 int rename_signconf(const char* zonelist_filename, const char* o_zone);
106 int ListDS(int zone_id);
107 
108 #ifdef __cplusplus
109 }
110 #endif
111 
112 #endif /* KSM_UTIL_H */
sqlite3 * DB_HANDLE
Definition: database.h:77
void SetPolicyDefaults(KSM_POLICY *policy, char *name)
Definition: ksmutil.c:5950
void list_zone_node(const char *docname, int *zone_ids)
Definition: ksmutil.c:6514
int db_connect(DB_HANDLE *dbhandle, FILE **lock_fd, int backup)
Definition: ksmutil.c:4453
int get_conf_key_info(int *interval, int *man_key_gen)
Definition: ksmutil.c:9038
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:8178
int get_db_details(char **dbschema, char **host, char **port, char **user, char **password)
Definition: ksmutil.c:6100
int SetParamOnPolicy(const xmlChar *new_value, const char *name, const char *category, int current_value, int policy_id, int value_type)
Definition: ksmutil.c:5853
void ksm_log_msg(const char *format)
Definition: daemon_util.c:313
void db_disconnect(FILE *lock_fd)
Definition: ksmutil.c:4549
int release_lite_lock(FILE *lock_fd)
Definition: daemon_util.c:1203
int read_filenames(char **zone_list_filename, char **kasp_filename)
Definition: ksmutil.c:4637
int get_lite_lock(char *lock_filename, FILE *lock_fd)
Definition: daemon_util.c:1169
int get_policy_name_from_id(KSM_ZONE *zone)
Definition: ksmutil.c:9607
int ShellQuoteString(const char *string, char *buffer, size_t buflen)
Definition: ksmutil.c:9703
int RevokeOldKey(int zone_id, int policy_id, const char *datetime)
Definition: ksmutil.c:8635
int append_policy(xmlDocPtr doc, KSM_POLICY *policy)
Definition: ksmutil.c:6584
int LinkKeys(const char *zone_name, int policy_id)
Definition: ksmutil.c:9143
int printKey(void *context, KSM_KEYDATA *key_data)
Definition: ksmutil.c:6797
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:6405
int cmd_delkey()
Definition: ksmutil.c:7846
int ChangeKeyState(int keytype, const char *cka_id, int zone_id, int policy_id, const char *datetime, int key_state)
Definition: ksmutil.c:8794
int update_zones(char *zone_list_filename)
Definition: ksmutil.c:5499
int GetKeyState(const char *cka_id, int *temp_key_state, int *temp_keypair_id)
Definition: ksmutil.c:8336
int update_repositories()
Definition: ksmutil.c:4747
char * o_zone
Definition: ksmutil.c:115
int fix_file_perms(const char *dbschema)
Definition: ksmutil.c:7966
xmlDocPtr del_zone_node(const char *docname, const char *zone_name)
Definition: ksmutil.c:6460
int RetireOldKey(int zone_id, int policy_id, const char *datetime)
Definition: ksmutil.c:8530
int backup_file(const char *orig_file, const char *backup_file)
Definition: ksmutil.c:6032
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:1254
int PurgeKeys(int zone_id, int policy_id)
Definition: ksmutil.c:7181
int keyRoll(int zone_id, int policy_id, int key_type)
Definition: ksmutil.c:9384
int rename_signconf(const char *zonelist_filename, const char *o_zone)
Definition: ksmutil.c:9726
int ListKeys(int zone_id)
Definition: ksmutil.c:6838
int append_zone(xmlDocPtr doc, KSM_ZONE *zone)
Definition: ksmutil.c:9649
int ListDS(int zone_id)
Definition: ksmutil.c:9819
int CountKeysInState(int keytype, int keystate, int *count, int zone_id)
Definition: ksmutil.c:8739
int MarkDSSeen(int keypair_id, int zone_id, int policy_id, const char *datetime, int key_state)
Definition: ksmutil.c:8410
int cmd_genkeys()
Definition: ksmutil.c:7349
Definition: ksm.h:286
int update_policies(char *kasp_filename)
Definition: ksmutil.c:4852
int read_zonelist_filename(char **zone_list_filename)
Definition: ksmutil.c:6327
xmlDocPtr del_policy_node(const char *docname, const char *policy_name)
Definition: ksmutil.c:6753