OpenDNSSEC-enforcer  1.4.5
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 CountKeysInState(int keytype, int keystate, int* count, int zone_id);
96 int ChangeKeyState(int keytype, const char *cka_id, int zone_id, int policy_id, const char *datetime, int key_state);
97 int get_conf_key_info(int* interval, int* man_key_gen);
98 int LinkKeys(const char* zone_name, int policy_id);
99 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);
100 int keyRoll(int zone_id, int policy_id, int key_type);
102 int append_zone(xmlDocPtr doc, KSM_ZONE *zone);
103 int ShellQuoteString(const char* string, char* buffer, size_t buflen);
104 int rename_signconf(const char* zonelist_filename, const char* o_zone);
105 int ListDS(int zone_id);
106 
107 #ifdef __cplusplus
108 }
109 #endif
110 
111 #endif /* KSM_UTIL_H */
sqlite3 * DB_HANDLE
Definition: database.h:77
void SetPolicyDefaults(KSM_POLICY *policy, char *name)
Definition: ksmutil.c:5649
void list_zone_node(const char *docname, int *zone_ids)
Definition: ksmutil.c:6213
int db_connect(DB_HANDLE *dbhandle, FILE **lock_fd, int backup)
Definition: ksmutil.c:4152
int get_conf_key_info(int *interval, int *man_key_gen)
Definition: ksmutil.c:8645
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:7867
int get_db_details(char **dbschema, char **host, char **port, char **user, char **password)
Definition: ksmutil.c:5799
int SetParamOnPolicy(const xmlChar *new_value, const char *name, const char *category, int current_value, int policy_id, int value_type)
Definition: ksmutil.c:5552
void ksm_log_msg(const char *format)
Definition: daemon_util.c:313
void db_disconnect(FILE *lock_fd)
Definition: ksmutil.c:4248
int release_lite_lock(FILE *lock_fd)
Definition: daemon_util.c:1176
int read_filenames(char **zone_list_filename, char **kasp_filename)
Definition: ksmutil.c:4336
int get_lite_lock(char *lock_filename, FILE *lock_fd)
Definition: daemon_util.c:1142
int get_policy_name_from_id(KSM_ZONE *zone)
Definition: ksmutil.c:9212
int ShellQuoteString(const char *string, char *buffer, size_t buflen)
Definition: ksmutil.c:9308
int append_policy(xmlDocPtr doc, KSM_POLICY *policy)
Definition: ksmutil.c:6283
int LinkKeys(const char *zone_name, int policy_id)
Definition: ksmutil.c:8750
int printKey(void *context, KSM_KEYDATA *key_data)
Definition: ksmutil.c:6496
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:6104
int cmd_delkey()
Definition: ksmutil.c:7535
int ChangeKeyState(int keytype, const char *cka_id, int zone_id, int policy_id, const char *datetime, int key_state)
Definition: ksmutil.c:8396
int update_zones(char *zone_list_filename)
Definition: ksmutil.c:5198
int GetKeyState(const char *cka_id, int *temp_key_state, int *temp_keypair_id)
Definition: ksmutil.c:8025
int update_repositories()
Definition: ksmutil.c:4446
char * o_zone
Definition: ksmutil.c:114
int fix_file_perms(const char *dbschema)
Definition: ksmutil.c:7655
xmlDocPtr del_zone_node(const char *docname, const char *zone_name)
Definition: ksmutil.c:6159
int RetireOldKey(int zone_id, int policy_id, const char *datetime)
Definition: ksmutil.c:8224
int backup_file(const char *orig_file, const char *backup_file)
Definition: ksmutil.c:5731
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:1242
int PurgeKeys(int zone_id, int policy_id)
Definition: ksmutil.c:6870
int keyRoll(int zone_id, int policy_id, int key_type)
Definition: ksmutil.c:8989
int rename_signconf(const char *zonelist_filename, const char *o_zone)
Definition: ksmutil.c:9331
int ListKeys(int zone_id)
Definition: ksmutil.c:6537
int append_zone(xmlDocPtr doc, KSM_ZONE *zone)
Definition: ksmutil.c:9254
int ListDS(int zone_id)
Definition: ksmutil.c:9424
int CountKeysInState(int keytype, int keystate, int *count, int zone_id)
Definition: ksmutil.c:8341
int MarkDSSeen(int keypair_id, int zone_id, int policy_id, const char *datetime, int key_state)
Definition: ksmutil.c:8099
int cmd_genkeys()
Definition: ksmutil.c:7038
Definition: ksm.h:281
int update_policies(char *kasp_filename)
Definition: ksmutil.c:4551
int read_zonelist_filename(char **zone_list_filename)
Definition: ksmutil.c:6026
xmlDocPtr del_policy_node(const char *docname, const char *policy_name)
Definition: ksmutil.c:6452