99 int run_interval,
int* NewDS)
120 callback, context, policy_id, zone_id, run_interval, NewDS);
129 callback, context, policy_id, zone_id, run_interval, NewDS);
136 callback, context, policy_id, zone_id, run_interval, NewDS);
214 int run_interval,
int* NewDS)
221 char* zone_name = NULL;
222 int manual_rollover = 0;
342 if (first_pass == 1) {
380 if ((active <= 0) || (rollover)) {
386 if (zone_name != NULL) {
417 if (first_pass == 1) {
447 else if (manual_rollover == 1 && rollover == 0) {
576 while (status == 0) {
577 status =
KsmKey(result, &data);
608 for (j = 0; j < i; ++j) {
612 snprintf(buffer,
sizeof(buffer),
"%d", keyids[j]);
626 DusSetInt(&sql,
"compromisedflag", 1, 1);
767 int src_state,
int dst_state,
int zone_id,
int policy_id,
768 int rollover_scheme,
int* NewDS)
771 char* dst_col = NULL;
783 char* zone_name = NULL;
842 while (status == 0) {
843 status =
KsmKey(result, &data);
882 for (j = 0; j < i; ++j) {
886 snprintf(buffer,
sizeof(buffer),
"%d", keyids[j]);
901 DusSetInt(&sql,
"STATE", dst_state, set++);
927 if (zone_name != NULL) {
987 int count,
int zone_id)
994 int count,
int zone_id)
1001 int count,
int zone_id)
1042 int src_state,
int dst_state,
int zone_id)
1047 char* dst_name = NULL;
1057 int whereclause = 0;
1074 keyids =
MemMalloc(count *
sizeof(
int));
1088 if (zone_id != -1) {
1098 for (i = 0; ((i < count) && (status == 0)); ++i) {
1099 status =
KsmKey(result, &data);
1116 for (i = 0; i < count; ++i) {
1120 snprintf(buffer,
sizeof(buffer),
"%d", keyids[i]);
1142 StrAppend(&sql1,
"select count(*) from keypairs where id in ");
1144 StrAppend(&sql1,
" and backup is null");
1163 StrAppend(&sql2,
"select count(*) from keypairs k, securitymodules s where s.id = k.securitymodule_id and k.id in ");
1165 StrAppend(&sql2,
" and k.backup is null and s.requirebackup = 1");
1205 DusSetInt(&sql3,
"STATE", dst_state, setclause++);
1261 const char* datetime,
KSM_PARCOLL* collection,
int zone_id,
int* NewDS)
1283 newkeys = reqkeys - standby;
1291 if (gencnt < newkeys) {
1303 datetime, newkeys, zone_id);
1366 const char* datetime,
KSM_PARCOLL* collection,
int zone_id,
int run_interval)
1377 &pendret, zone_id, run_interval);
1386 &availkeys, zone_id);
1415 newkeys = reqkeys - (availkeys - pendret);
1425 if (gencnt < newkeys) {
1437 datetime, newkeys, zone_id);
1483 KSM_PARCOLL* parameters,
int* count,
int zone_id,
int interval)
1535 if (zone_id != -1) {
1545 nchar = snprintf(buffer,
sizeof(buffer),
1546 "DATE_ADD('%s', INTERVAL %d SECOND)",
1547 datetime, total_interval);
1549 nchar = snprintf(buffer,
sizeof(buffer),
1550 "DATETIME('%s', '+%d SECONDS')",
1551 datetime, total_interval);
1553 if (nchar >=
sizeof(buffer)) {
1634 nchar = snprintf(buffer,
sizeof(buffer),
"(%d, %d, %d, %d)",
1636 if (nchar >=
sizeof(buffer)) {
1642 if (zone_id != -1) {
1696 if (zone_id != -1) {
1750 nchar = snprintf(buffer,
sizeof(buffer),
"(%d, %d, %d)",
1752 if (nchar >=
sizeof(buffer)) {
1758 if (zone_id != -1) {
1826 if (zone_id != -1) {
1833 snprintf(buf,
sizeof(buf),
"DATETIME('%s')", datetime);
1890 if (zone_id != -1) {
1940 if (zone_id != -1) {
1954 *first_pass_flag = 1;
1957 *first_pass_flag = 0;
1996 if (zone_id != -1) {
2049 void* context,
int zone_id)
2064 nchar = snprintf(in,
sizeof(in),
"(%d, %d, %d, %d, %d)",
2066 if (nchar >=
sizeof(in)) {
2076 if (zone_id != -1) {
2085 status =
KsmKey(result, &data);
2086 while (status == 0) {
2087 status = (*callback)(context, &data);
2089 status =
KsmKey(result, &data);
int KsmRequestChangeStateN(int keytype, const char *datetime, int count, int src_state, int dst_state, int zone_id)
int KsmRequestCheckFirstPass(int keytype, int *first_pass_flag, int zone_id)
void DusConditionKeyword(char **query, const char *field, DQS_COMPARISON compare, const char *value, int clause)
union DQS_QUERY_CONDITION::@0 data
char * DqsSpecifyInit(const char *table, const char *fields)
char location[KSM_NAME_LENGTH]
int KsmUpdate(int policy_id, int zone_id)
int(* KSM_REQUEST_CALLBACK)(void *context, KSM_KEYDATA *key)
int KsmRequestIssueKeys(int keytype, KSM_REQUEST_CALLBACK callback, void *context, int zone_id)
int KsmParameterZskTtl(KSM_PARCOLL *collection)
int KsmRequestChangeStateDSReadyKeyPublish(const char *datetime, int zone_id, int policy_id)
int KsmParameterCollection(KSM_PARCOLL *data, int policy_id)
void DqsConditionKeyword(char **query, const char *field, DQS_COMPARISON compare, const char *value, int index)
#define KSM_STATE_READY_STRING
#define DB_KEYDATA_ZONE_ID
#define KME_DS_SUBMISSION
int MsgLog(int status,...)
void DbgLog(unsigned int mask, int status,...)
int KsmRequestStandbyKSKCount(int *count, int zone_id)
void DusSetInt(char **sql, const char *field, int data, int clause)
void DqsFree(char *query)
#define KSM_STATE_KEYPUBLISH
int KsmRequestSetActiveExpectedRetire(int keytype, const char *datetime, int zone_id)
int KsmParameterKskTtl(KSM_PARCOLL *collection)
int KsmRequestChangeStatePublishReady(int keytype, const char *datetime, int zone_id, int policy_id, int *NewDS)
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 KsmRequestCheckActiveKey(int keytype, const char *datetime, int *count, int zone_id)
int KsmParameterKskPropagationDelay(KSM_PARCOLL *collection)
char * StrStrdup(const char *string)
void DqsConditionInt(char **query, const char *field, DQS_COMPARISON compare, int value, int index)
int KsmRequestChangeStateReadyActive(int keytype, const char *datetime, int count, int zone_id)
#define KSM_STATE_DSPUBLISH
int KsmParameterStandbyZSKeys(KSM_PARCOLL *collection)
int KsmKeyInitSql(DB_RESULT *result, const char *sql)
int KsmRequestCountReadyKey(int keytype, const char *datetime, int *count, int zone_id)
int KsmRequestChangeState(int keytype, const char *datetime, int src_state, int dst_state, int zone_id, int policy_id, int rollover_scheme, int *NewDS)
#define DB_KEYDATA_FIELDS
const char * DbErrmsg(DB_HANDLE handle)
int KsmKey(DB_RESULT result, KSM_KEYDATA *data)
int KsmParameterPropagationDelay(KSM_PARCOLL *collection)
int KsmRequestAvailableCount(int keytype, const char *datetime, KSM_PARCOLL *parameters, int *count, int zone_id)
int KsmRequestChangeStateDSPublishDSReady(int keytype, const char *datetime, int zone_id, int policy_id)
int KsmRequestGenerateCount(int keytype, int *count, int zone_id)
int KsmRequestChangeStateRetireDead(int keytype, const char *datetime, int zone_id, int policy_id, int rollover_scheme, int *NewDS)
int KsmKeyInit(DB_RESULT *result, DQS_QUERY_CONDITION *condition)
int KsmRequestChangeStateGeneratePublish(int keytype, const char *datetime, int count, int zone_id)
void StrAppend(char **str1, const char *str2)
#define KSM_STATE_PUBLISH_STRING
int DbIntQuery(DB_HANDLE handle, int *value, const char *query)
int KsmRequestChangeStateGenerateDSSubConditional(int keytype, const char *datetime, KSM_PARCOLL *collection, int zone_id, int *NewDS)
#define KSM_STATE_PUBLISH
int KsmRequestKeysByType(int keytype, int rollover, const char *datetime, KSM_REQUEST_CALLBACK callback, void *context, int policy_id, int zone_id, int run_interval, int *NewDS)
int KsmRequestChangeStateGeneratePublishConditional(int keytype, const char *datetime, KSM_PARCOLL *collection, int zone_id, int run_interval)
int KsmZoneNameFromId(int zone_id, char **zone_name)
char * DusInit(const char *table)
int KsmParameterPubSafety(KSM_PARCOLL *collection)
const char * KsmKeywordTypeValueToName(int value)
#define KME_MAN_ROLL_REQUIRED
#define KME_BACK_NON_FATAL
int KsmRequestChangeStateKeyPublishActive(const char *datetime, int zone_id, int policy_id, int *NewDS)
int KsmRequestChangeStateActiveRetire(int keytype, const char *datetime, int zone_id, int policy_id)
int KsmRequestPrintKey(void *context, KSM_KEYDATA *data)
#define DB_KEYDATA_KEYTYPE
int KsmRequestPendingRetireCount(int keytype, const char *datetime, KSM_PARCOLL *parameters, int *count, int zone_id, int interval)
int KsmRequestCheckCompromisedFlag(int keytype, int zone_id, int *comp_flag)
int KsmParameterStandbyKSKeys(KSM_PARCOLL *collection)
void * MemMalloc(size_t size)
#define KSM_STATE_DSREADY
size_t StrToUpper(char *text)
void KsmKeyEnd(DB_RESULT result)
int KsmRequestKeys(int keytype, int rollover, const char *datetime, KSM_REQUEST_CALLBACK callback, void *context, int policy_id, int zone_id, int run_interval, int *NewDS)
#define KSM_STATE_GENERATE
void DusSetString(char **sql, const char *field, const char *data, int clause)
void DqsEnd(char **query)
int DbBeginTransaction(void)
int DbExecuteSqlNoResult(DB_HANDLE handle, const char *stmt_str)
void DqsConditionString(char **query, const char *field, DQS_COMPARISON compare, const char *value, int index)
int KsmRequestChangeStateGenerateDSSub(int keytype, const char *datetime, int count, int zone_id)