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;
314 zone_id, policy_id, collection.
rfc5011, NewDS);
315 if (status != 0)
return status;
339 if (first_pass == 1) {
377 if ((active <= 0) || (rollover)) {
383 if (zone_name != NULL) {
414 if (first_pass == 1) {
432 else if (!collection.
rfc5011) {
445 else if (manual_rollover == 1 && rollover == 0) {
452 if (status != 0)
return status;
587 while (status == 0) {
588 status =
KsmKey(result, &data);
619 for (j = 0; j < i; ++j) {
623 snprintf(buffer,
sizeof(buffer),
"%d", keyids[j]);
637 DusSetInt(&sql,
"compromisedflag", 1, 1);
790 int src_state,
int dst_state,
int zone_id,
int policy_id,
791 int rollover_scheme,
int rfc5011,
int revoke,
int* NewDS)
794 char* dst_col = NULL;
806 char* zone_name = NULL;
865 while (status == 0) {
866 status =
KsmKey(result, &data);
905 for (j = 0; j < i; ++j) {
909 snprintf(buffer,
sizeof(buffer),
"%d", keyids[j]);
924 DusSetInt(&sql,
"STATE", dst_state,
set++);
925 if (revoke)
DusSetInt(&sql,
"REVOKED", 1,
set++);
945 if (!rfc5011) *NewDS = 1;
951 if (zone_name != NULL) {
1012 int count,
int zone_id)
1019 int count,
int zone_id)
1026 int count,
int zone_id)
1067 int src_state,
int dst_state,
int zone_id)
1072 char* dst_name = NULL;
1082 int whereclause = 0;
1099 keyids =
MemMalloc(count *
sizeof(
int));
1113 if (zone_id != -1) {
1123 for (i = 0; ((i < count) && (status == 0)); ++i) {
1124 status =
KsmKey(result, &data);
1141 for (i = 0; i < count; ++i) {
1145 snprintf(buffer,
sizeof(buffer),
"%d", keyids[i]);
1167 StrAppend(&sql1,
"select count(*) from keypairs where id in ");
1169 StrAppend(&sql1,
" and backup is null");
1188 StrAppend(&sql2,
"select count(*) from keypairs k, securitymodules s where s.id = k.securitymodule_id and k.id in ");
1190 StrAppend(&sql2,
" and k.backup is null and s.requirebackup = 1");
1230 DusSetInt(&sql3,
"STATE", dst_state, setclause++);
1286 const char* datetime,
KSM_PARCOLL* collection,
int zone_id,
int* NewDS)
1308 newkeys = reqkeys - standby;
1316 if (gencnt < newkeys) {
1328 datetime, newkeys, zone_id);
1391 const char* datetime,
KSM_PARCOLL* collection,
int zone_id,
int run_interval)
1402 &pendret, zone_id, run_interval);
1411 &availkeys, zone_id);
1440 newkeys = reqkeys - (availkeys - pendret);
1450 if (gencnt < newkeys) {
1462 datetime, newkeys, zone_id);
1508 KSM_PARCOLL* parameters,
int* count,
int zone_id,
int interval)
1560 if (zone_id != -1) {
1570 nchar = snprintf(buffer,
sizeof(buffer),
1571 "DATE_ADD('%s', INTERVAL %d SECOND)",
1572 datetime, total_interval);
1574 nchar = snprintf(buffer,
sizeof(buffer),
1575 "DATETIME('%s', '+%d SECONDS')",
1576 datetime, total_interval);
1578 if (nchar >=
sizeof(buffer)) {
1659 nchar = snprintf(buffer,
sizeof(buffer),
"(%d, %d, %d, %d)",
1661 if (nchar >=
sizeof(buffer)) {
1667 if (zone_id != -1) {
1721 if (zone_id != -1) {
1775 nchar = snprintf(buffer,
sizeof(buffer),
"(%d, %d, %d)",
1777 if (nchar >=
sizeof(buffer)) {
1783 if (zone_id != -1) {
1851 if (zone_id != -1) {
1858 snprintf(buf,
sizeof(buf),
"DATETIME('%s')", datetime);
1915 if (zone_id != -1) {
1965 if (zone_id != -1) {
1979 *first_pass_flag = 1;
1982 *first_pass_flag = 0;
2021 if (zone_id != -1) {
2074 void* context,
int zone_id)
2089 nchar = snprintf(in,
sizeof(in),
"(%d, %d, %d, %d, %d)",
2091 if (nchar >=
sizeof(in)) {
2101 if (zone_id != -1) {
2110 status =
KsmKey(result, &data);
2111 while (status == 0) {
2112 status = (*callback)(context, &data);
2114 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)
void DqsConditionKeyword(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, int revoke)
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)
int KsmRequestChangeStatePublishReady(int keytype, const char *datetime, int zone_id, int policy_id, int rfc5011, int *NewDS)
#define KSM_STATE_KEYPUBLISH
int KsmParameterKskTtl(KSM_PARCOLL *collection)
void DusConditionInt(char **query, const char *field, DQS_COMPARISON compare, int value, int clause)
int KsmRequestChangeStateReadyActive(int keytype, const char *datetime, int zone_id, int policy_id, int *NewDS)
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 KsmRequestStandbyKSKCount(int *count, int zone_id)
int KsmRequestChangeStateGenerateDSSub(int keytype, const char *datetime, int count, int zone_id)
#define KSM_STATE_DSPUBLISH
int KsmRequestChangeStateReadyActiveN(int keytype, const char *datetime, int count, int zone_id)
int KsmParameterStandbyZSKeys(KSM_PARCOLL *collection)
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 KsmRequestChangeStatePublishActive(int keytype, const char *datetime, int zone_id, int policy_id, int *NewDS)
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)
int KsmRequestChangeState(int keytype, const char *datetime, int src_state, int dst_state, int zone_id, int policy_id, int rollover_scheme, int rfc5011, int revoke, 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)