int main(int argc, char **argv) { KLLoginOptions options; KLPrincipal princ; KLStatus ret; KLBoolean foundV5; KLIdleCallback idlecall; KLRefCon refcon; if (argc != 2) errx(1, "argc != 2"); printf("test NULL argument\n"); ret = KLCreatePrincipalFromString(NULL, kerberosVersion_V5, &princ); if (ret == 0) errx(1, "KLCreatePrincipalFromString: %d", ret); printf("create principal\n"); ret = KLCreatePrincipalFromString(argv[1], kerberosVersion_V5, &princ); if (ret) errx(1, "KLCreatePrincipalFromString: %d", ret); printf("acquire cred\n"); KLCreateLoginOptions(&options); KLLoginOptionsSetRenewableLifetime(options, 3600 * 24 * 7); ret = KLAcquireInitialTickets(princ, options, NULL, NULL); if (ret) errx(1, "KLAcquireTicketsWithPassword: %d", ret); KLDisposeLoginOptions(options); printf("get valid tickets\n"); ret = KLCacheHasValidTickets(princ, kerberosVersion_V5, &foundV5, NULL, NULL); if (ret) errx(1, "KLCacheHasValidTickets failed"); else if (!foundV5) errx(1, "found no valid tickets"); printf("renew tickets\n"); ret = KLRenewInitialTickets(princ, NULL, NULL, NULL); if (ret) errx(1, "KLRenewInitialTickets: %d", ret); KLDisposePrincipal(princ); printf("test callbacks\n"); ret = KLGetIdleCallback(&idlecall, &refcon); if (ret != klNoErr) errx(1, "KLGetIdleCallback: %d", ret); ret = KLSetIdleCallback(NULL, refcon); if (ret != klNoErr) errx(1, "KLSetIdleCallback: %d", ret); return 0; }
void TestApplicationOptions (void) { KLSetIdleCallback (MyKerberosLoginIdleCallback, 101); }