+++ /dev/null
-/*
- * kcStatus.cpp
- *
- * Open default keychain; get status to actually instatiate the thing; release.
- */
-#include "testParams.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <Security/Security.h>
-
-/* for malloc debug */
-#define DO_PAUSE 0
-
-/* for tracking down KC crasher */
-#define ABORT_ON_ERROR 1
-
-int kcStatusInit(TestParams *testParams)
-{
- return 0;
-}
-
-
-int kcStatus(TestParams *testParams)
-{
- OSStatus ortn;
- SecKeychainRef kcRef;
- unsigned loopNum;
- SecKeychainStatus kcStatus;
-
- for(loopNum=0; loopNum<testParams->numLoops; loopNum++) {
- if(testParams->verbose) {
- printf("kcStatus loop %d\n", loopNum);
- }
- else if(!testParams->quiet) {
- printChar(testParams->progressChar);
- }
-
- ortn = SecKeychainCopyDefault(&kcRef);
- if(ortn) {
- cssmPerror("SecKeychainCopyDefault", ortn);
- if(ABORT_ON_ERROR) {
- exit(1);
- }
- else {
- return (int)ortn;
- }
- }
- ortn = SecKeychainGetStatus(kcRef, &kcStatus);
- if(ortn) {
- cssmPerror("SecKeychainGetStatus", ortn);
- printf("***HEY! A keychain obtained via SecKeychainCopyDefault() resulted\n");
- printf(" in a failed SecKeychainGetStatus()! You really need to fix this!\n");
- printf("kcRef %p\n", kcRef);
- char path[300];
- UInt32 len = 300;
- ortn = SecKeychainGetPath(kcRef, &len, path);
- if(ortn) {
- cssmPerror("SecKeychainGetPath", ortn);
- }
- else {
- printf("kc path %s\n", path);
- }
- if(ABORT_ON_ERROR) {
- exit(1);
- }
- else {
- return (int)ortn;
- }
- }
-
- CFRelease(kcRef);
-
- #if DO_PAUSE
- fpurge(stdin);
- printf("Hit CR to continue: ");
- getchar();
- #endif
- } /* outer loop */
- #if HOLD_SEARCH_LIST
- CFRelease(sl);
- #endif
- return 0;
-}