86 int KsmKeyPairCreate(
int policy_id,
const char* HSMKeyID,
int smID,
int size,
int alg,
const char* generate,
DB_ID*
id)
97 sql =
DisSpecifyInit(
"keypairs",
"policy_id, HSMkey_id, securitymodule_id, size, algorithm, generate");
148 char* columns = NULL;
155 StrAppend(&columns,
"zone_id, keypair_id, keytype, state");
262 switch (condition[i].code) {
265 condition[i].data.
number, i);
270 condition[i].data.
number, i);
275 condition[i].data.
number, i);
280 condition[i].data.
number, i);
285 condition[i].data.
number, i);
510 status =
KsmKey(result, data);
564 int KsmKeyPredict(
int policy_id,
int keytype,
int shared_keys,
int interval,
int *count,
int rollover_scheme,
int zone_count)
575 if (zone_count == 0) {
624 *count *= zone_count;
665 nchar = snprintf(in,
sizeof(in),
"(%d, %d, %d, %d, %d, %d, %d)",
667 if (nchar >=
sizeof(in)) {
734 int KsmKeyCountStillGood(
int policy_id,
int sm,
int bits,
int algorithm,
int interval,
const char* datetime,
int *count,
int keytype)
769 nchar = snprintf(in,
sizeof(in),
"(%d, %d, %d, %d, %d, %d, %d)",
771 if (nchar >=
sizeof(in)) {
780 nchar = snprintf(buffer,
sizeof(buffer),
781 "DATE_ADD('%s', INTERVAL %d SECOND)", datetime, total_interval);
783 nchar = snprintf(buffer,
sizeof(buffer),
784 "DATETIME('%s', '+%d SECONDS')", datetime, total_interval);
786 if (nchar >=
sizeof(buffer)) {
794 if (policy_id != -1) {
803 if (algorithm != -1) {
814 StrAppend(&sql,
" and (DATETIME(RETIRE) > ");
871 int KsmKeyGetUnallocated(
int policy_id,
int sm,
int bits,
int algorithm,
int zone_id,
int share_keys,
int *keypair_id)
891 snprintf(in_sql, 1024,
"(select id from KEYALLOC_VIEW where zone_id = %d)", zone_id);
892 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);
920 else if (status == -1) {}
969 status =
KsmKey(result, &data);
970 while (status == 0) {
975 status =
KsmKey(result, &data);
1018 printf(
"Couldn't turn \"now\" into a date, quitting...\n");
1026 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)
union DQS_QUERY_CONDITION::@0 data
char * DqsSpecifyInit(const char *table, const char *fields)
char location[KSM_NAME_LENGTH]
int KsmKeyCountQueue(int keytype, int *count, 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)
int KsmKeyPairCreate(int policy_id, const char *HSMKeyID, int smID, int size, int alg, const char *generate, DB_ID *id)
char * DisSpecifyInit(const char *table, const char *cols)
#define DB_KEYDATA_ZONE_ID
int MsgLog(int status,...)
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 KsmKeyInitId(DB_RESULT *result, DB_ID id)
int KsmParameterKskPropagationDelay(KSM_PARCOLL *collection)
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 KsmKey(DB_RESULT result, KSM_KEYDATA *data)
int KsmParameterPropagationDelay(KSM_PARCOLL *collection)
#define DB_KEYDATA_GENERATE
int KsmKeyPredict(int policy_id, int keytype, int shared_keys, int interval, int *count, int rollover_scheme, int zone_count)
int KsmMarkKeysAsDead(int zone_id)
int KsmDnssecKeyCreate(int zone_id, int keypair_id, int keytype, int state, const char *time, const char *retTime, DB_ID *id)
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 KsmKeyInit(DB_RESULT *result, DQS_QUERY_CONDITION *condition)
void StrAppend(char **str1, const char *str2)
int DbIntQuery(DB_HANDLE handle, int *value, const char *query)
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 KsmKeyGetUnallocated(int policy_id, int sm, int bits, int algorithm, int zone_id, int share_keys, int *keypair_id)
int KsmKeyData(DB_ID id, KSM_KEYDATA *data)
#define DB_KEYDATA_RETIRE
#define DB_KEYDATA_KEYTYPE
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
void KsmKeyEnd(DB_RESULT result)
#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)
int KsmKeyCountStillGood(int policy_id, int sm, int bits, int algorithm, int interval, const char *datetime, int *count, int keytype)
int KsmKillKey(int keypair_id, int zone_id)
#define DB_KEYDATA_LOCATION
char active[KSM_TIME_LENGTH]