From c0f241edd91afd9d209f1db8136cf2f26c241a81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Tue, 1 Apr 2003 18:12:30 +0000 Subject: [PATCH] more krb5_aname_to_localname tests git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@11957 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/test_alname.c | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/lib/krb5/test_alname.c b/lib/krb5/test_alname.c index 6442742a3..e041ac38b 100644 --- a/lib/krb5/test_alname.c +++ b/lib/krb5/test_alname.c @@ -38,7 +38,7 @@ RCSID("$Id$"); static void test_alname(krb5_context context, krb5_realm realm, const char *user, const char *inst, - const char *localuser) + const char *localuser, int ok) { krb5_principal p; char localname[1024]; @@ -54,14 +54,25 @@ test_alname(krb5_context context, krb5_realm realm, krb5_err(context, 1, ret, "krb5_unparse_name"); ret = krb5_aname_to_localname(context, p, sizeof(localname), localname); - if (ret) - krb5_err(context, 1, ret, "krb5_aname_to_localname: %s -> %s", princ, localuser); - krb5_free_principal(context, p); free(princ); + if (ret) { + if (!ok) + return; + krb5_err(context, 1, ret, "krb5_aname_to_localname: %s -> %s", + princ, localuser); + } - if (strcmp(localname, localuser) != 0) - errx(1, "compared failed foo != %s", localname); + if (strcmp(localname, localuser) != 0) { + if (ok) + errx(1, "compared failed %s != %s (should have succeded)", + localname, localuser); + } else { + if (!ok) + errx(1, "compared failed %s == %s (should have failed)", + localname, localuser); + } + } int @@ -87,8 +98,21 @@ main(int argc, char **argv) if (ret) krb5_err(context, 1, ret, "krb5_get_default_realm"); - test_alname(context, realm, user, NULL, user); - test_alname(context, realm, user, "root", "root"); + test_alname(context, realm, user, NULL, user, 1); + test_alname(context, realm, user, "root", "root", 1); + + test_alname(context, "FOO.BAR.BAZ.KAKA", user, NULL, user, 0); + test_alname(context, "FOO.BAR.BAZ.KAKA", user, "root", "root", 0); + + test_alname(context, realm, user, NULL, + "not-same-as-user", 0); + test_alname(context, realm, user, "root", + "not-same-as-user", 0); + + test_alname(context, "FOO.BAR.BAZ.KAKA", user, NULL, + "not-same-as-user", 0); + test_alname(context, "FOO.BAR.BAZ.KAKA", user, "root", + "not-same-as-user", 0); krb5_free_context(context);