00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef KSM_UTIL_H
00030 #define KSM_UTIL_H
00031
00032
00033
00034
00035
00036
00037
00038 #include <stdio.h>
00039 #include <ksm/ksm.h>
00040 #include <ksm/database.h>
00041 #include <libxml/xpath.h>
00042 #include <inttypes.h>
00043
00044 #ifdef __cplusplus
00045 extern "C" {
00046 #endif
00047
00048
00049 int db_connect(DB_HANDLE *dbhandle, FILE** lock_fd, int backup);
00050 void db_disconnect(FILE* lock_fd);
00051 int read_filenames(char** zone_list_filename, char** kasp_filename);
00052 int update_repositories();
00053 int update_policies(char* kasp_filename);
00054 int update_zones(char* zone_list_filename);
00055 int get_lite_lock(char *lock_filename, FILE* lock_fd);
00056 int release_lite_lock(FILE* lock_fd);
00057 int SetParamOnPolicy(const xmlChar* new_value,
00058 const char* name,
00059 const char* category,
00060 int current_value,
00061 int policy_id,
00062 int value_type);
00063 void SetPolicyDefaults(KSM_POLICY *policy, char *name);
00064 int backup_file(const char* orig_file, const char* backup_file);
00065 int get_db_details(char** dbschema,
00066 char** host,
00067 char** port,
00068 char** user,
00069 char** password);
00070 int read_zonelist_filename(char** zone_list_filename);
00071 xmlDocPtr add_zone_node(const char *docname,
00072 const char *zone_name,
00073 const char *policy_name,
00074 const char *sig_conf_name,
00075 const char *input_name,
00076 const char *output_name);
00077 xmlDocPtr del_zone_node(const char *docname,
00078 const char *zone_name);
00079 void list_zone_node(const char *docname, int *zone_ids);
00080 xmlDocPtr del_policy_node(const char *docname,
00081 const char *policy_name);
00082 int append_policy(xmlDocPtr doc, KSM_POLICY *policy);
00083 int printKey(void* context, KSM_KEYDATA* key_data);
00084 void ksm_log_msg(const char *format);
00085 int ListKeys(int zone_id);
00086 int PurgeKeys(int zone_id, int policy_id);
00087 int cmd_genkeys();
00088 void SetPolicyDefaults(KSM_POLICY *policy, char *name);
00089 int fix_file_perms(const char *dbschema);
00090 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);
00091 int MarkDSSeen(int keypair_id, int zone_id, int policy_id, const char *datetime, int key_state);
00092 int RetireOldKey(int zone_id, int policy_id, const char *datetime);
00093 int CountKeysInState(int keytype, int keystate, int* count, int zone_id);
00094 int ChangeKeyState(int keytype, const char *cka_id, int zone_id, int policy_id, const char *datetime, int key_state);
00095 int get_conf_key_info(int* interval, int* man_key_gen);
00096 int LinkKeys(const char* zone_name, int policy_id);
00097 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);
00098 int keyRoll(int zone_id, int policy_id, int key_type);
00099 int get_policy_name_from_id(KSM_ZONE *zone);
00100 int append_zone(xmlDocPtr doc, KSM_ZONE *zone);
00101 int ShellQuoteString(const char* string, char* buffer, size_t buflen);
00102
00103 #ifdef __cplusplus
00104 }
00105 #endif
00106
00107 #endif