84 int KsmKeyPairCreate(
int policy_id,
const char* HSMKeyID,
int smID,
int size,
int alg,
const char* generate,
DB_ID*
id)
95 sql =
DisSpecifyInit(
"keypairs",
"policy_id, HSMkey_id, securitymodule_id, size, algorithm, generate");
146 char* columns = NULL;
153 StrAppend(&columns,
"zone_id, keypair_id, keytype, state");
260 switch (condition[i].code) {
263 condition[i].data.
number, i);
268 condition[i].data.
number, i);
273 condition[i].data.
number, i);
278 condition[i].data.
number, i);
283 condition[i].data.
number, i);
508 status =
KsmKey(result, data);
562 int KsmKeyPredict(
int policy_id,
int keytype,
int shared_keys,
int interval,
int *count,
int rollover_scheme,
int zone_count)
573 if (zone_count == 0) {
622 *count *= zone_count;
663 nchar = snprintf(in,
sizeof(in),
"(%d, %d, %d, %d, %d, %d, %d)",
665 if (nchar >=
sizeof(in)) {
732 int KsmKeyCountStillGood(
int policy_id,
int sm,
int bits,
int algorithm,
int interval,
const char* datetime,
int *count,
int keytype)
767 nchar = snprintf(in,
sizeof(in),
"(%d, %d, %d, %d, %d, %d, %d)",
769 if (nchar >=
sizeof(in)) {
778 nchar = snprintf(buffer,
sizeof(buffer),
779 "DATE_ADD('%s', INTERVAL %d SECOND)", datetime, total_interval);
781 nchar = snprintf(buffer,
sizeof(buffer),
782 "DATETIME('%s', '+%d SECONDS')", datetime, total_interval);
784 if (nchar >=
sizeof(buffer)) {
792 sql =
StrStrdup(
"SELECT COUNT(DISTINCT location) FROM KEYDATA_VIEW");
793 if (policy_id != -1) {
802 if (algorithm != -1) {
813 StrAppend(&sql,
" and (DATETIME(RETIRE) > ");
870 int KsmKeyGetUnallocated(
int policy_id,
int sm,
int bits,
int algorithm,
int zone_id,
int share_keys,
int *keypair_id)
890 snprintf(in_sql, 1024,
"(select id from KEYALLOC_VIEW where zone_id = %d)", zone_id);
891 snprintf(in_sql2, 1024,
"(select distinct id from KEYDATA_VIEW where policy_id = %d and state in (%d, %d))", policy_id,
KSM_STATE_RETIRE,
KSM_STATE_DEAD);
919 else if (status == -1) {}
968 status =
KsmKey(result, &data);
969 while (status == 0) {
974 status =
KsmKey(result, &data);
1017 printf(
"Couldn't turn \"now\" into a date, quitting...\n");
1025 if (zone_id != -1) {
void DbFreeResult(DB_RESULT result)
#define DB_KEYDATA_ACTIVE
char ready[KSM_TIME_LENGTH]
char dead[KSM_TIME_LENGTH]
#define DB_KEYDATA_PUBLISH
int DbFetchRow(DB_RESULT result, DB_ROW *row)
int KsmKeyCountStillGood(int policy_id, int sm, int bits, int algorithm, int interval, const char *datetime, int *count, int keytype)
union DQS_QUERY_CONDITION::@0 data
char * DqsSpecifyInit(const char *table, const char *fields)
char location[KSM_NAME_LENGTH]
int KsmKillKey(int keypair_id, int zone_id)
int KsmParameterZskTtl(KSM_PARCOLL *collection)
int KsmParameterCollection(KSM_PARCOLL *data, int policy_id)
#define KSM_KEYS_NOT_SHARED
char retire[KSM_TIME_LENGTH]
void DqsConditionKeyword(char **query, const char *field, DQS_COMPARISON compare, const char *value, int index)
char * DisSpecifyInit(const char *table, const char *cols)
#define DB_KEYDATA_ZONE_ID
int MsgLog(int status,...)
int KsmKeyPairCreate(int policy_id, const char *HSMKeyID, int smID, int size, int alg, const char *generate, DB_ID *id)
void DusSetInt(char **sql, const char *field, int data, int clause)
void DqsFree(char *query)
int KsmParameterKskTtl(KSM_PARCOLL *collection)
void DusConditionInt(char **query, const char *field, DQS_COMPARISON compare, int value, int clause)
const char * KsmKeywordStateValueToName(int value)
char * DqsCountInit(const char *table)
int KsmMarkKeysAsDead(int zone_id)
int KsmParameterKskPropagationDelay(KSM_PARCOLL *collection)
char * StrStrdup(const char *string)
int KsmKeyPredict(int policy_id, int keytype, int shared_keys, int interval, int *count, int rollover_scheme, int zone_count)
void DqsConditionInt(char **query, const char *field, DQS_COMPARISON compare, int value, int index)
char * DtParseDateTimeString(const char *string)
#define KSM_STATE_DSPUBLISH
int DbLastRowId(DB_HANDLE handle, DB_ID *id)
int KsmKeyInitSql(DB_RESULT *result, const char *sql)
#define DB_KEYDATA_FIELDS
const char * DbErrmsg(DB_HANDLE handle)
void DisAppendString(char **sql, const char *what)
#define DB_KEYDATA_FIXED_DATE
void DbFreeRow(DB_ROW row)
int KsmParameterPropagationDelay(KSM_PARCOLL *collection)
int KsmKeyCountQueue(int keytype, int *count, int zone_id)
#define DB_KEYDATA_GENERATE
int DbExecuteSql(DB_HANDLE handle, const char *stmt_str, DB_RESULT *result)
int DbStringBuffer(DB_ROW row, int field_index, char *buffer, size_t buflen)
int KsmKeyInitId(DB_RESULT *result, DB_ID id)
void StrAppend(char **str1, const char *str2)
int DbIntQuery(DB_HANDLE handle, int *value, const char *query)
int KsmKeyInit(DB_RESULT *result, DQS_QUERY_CONDITION *condition)
char generate[KSM_TIME_LENGTH]
#define KSM_STATE_PUBLISH
int DbUnsignedLong(DB_ROW row, int field_index, unsigned long *value)
char * DusInit(const char *table)
int KsmParameterPubSafety(KSM_PARCOLL *collection)
int KsmDnssecKeyCreate(int zone_id, int keypair_id, int keytype, int state, const char *time, const char *retTime, DB_ID *id)
int KsmKeyGetUnallocated(int policy_id, int sm, int bits, int algorithm, int zone_id, int share_keys, int *keypair_id)
#define DB_KEYDATA_RETIRE
#define DB_KEYDATA_KEYTYPE
int KsmKeyData(DB_ID id, KSM_KEYDATA *data)
char publish[KSM_TIME_LENGTH]
int DbInt(DB_ROW row, int field_index, int *value)
void DisAppendInt(char **sql, int what)
#define DB_KEYDATA_ALGORITHM
#define KSM_STATE_DSREADY
int KsmKey(DB_RESULT result, KSM_KEYDATA *data)
#define KSM_STATE_GENERATE
void DusSetString(char **sql, const char *field, const char *data, int clause)
void DqsEnd(char **query)
int DbExecuteSqlNoResult(DB_HANDLE handle, const char *stmt_str)
void KsmKeyEnd(DB_RESULT result)
#define DB_KEYDATA_LOCATION
char active[KSM_TIME_LENGTH]