int secd_03_corrupted_items(int argc, char *const *argv) { plan_tests(4 + N_THREADS*21 + kSecdTestSetupTestCount); /* custom keychain dir */ secd_test_setup_temp_keychain("secd_03_corrupted_items", NULL); /* add a password */ int v_eighty = 80; CFNumberRef eighty = CFNumberCreate(NULL, kCFNumberSInt32Type, &v_eighty); const char *v_data = "test"; CFDataRef pwdata = CFDataCreate(NULL, (UInt8 *)v_data, strlen(v_data)); CFMutableDictionaryRef query = CFDictionaryCreateMutable(NULL, 0, NULL, NULL); CFDictionaryAddValue(query, kSecClass, kSecClassInternetPassword); CFDictionaryAddValue(query, kSecAttrServer, CFSTR("corrupt.spamcop.net")); CFDictionaryAddValue(query, kSecAttrAccount, CFSTR("smith")); CFDictionaryAddValue(query, kSecAttrPort, eighty); CFDictionaryAddValue(query, kSecAttrProtocol, kSecAttrProtocolHTTP); CFDictionaryAddValue(query, kSecAttrAuthenticationType, kSecAttrAuthenticationTypeDefault); CFDictionaryAddValue(query, kSecValueData, pwdata); ok_status(SecItemAdd(query, NULL), "add internet password"); /* corrupt the password */ CFStringRef keychain_path_cf = __SecKeychainCopyPath(); CFStringPerformWithCString(keychain_path_cf, ^(const char *keychain_path) { /* Create a new keychain sqlite db */ sqlite3 *db; is(sqlite3_open(keychain_path, &db), SQLITE_OK, "create keychain"); is(sqlite3_exec(db, corrupt_item_sql, NULL, NULL, NULL), SQLITE_OK, "corrupting keychain item1"); });
int secd_59_account_cleanup(int argc, char *const *argv) { plan_tests(kTestTestCount); secd_test_setup_temp_keychain(__FUNCTION__, NULL); tests(); return 0; }
int secd_90_hsa2(int argc, char *const *argv) { plan_tests(kTestTestCount); secd_test_setup_temp_keychain(__FUNCTION__, NULL); tests(); return 0; }
int secd_52_offering_gencount_reset(int argc, char *const *argv) { plan_tests(kTestTestCount); secd_test_setup_temp_keychain(__FUNCTION__, NULL); tests(); return 0; }
int secd_57_1_account_last_standing(int argc, char *const *argv) { plan_tests(kTestTestCount); secd_test_setup_temp_keychain(__FUNCTION__, NULL); tests(); return 0; }
int secd_60_account_cloud_identity(int argc, char *const *argv) { plan_tests(kTestTestCount); secd_test_setup_temp_keychain(__FUNCTION__, NULL); tests(); return 0; }