97 int run_interval,
int* NewDS)
118 callback, context, policy_id, zone_id, run_interval, NewDS);
127 callback, context, policy_id, zone_id, run_interval, NewDS);
134 callback, context, policy_id, zone_id, run_interval, NewDS);
212 int run_interval,
int* NewDS)
219 char* zone_name = NULL;
220 int manual_rollover = 0;
340 if (first_pass == 1) {
378 if ((active <= 0) || (rollover)) {
384 if (zone_name != NULL) {
415 if (first_pass == 1) {
445 else if (manual_rollover == 1 && rollover == 0) {
574 while (status == 0) {
575 status =
KsmKey(result, &data);
606 for (j = 0; j < i; ++j) {
610 snprintf(buffer,
sizeof(buffer),
"%d", keyids[j]);
624 DusSetInt(&sql,
"compromisedflag", 1, 1);
765 int src_state,
int dst_state,
int zone_id,
int policy_id,
766 int rollover_scheme,
int* NewDS)
769 char* dst_col = NULL;
781 char* zone_name = NULL;
840 while (status == 0) {
841 status =
KsmKey(result, &data);
880 for (j = 0; j < i; ++j) {
884 snprintf(buffer,
sizeof(buffer),
"%d", keyids[j]);
899 DusSetInt(&sql,
"STATE", dst_state, set++);
925 if (zone_name != NULL) {
985 int count,
int zone_id)
992 int count,
int zone_id)
999 int count,
int zone_id)
1040 int src_state,
int dst_state,
int zone_id)
1045 char* dst_name = NULL;
1055 int whereclause = 0;
1072 keyids =
MemMalloc(count *
sizeof(
int));
1086 if (zone_id != -1) {
1096 for (i = 0; ((i < count) && (status == 0)); ++i) {
1097 status =
KsmKey(result, &data);
1114 for (i = 0; i < count; ++i) {
1118 snprintf(buffer,
sizeof(buffer),
"%d", keyids[i]);
1140 StrAppend(&sql1,
"select count(*) from keypairs where id in ");
1142 StrAppend(&sql1,
" and backup is null");
1161 StrAppend(&sql2,
"select count(*) from keypairs k, securitymodules s where s.id = k.securitymodule_id and k.id in ");
1163 StrAppend(&sql2,
" and k.backup is null and s.requirebackup = 1");
1203 DusSetInt(&sql3,
"STATE", dst_state, setclause++);
1259 const char* datetime,
KSM_PARCOLL* collection,
int zone_id,
int* NewDS)
1281 newkeys = reqkeys - standby;
1289 if (gencnt < newkeys) {
1301 datetime, newkeys, zone_id);
1364 const char* datetime,
KSM_PARCOLL* collection,
int zone_id,
int run_interval)
1375 &pendret, zone_id, run_interval);
1384 &availkeys, zone_id);
1413 newkeys = reqkeys - (availkeys - pendret);
1423 if (gencnt < newkeys) {
1435 datetime, newkeys, zone_id);
1481 KSM_PARCOLL* parameters,
int* count,
int zone_id,
int interval)
1533 if (zone_id != -1) {
1543 nchar = snprintf(buffer,
sizeof(buffer),
1544 "DATE_ADD('%s', INTERVAL %d SECOND)",
1545 datetime, total_interval);
1547 nchar = snprintf(buffer,
sizeof(buffer),
1548 "DATETIME('%s', '+%d SECONDS')",
1549 datetime, total_interval);
1551 if (nchar >=
sizeof(buffer)) {
1632 nchar = snprintf(buffer,
sizeof(buffer),
"(%d, %d, %d, %d)",
1634 if (nchar >=
sizeof(buffer)) {
1640 if (zone_id != -1) {
1694 if (zone_id != -1) {
1748 nchar = snprintf(buffer,
sizeof(buffer),
"(%d, %d, %d)",
1750 if (nchar >=
sizeof(buffer)) {
1756 if (zone_id != -1) {
1824 if (zone_id != -1) {
1831 snprintf(buf,
sizeof(buf),
"DATETIME('%s')", datetime);
1888 if (zone_id != -1) {
1938 if (zone_id != -1) {
1952 *first_pass_flag = 1;
1955 *first_pass_flag = 0;
1994 if (zone_id != -1) {
2047 void* context,
int zone_id)
2062 nchar = snprintf(in,
sizeof(in),
"(%d, %d, %d, %d, %d)",
2064 if (nchar >=
sizeof(in)) {
2074 if (zone_id != -1) {
2083 status =
KsmKey(result, &data);
2084 while (status == 0) {
2085 status = (*callback)(context, &data);
2087 status =
KsmKey(result, &data);
int KsmRequestChangeStateKeyPublishActive(const char *datetime, int zone_id, int policy_id, int *NewDS)
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)
int KsmRequestCountReadyKey(int keytype, const char *datetime, int *count, int zone_id)
void DusConditionKeyword(char **query, const char *field, DQS_COMPARISON compare, const char *value, int clause)
int KsmRequestCheckActiveKey(int keytype, const char *datetime, int *count, int zone_id)
int KsmRequestPendingRetireCount(int keytype, const char *datetime, KSM_PARCOLL *parameters, int *count, int zone_id, int interval)
int KsmRequestCheckFirstPass(int keytype, int *first_pass_flag, int zone_id)
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 KsmRequestChangeStateGeneratePublishConditional(int keytype, const char *datetime, KSM_PARCOLL *collection, int zone_id, int run_interval)
int KsmParameterZskTtl(KSM_PARCOLL *collection)
int KsmRequestGenerateCount(int keytype, int *count, int zone_id)
int KsmParameterCollection(KSM_PARCOLL *data, int policy_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)
void DqsConditionKeyword(char **query, const char *field, DQS_COMPARISON compare, const char *value, int index)
int(* KSM_REQUEST_CALLBACK)(void *context, KSM_KEYDATA *key)
int KsmRequestCheckCompromisedFlag(int keytype, int zone_id, int *comp_flag)
#define KSM_STATE_READY_STRING
int KsmRequestPrintKey(void *context, KSM_KEYDATA *data)
int KsmRequestChangeStateDSPublishDSReady(int keytype, const char *datetime, int zone_id, int policy_id)
#define DB_KEYDATA_ZONE_ID
#define KME_DS_SUBMISSION
int MsgLog(int status,...)
void DbgLog(unsigned int mask, int status,...)
void DusSetInt(char **sql, const char *field, int data, int clause)
void DqsFree(char *query)
#define KSM_STATE_KEYPUBLISH
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 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)
int KsmRequestStandbyKSKCount(int *count, int zone_id)
int KsmRequestChangeStateGenerateDSSub(int keytype, const char *datetime, int count, int zone_id)
#define KSM_STATE_DSPUBLISH
int KsmParameterStandbyZSKeys(KSM_PARCOLL *collection)
int KsmRequestChangeStatePublishReady(int keytype, const char *datetime, int zone_id, int policy_id, int *NewDS)
int KsmKeyInitSql(DB_RESULT *result, const char *sql)
#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 KsmRequestChangeStateGeneratePublish(int keytype, const char *datetime, int count, int zone_id)
int KsmKeyInit(DB_RESULT *result, DQS_QUERY_CONDITION *condition)
void StrAppend(char **str1, const char *str2)
#define KSM_STATE_PUBLISH_STRING
int KsmRequestChangeStateRetireDead(int keytype, const char *datetime, int zone_id, int policy_id, int rollover_scheme, int *NewDS)
int DbIntQuery(DB_HANDLE handle, int *value, const char *query)
int KsmRequestChangeStateN(int keytype, const char *datetime, int count, int src_state, int dst_state, int zone_id)
#define KSM_STATE_PUBLISH
int KsmZoneNameFromId(int zone_id, char **zone_name)
char * DusInit(const char *table)
int KsmParameterPubSafety(KSM_PARCOLL *collection)
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)
const char * KsmKeywordTypeValueToName(int value)
#define KME_MAN_ROLL_REQUIRED
#define KME_BACK_NON_FATAL
#define DB_KEYDATA_KEYTYPE
int KsmRequestChangeStateDSReadyKeyPublish(const char *datetime, int zone_id, int policy_id)
int KsmParameterStandbyKSKeys(KSM_PARCOLL *collection)
void * MemMalloc(size_t size)
int KsmRequestChangeStateGenerateDSSubConditional(int keytype, const char *datetime, KSM_PARCOLL *collection, int zone_id, int *NewDS)
#define KSM_STATE_DSREADY
size_t StrToUpper(char *text)
void KsmKeyEnd(DB_RESULT result)
#define KSM_STATE_GENERATE
void DusSetString(char **sql, const char *field, const char *data, int clause)
int KsmRequestIssueKeys(int keytype, KSM_REQUEST_CALLBACK callback, void *context, int zone_id)
void DqsEnd(char **query)
int DbBeginTransaction(void)
int DbExecuteSqlNoResult(DB_HANDLE handle, const char *stmt_str)
int KsmRequestSetActiveExpectedRetire(int keytype, const char *datetime, int zone_id)
void DqsConditionString(char **query, const char *field, DQS_COMPARISON compare, const char *value, int index)
int KsmRequestChangeStateActiveRetire(int keytype, const char *datetime, int zone_id, int policy_id)