diff options
Diffstat (limited to 'src/kim/test/test_kll.c')
-rw-r--r-- | src/kim/test/test_kll.c | 179 |
1 files changed, 89 insertions, 90 deletions
diff --git a/src/kim/test/test_kll.c b/src/kim/test/test_kll.c index d1773ae30..e0261480c 100644 --- a/src/kim/test/test_kll.c +++ b/src/kim/test/test_kll.c @@ -21,10 +21,10 @@ int main(void) KLTime t; KLStatus err; KLPrincipal principal; - + /* force use of UI */ - fclose (stdin); - + fclose (stdin); + err = KLCreatePrincipalFromTriplet ("nobody", "", "TEST-KERBEROS-1.3.1", &principal); printf ("KLCreatePrincipalFromTriplet(nobody@TEST-KERBEROS-1.3.1) (err = %d)\n", err); if (err == klNoErr) { @@ -32,58 +32,58 @@ int main(void) printf ("KLChangePassword() (err = %d)\n", err); KLDisposePrincipal (principal); } - + err = KLLastChangedTime(&t); printf ("KLLastChangedTime returned %d (err = %d)\n", t, err); - + TestKLPrincipal (); TestLoginOptions (); TestApplicationOptions (); TestErrorHandling (); TestKerberosRealms (); TestHighLevelAPI (); - + err = KLLastChangedTime(&t); printf ("KLLastChangedTime returned %d (err = %d)\n", t, err); - - return 0; + + return 0; } void TestErrorHandling (void) { long err; char* errorString; - + err = KLGetErrorString (KRB5KRB_AP_ERR_BAD_INTEGRITY, &errorString); printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); if (!err) { KLDisposeString (errorString); } - + err = KLGetErrorString (klCredentialsBadAddressErr, &errorString); - printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); + printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); if (!err) { KLDisposeString (errorString); } - + err = KLGetErrorString (klCacheDoesNotExistErr, &errorString); - printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); + printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); if (!err) { KLDisposeString (errorString); } - + err = KLGetErrorString (klPasswordMismatchErr, &errorString); - printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); + printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); if (!err) { KLDisposeString (errorString); } - + err = KLGetErrorString (klInsecurePasswordErr, &errorString); - printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); + printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); if (!err) { KLDisposeString (errorString); } - + err = KLGetErrorString (klPasswordChangeFailedErr, &errorString); - printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); + printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); if (!err) { KLDisposeString (errorString); } - + err = KLGetErrorString (klCantContactServerErr, &errorString); - printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); + printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); if (!err) { KLDisposeString (errorString); } - + err = KLGetErrorString (klCantDisplayUIErr, &errorString); - printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); + printf ("KLGetErrorString() returned %s (err = %ld)\n", errorString, err); if (!err) { KLDisposeString (errorString); } } @@ -96,7 +96,7 @@ void TestHighLevelAPI (void) char* principalString; char timeString[256]; KLBoolean valid; - + err = KLCreatePrincipalFromTriplet ("grail", "", "TESTV5-KERBEROS-1.3.1", &inPrincipal); printf ("KLCreatePrincipalFromTriplet(grail@TESTV5-KERBEROS-1.3.1) (err = %d)\n", err); if (err == klNoErr) { @@ -109,7 +109,7 @@ void TestHighLevelAPI (void) } KLDisposePrincipal (inPrincipal); } - + err = KLCreatePrincipalFromTriplet ("nobody", "", "TEST-KERBEROS-1.3.1", &inPrincipal); printf ("KLCreatePrincipalFromTriplet(nobody@TEST-KERBEROS-1.3.1) (err = %d)\n", err); if (err == klNoErr) { @@ -122,7 +122,7 @@ void TestHighLevelAPI (void) } KLDisposePrincipal (inPrincipal); } - + err = KLAcquireNewInitialTickets (NULL, NULL, &inPrincipal, &outCredCacheName); printf ("KLAcquireNewInitialTickets() (err = %d)\n", err); if (err == klNoErr) { @@ -135,21 +135,21 @@ void TestHighLevelAPI (void) } KLDisposePrincipal (inPrincipal); } - + err = KLSetDefaultLoginOption (loginOption_LoginName, "testname", 3); printf ("KLSetDefaultLoginOption(loginOption_LoginName) to testname (err = %d)\n", err); if (err == klNoErr) { err = KLSetDefaultLoginOption (loginOption_LoginInstance, "testinstance", 6); printf ("KLSetDefaultLoginOption(loginOption_LoginInstance) to testinstance (err = %d)\n", err); } - + err = KLAcquireNewInitialTickets (NULL, NULL, &inPrincipal, &outCredCacheName); printf ("KLAcquireNewInitialTickets() (err = %d)\n", err); if (err == klNoErr) { KLDisposeString (outCredCacheName); KLDisposePrincipal (inPrincipal); } - + // Principal == NULL while (KLAcquireNewInitialTickets (NULL, NULL, &outPrincipal, &outCredCacheName) == klNoErr) { err = KLTicketExpirationTime (outPrincipal, kerberosVersion_All, &expirationTime); @@ -171,14 +171,14 @@ void TestHighLevelAPI (void) KLDisposeString (outCredCacheName); KLDisposePrincipal (outPrincipal); } - + err = KLAcquireNewInitialTickets (NULL, NULL, &outPrincipal, &outCredCacheName); if (err == klNoErr) { KLDisposeString (outCredCacheName); KLDisposePrincipal (outPrincipal); } - - + + err = KLCreatePrincipalFromTriplet ("nobody", "", "TEST-KERBEROS-1.3.1", &inPrincipal); printf ("KLCreatePrincipalFromTriplet(nobody@TEST-KERBEROS-1.3.1) (err = %d)\n", err); if (err == klNoErr) { @@ -189,10 +189,10 @@ void TestHighLevelAPI (void) KLDisposePrincipal (outPrincipal); } err = KLDestroyTickets (inPrincipal); - + KLDisposePrincipal (inPrincipal); } - + err = KLCreatePrincipalFromTriplet ("nobody", "", "TEST-KERBEROS-1.3.1", &inPrincipal); printf ("KLCreatePrincipalFromTriplet(nobody@TEST-KERBEROS-1.3.1) (err = %d)\n", err); if (err == klNoErr) { @@ -202,7 +202,7 @@ void TestHighLevelAPI (void) KLDisposeString (outCredCacheName); KLDisposePrincipal (outPrincipal); } - + err = KLAcquireNewInitialTickets (inPrincipal, NULL, &outPrincipal, &outCredCacheName); if (err == klNoErr) { err = KLGetStringFromPrincipal (outPrincipal, kerberosVersion_V5, &principalString); @@ -210,22 +210,22 @@ void TestHighLevelAPI (void) err = KLTicketExpirationTime (outPrincipal, kerberosVersion_All, &expirationTime); printf ("Tickets for principal '%s' expire on %s\n", principalString, TimeToString(timeString, expirationTime)); - + KLDisposeString (principalString); } KLDisposeString (outCredCacheName); KLDisposePrincipal (outPrincipal); } - + err = KLChangePassword (inPrincipal); printf ("KLChangePassword() (err = %d)\n", err); - + err = KLDestroyTickets (inPrincipal); printf ("KLDestroyTickets() (err = %d)\n", err); - + KLDisposePrincipal (inPrincipal); } - + } @@ -241,22 +241,22 @@ void TestKLPrincipal (void) char *user = NULL; char *instance = NULL; char *realm = NULL; - + printf ("Entering TestKLPrincipal()\n"); printf ("----------------------------------------------------------------\n"); - + err = KLCreatePrincipalFromString ("thisprincipalnameislongerthanissupportedbyKerberos4@TEST-KERBEROS-1.3.1", kerberosVersion_V5, &extraLongPrincipal); printf ("KLCreatePrincipalFromString " "('thisprincipalnameislongerthanissupportedbyKerberos4@TEST-KERBEROS-1.3.1') " "(err = %s)\n", error_message(err)); - + printf ("----------------------------------------------------------------\n"); - + err = KLCreatePrincipalFromTriplet ("nobody", "", "TEST-KERBEROS-1.3.1", &principal); printf ("KLCreatePrincipalFromTriplet ('nobody' '' 'TEST-KERBEROS-1.3.1') (err = %s)\n", error_message(err)); - + if (err == klNoErr) { err = KLGetStringFromPrincipal (principal, kerberosVersion_V5, &principalString); if (err == klNoErr) { @@ -265,7 +265,7 @@ void TestKLPrincipal (void) } else { printf ("KLGetStringFromPrincipal(nobody@TEST-KERBEROS-1.3.1, v5) returned (err = %s)\n", error_message(err)); } - + err = KLGetStringFromPrincipal (principal, kerberosVersion_V4, &principalString); if (err == klNoErr) { printf ("KLGetStringFromPrincipal (nobody@TEST-KERBEROS-1.3.1, v4) returned string '%s'\n", principalString); @@ -273,7 +273,7 @@ void TestKLPrincipal (void) } else { printf ("KLGetStringFromPrincipal(nobody@TEST-KERBEROS-1.3.1, v4) returned (err = %s)\n", error_message(err)); } - + err = KLGetTripletFromPrincipal (principal, &user, &instance, &realm); if (err == klNoErr) { printf ("KLGetTripletFromPrincipal (nobody@TEST-KERBEROS-1.3.1) returned triplet %s' '%s' '%s'\n", @@ -283,14 +283,14 @@ void TestKLPrincipal (void) KLDisposeString (realm); } else { printf ("KLGetTripletFromPrincipal(nobody@TEST-KERBEROS-1.3.1) returned (err = %s)\n", error_message(err)); - } + } } - + printf ("----------------------------------------------------------------\n"); - + err = KLCreatePrincipalFromTriplet ("nobody", "admin", "TEST-KERBEROS-1.3.1", &adminPrincipal); printf ("KLCreatePrincipalFromTriplet ('nobody' 'admin' 'TEST-KERBEROS-1.3.1') (err = %d)\n", err); - + if (err == klNoErr) { err = KLGetStringFromPrincipal (adminPrincipal, kerberosVersion_V5, &principalString); if (err == klNoErr) { @@ -299,7 +299,7 @@ void TestKLPrincipal (void) } else { printf ("KLGetStringFromPrincipal(nobody/admin@TEST-KERBEROS-1.3.1, v5) returned (err = %d)\n", err); } - + err = KLGetStringFromPrincipal (adminPrincipal, kerberosVersion_V4, &principalString); if (err == klNoErr) { printf ("KLGetStringFromPrincipal (nobody/admin@TEST-KERBEROS-1.3.1, v4) returned string '%s'\n", principalString); @@ -307,7 +307,7 @@ void TestKLPrincipal (void) } else { printf ("KLGetStringFromPrincipal(nobody/admin@TEST-KERBEROS-1.3.1, v4) returned (err = %d)\n", err); } - + err = KLGetTripletFromPrincipal (adminPrincipal, &user, &instance, &realm); if (err == klNoErr) { printf ("KLGetTripletFromPrincipal (nobody/admin@TEST-KERBEROS-1.3.1) returned triplet %s' '%s' '%s'\n", @@ -319,9 +319,9 @@ void TestKLPrincipal (void) printf ("KLGetTripletFromPrincipal(lxs/admin@TEST-KERBEROS-1.3.1) returned (err = %d)\n", err); } } - + printf ("----------------------------------------------------------------\n"); - + err = KLCreatePrincipalFromString ("nobody/root@TEST-KERBEROS-1.3.1", kerberosVersion_V5, &adminPrincipalV5); printf ("KLCreatePrincipalFromString ('nobody/root@TEST-KERBEROS-1.3.1', v5) (err = %d)\n", err); if (err == klNoErr) { @@ -332,7 +332,7 @@ void TestKLPrincipal (void) } else { printf ("KLGetStringFromPrincipal(nobody/root@TEST-KERBEROS-1.3.1, v5) returned (err = %d)\n", err); } - + err = KLGetStringFromPrincipal (adminPrincipalV5, kerberosVersion_V4, &principalString); if (err == klNoErr) { printf ("KLGetStringFromPrincipal (nobody/admin@TEST-KERBEROS-1.3.1, v4) returned string '%s'\n", principalString); @@ -340,7 +340,7 @@ void TestKLPrincipal (void) } else { printf ("KLGetStringFromPrincipal(nobody/admin@TEST-KERBEROS-1.3.1, v4) returned (err = %d)\n", err); } - + err = KLGetTripletFromPrincipal (adminPrincipalV5, &user, &instance, &realm); if (err == klNoErr) { printf ("KLGetTripletFromPrincipal (nobody/admin@TEST-KERBEROS-1.3.1) returned triplet %s' '%s' '%s'\n", @@ -352,9 +352,9 @@ void TestKLPrincipal (void) printf ("KLGetTripletFromPrincipal(nobody/admin@TEST-KERBEROS-1.3.1) returned (err = %d)\n", err); } } - + printf ("----------------------------------------------------------------\n"); - + err = KLCreatePrincipalFromString ("nobody.admin@TEST-KERBEROS-1.3.1", kerberosVersion_V4, &adminPrincipalV4); printf ("KLCreatePrincipalFromString ('nobody.admin@TEST-KERBEROS-1.3.1') (err = %d)\n", err); if (err == klNoErr) { @@ -365,7 +365,7 @@ void TestKLPrincipal (void) } else { printf ("KLGetStringFromPrincipal(nobody.admin@TEST-KERBEROS-1.3.1, v5) returned (err = %d)\n", err); } - + err = KLGetStringFromPrincipal (adminPrincipalV4, kerberosVersion_V4, &principalString); if (err == klNoErr) { printf ("KLGetStringFromPrincipal (nobody.admin@TEST-KERBEROS-1.3.1, v4) returned string '%s'\n", principalString); @@ -373,7 +373,7 @@ void TestKLPrincipal (void) } else { printf ("KLGetStringFromPrincipal(nobody.admin@TEST-KERBEROS-1.3.1, v4) returned (err = %d)\n", err); } - + err = KLGetTripletFromPrincipal (adminPrincipalV4, &user, &instance, &realm); if (err == klNoErr) { printf ("KLGetTripletFromPrincipal (nobody.admin@TEST-KERBEROS-1.3.1) returned triplet %s' '%s' '%s'\n", @@ -385,12 +385,12 @@ void TestKLPrincipal (void) printf ("KLGetTripletFromPrincipal(nobody.admin@TEST-KERBEROS-1.3.1) returned (err = %d)\n", err); } } - + printf ("----------------------------------------------------------------\n"); - + if (adminPrincipalV4 != NULL && adminPrincipalV5 != NULL) { KLBoolean equivalent; - + err = KLComparePrincipal (adminPrincipalV5, adminPrincipalV4, &equivalent); if (err == klNoErr) { printf ("KLComparePrincipal %s comparing nobody/admin@TEST-KERBEROS-1.3.1 and nobody.admin@TEST-KERBEROS-1.3.1\n", @@ -399,10 +399,10 @@ void TestKLPrincipal (void) printf ("KLComparePrincipal returned (err = %d)\n", err); } } - + if (principal != NULL && adminPrincipalV5 != NULL) { KLBoolean equivalent; - + err = KLComparePrincipal (principal, adminPrincipalV4, &equivalent); if (err == klNoErr) { printf ("KLComparePrincipal %s comparing nobody@TEST-KERBEROS-1.3.1 and nobody.admin@TEST-KERBEROS-1.3.1\n", @@ -411,10 +411,10 @@ void TestKLPrincipal (void) printf ("KLComparePrincipal returned (err = %d)\n", err); } } - + if (principal != NULL && adminPrincipalV5 != NULL) { KLBoolean equivalent; - + err = KLComparePrincipal (principal, adminPrincipalV5, &equivalent); if (err == klNoErr) { printf ("KLComparePrincipal %s comparing nobody@TEST-KERBEROS-1.3.1 and nobody/admin@TEST-KERBEROS-1.3.1\n", @@ -423,10 +423,10 @@ void TestKLPrincipal (void) printf ("KLComparePrincipal returned (err = %d)\n", err); } } - + if (adminPrincipal != NULL && adminPrincipalV5 != NULL) { KLBoolean equivalent; - + err = KLComparePrincipal (adminPrincipalV5, principal, &equivalent); if (err == klNoErr) { printf ("KLComparePrincipal %s comparing nobody/admin@TEST-KERBEROS-1.3.1 and nobody@TEST-KERBEROS-1.3.1\n", @@ -435,9 +435,9 @@ void TestKLPrincipal (void) printf ("KLComparePrincipal returned (err = %d)\n", err); } } - + printf ("----------------------------------------------------------------\n\n"); - + if (extraLongPrincipal != NULL) KLDisposePrincipal (extraLongPrincipal); if (adminPrincipalV5 != NULL) KLDisposePrincipal (adminPrincipalV5); if (adminPrincipalV4 != NULL) KLDisposePrincipal (adminPrincipalV4); @@ -456,24 +456,24 @@ void TestKerberosRealms (void) printf ("About to test Kerberos realms\n"); KLRemoveAllKerberosRealms (); KLAcquireNewInitialTickets (NULL, NULL, NULL, NULL); - + KLInsertKerberosRealm (realmList_End, "FOO"); KLInsertKerberosRealm (realmList_End, "BAR"); KLInsertKerberosRealm (realmList_End, "BAZ"); KLAcquireNewInitialTickets (NULL, NULL, NULL, NULL); - + KLInsertKerberosRealm (realmList_End, "FOO"); KLAcquireNewInitialTickets (NULL, NULL, NULL, NULL); - + KLSetKerberosRealm (0, "QUUX"); KLAcquireNewInitialTickets (NULL, NULL, NULL, NULL); - + KLRemoveKerberosRealm (0); KLAcquireNewInitialTickets (NULL, NULL, NULL, NULL); - + KLSetKerberosRealm (2, "TEST-KERBEROS-1.3.1"); KLAcquireNewInitialTickets (NULL, NULL, NULL, NULL); - + KLRemoveAllKerberosRealms (); KLInsertKerberosRealm (realmList_End, "TEST-KERBEROS-1.3.1"); KLInsertKerberosRealm (realmList_End, "TEST-KERBEROS-1.0.6"); @@ -485,7 +485,7 @@ void TestKerberosRealms (void) KLInsertKerberosRealm (realmList_End, "TEST-HEIMDAL-0.3D"); KLInsertKerberosRealm (realmList_End, "TESTV5-HEIMDAL-0.3D"); KLInsertKerberosRealm (realmList_End, "TEST-KTH-KRB-1.1"); -} +} void TestLoginOptions (void) @@ -493,25 +493,25 @@ void TestLoginOptions (void) KLBoolean optionSetting; KLStatus err = klNoErr; KLLifetime lifetime; - + lifetime = 10*60; KLSetDefaultLoginOption(loginOption_MinimalTicketLifetime, &lifetime, sizeof(KLLifetime)); - + lifetime = 8*60*60; KLSetDefaultLoginOption(loginOption_MaximalTicketLifetime, &lifetime, sizeof(KLLifetime)); - + lifetime = 8*60*60; KLSetDefaultLoginOption(loginOption_DefaultTicketLifetime, &lifetime, sizeof(KLLifetime)); - + optionSetting = FALSE; KLSetDefaultLoginOption(loginOption_DefaultForwardableTicket, &optionSetting, sizeof(optionSetting)); - + optionSetting = TRUE; KLSetDefaultLoginOption(loginOption_RememberPrincipal, &optionSetting, sizeof(optionSetting)); - + optionSetting = TRUE; err = KLSetDefaultLoginOption(loginOption_RememberExtras, &optionSetting, sizeof(optionSetting)); - + if (err == klNoErr) { KLAcquireNewInitialTickets (NULL, NULL, NULL, NULL); optionSetting = TRUE; @@ -532,9 +532,9 @@ char* TimeToString (char* timeString, long t) /* we come in in 1970 time */ time_t timer = (time_t) t; struct tm tm; - + tm = *localtime (&timer); - + sprintf(timeString, "%.3s %.3s%3d %.2d:%.2d:%.2d %d", day_name[tm.tm_wday], month_name[tm.tm_mon], @@ -543,7 +543,7 @@ char* TimeToString (char* timeString, long t) tm.tm_min, tm.tm_sec, tm.tm_year + 1900); - + return timeString; } @@ -553,4 +553,3 @@ void MyKerberosLoginIdleCallback (KLRefCon inAppData) syslog (LOG_ALERT, "App got callback while waiting for Mach IPC (appData == %d)\n", inAppData); // KLCancelAllDialogs (); } - |