summaryrefslogtreecommitdiffstats
path: root/src/lib/kadm5/unit-test
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2009-10-31 00:48:38 +0000
committerTom Yu <tlyu@mit.edu>2009-10-31 00:48:38 +0000
commit02d6bcbc98a214e7aeaaa9f45f0db8784a7b743b (patch)
tree61b9147863cd8be3eff63903dc36cae168254bd5 /src/lib/kadm5/unit-test
parent162ab371748cba0cc6f172419bd6e71fa04bb878 (diff)
downloadkrb5-02d6bcbc98a214e7aeaaa9f45f0db8784a7b743b.tar.gz
krb5-02d6bcbc98a214e7aeaaa9f45f0db8784a7b743b.tar.xz
krb5-02d6bcbc98a214e7aeaaa9f45f0db8784a7b743b.zip
make mark-cstyle
make reindent git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23100 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/kadm5/unit-test')
-rw-r--r--src/lib/kadm5/unit-test/destroy-test.c62
-rw-r--r--src/lib/kadm5/unit-test/handle-test.c129
-rw-r--r--src/lib/kadm5/unit-test/init-test.c49
-rw-r--r--src/lib/kadm5/unit-test/iter-test.c88
-rw-r--r--src/lib/kadm5/unit-test/lock-test.c167
-rw-r--r--src/lib/kadm5/unit-test/randkey-test.c54
-rw-r--r--src/lib/kadm5/unit-test/setkey-test.c387
7 files changed, 467 insertions, 469 deletions
diff --git a/src/lib/kadm5/unit-test/destroy-test.c b/src/lib/kadm5/unit-test/destroy-test.c
index 9aabb1a86d..b12d42fa64 100644
--- a/src/lib/kadm5/unit-test/destroy-test.c
+++ b/src/lib/kadm5/unit-test/destroy-test.c
@@ -1,3 +1,4 @@
+/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
#include <kadm5/admin.h>
#include <com_err.h>
#include <stdio.h>
@@ -9,39 +10,38 @@
#include <kadm5/client_internal.h>
#include <string.h>
-#define TEST_NUM 25
+#define TEST_NUM 25
int main()
{
- kadm5_ret_t ret;
- char *cp;
- int x;
- void *server_handle;
- kadm5_server_handle_t handle;
- krb5_context context;
+ kadm5_ret_t ret;
+ char *cp;
+ int x;
+ void *server_handle;
+ kadm5_server_handle_t handle;
+ krb5_context context;
- ret = kadm5_init_krb5_context(&context);
- if (ret != 0) {
- com_err("test", ret, "context init");
- exit(2);
- }
- for(x = 0; x < TEST_NUM; x++) {
- ret = kadm5_init(context, "admin", "admin", KADM5_ADMIN_SERVICE, 0,
- KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
- &server_handle);
- if(ret != KADM5_OK) {
- com_err("test", ret, "init");
- exit(2);
- }
- handle = (kadm5_server_handle_t) server_handle;
- cp = strdup(strchr(handle->cache_name, ':') + 1);
- kadm5_destroy(server_handle);
- if(access(cp, F_OK) == 0) {
- puts("ticket cache not destroyed");
- exit(2);
- }
- free(cp);
- }
- exit(0);
+ ret = kadm5_init_krb5_context(&context);
+ if (ret != 0) {
+ com_err("test", ret, "context init");
+ exit(2);
+ }
+ for(x = 0; x < TEST_NUM; x++) {
+ ret = kadm5_init(context, "admin", "admin", KADM5_ADMIN_SERVICE, 0,
+ KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
+ &server_handle);
+ if(ret != KADM5_OK) {
+ com_err("test", ret, "init");
+ exit(2);
+ }
+ handle = (kadm5_server_handle_t) server_handle;
+ cp = strdup(strchr(handle->cache_name, ':') + 1);
+ kadm5_destroy(server_handle);
+ if(access(cp, F_OK) == 0) {
+ puts("ticket cache not destroyed");
+ exit(2);
+ }
+ free(cp);
+ }
+ exit(0);
}
-
diff --git a/src/lib/kadm5/unit-test/handle-test.c b/src/lib/kadm5/unit-test/handle-test.c
index 6c26e5f0dd..56eac844a1 100644
--- a/src/lib/kadm5/unit-test/handle-test.c
+++ b/src/lib/kadm5/unit-test/handle-test.c
@@ -1,3 +1,4 @@
+/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
#include <kadm5/admin.h>
#include <com_err.h>
#include <stdio.h>
@@ -11,120 +12,120 @@
int main(int argc, char *argv[])
{
- kadm5_ret_t ret;
- void *server_handle;
- kadm5_server_handle_t handle;
- kadm5_server_handle_rec orig_handle;
- kadm5_policy_ent_rec pol;
- kadm5_principal_ent_t princ;
- krb5_keyblock *key;
- krb5_principal tprinc;
- krb5_context context;
+ kadm5_ret_t ret;
+ void *server_handle;
+ kadm5_server_handle_t handle;
+ kadm5_server_handle_rec orig_handle;
+ kadm5_policy_ent_rec pol;
+ kadm5_principal_ent_t princ;
+ krb5_keyblock *key;
+ krb5_principal tprinc;
+ krb5_context context;
kadm5_init_krb5_context(&context);
-
+
ret = kadm5_init(context, "admin/none", "admin", KADM5_ADMIN_SERVICE, NULL,
- KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
- &server_handle);
+ KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
+ &server_handle);
if(ret != KADM5_OK) {
- com_err("test", ret, "init");
- exit(2);
+ com_err("test", ret, "init");
+ exit(2);
}
handle = (kadm5_server_handle_t) server_handle;
orig_handle = *handle;
handle->magic_number = KADM5_STRUCT_VERSION;
krb5_parse_name(context, "testuser", &tprinc);
ret = kadm5_get_principal(server_handle, tprinc, &princ,
- KADM5_PRINCIPAL_NORMAL_MASK);
+ KADM5_PRINCIPAL_NORMAL_MASK);
if(ret != KADM5_BAD_SERVER_HANDLE) {
- fprintf(stderr, "%s -- returned -- %s\n", "get-principal",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "%s -- returned -- %s\n", "get-principal",
+ error_message(ret));
+ exit(1);
}
-
+
ret = kadm5_get_policy(server_handle, "pol1", &pol);
if(ret != KADM5_BAD_SERVER_HANDLE) {
- fprintf(stderr, "%s -- returned -- %s\n", "get-policy",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "%s -- returned -- %s\n", "get-policy",
+ error_message(ret));
+ exit(1);
}
-
+
ret = kadm5_create_principal(server_handle, princ, KADM5_PRINCIPAL, "pass");
if(ret != KADM5_BAD_SERVER_HANDLE) {
- fprintf(stderr, "%s -- returned -- %s\n", "create-principal",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "%s -- returned -- %s\n", "create-principal",
+ error_message(ret));
+ exit(1);
}
-
+
ret = kadm5_create_policy(server_handle, &pol, KADM5_POLICY);
if(ret != KADM5_BAD_SERVER_HANDLE) {
- fprintf(stderr, "%s -- returned -- %s\n", "create-policy",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "%s -- returned -- %s\n", "create-policy",
+ error_message(ret));
+ exit(1);
}
-
+
ret = kadm5_modify_principal(server_handle, princ, KADM5_PW_EXPIRATION);
if(ret != KADM5_BAD_SERVER_HANDLE) {
- fprintf(stderr, "%s -- returned -- %s\n", "modify-principal",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "%s -- returned -- %s\n", "modify-principal",
+ error_message(ret));
+ exit(1);
}
-
+
ret = kadm5_modify_policy(server_handle, &pol, KADM5_PW_MAX_LIFE);
if(ret != KADM5_BAD_SERVER_HANDLE) {
- fprintf(stderr, "%s -- returned -- %s\n", "modify-policy",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "%s -- returned -- %s\n", "modify-policy",
+ error_message(ret));
+ exit(1);
}
-
+
ret = kadm5_delete_principal(server_handle, tprinc);
if(ret != KADM5_BAD_SERVER_HANDLE) {
- fprintf(stderr, "%s -- returned -- %s\n", "delete-principal",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "%s -- returned -- %s\n", "delete-principal",
+ error_message(ret));
+ exit(1);
}
-
+
ret = kadm5_delete_policy(server_handle, "pol1");
if(ret != KADM5_BAD_SERVER_HANDLE) {
- fprintf(stderr, "%s -- returned -- %s\n", "delete-policy",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "%s -- returned -- %s\n", "delete-policy",
+ error_message(ret));
+ exit(1);
}
-
+
ret = kadm5_chpass_principal(server_handle, tprinc, "FooBar");
if(ret != KADM5_BAD_SERVER_HANDLE) {
- fprintf(stderr, "%s -- returned -- %s\n", "chpass",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "%s -- returned -- %s\n", "chpass",
+ error_message(ret));
+ exit(1);
}
ret = kadm5_randkey_principal(server_handle, tprinc, &key, NULL);
if(ret != KADM5_BAD_SERVER_HANDLE) {
- fprintf(stderr, "%s -- returned -- %s\n", "randkey",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "%s -- returned -- %s\n", "randkey",
+ error_message(ret));
+ exit(1);
}
-
+
ret = kadm5_rename_principal(server_handle, tprinc, tprinc);
if(ret != KADM5_BAD_SERVER_HANDLE) {
- fprintf(stderr, "%s -- returned -- %s\n", "rename",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "%s -- returned -- %s\n", "rename",
+ error_message(ret));
+ exit(1);
}
-
+
ret = kadm5_destroy(server_handle);
if(ret != KADM5_BAD_SERVER_HANDLE) {
- fprintf(stderr, "%s -- returned -- %s\n", "destroy",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "%s -- returned -- %s\n", "destroy",
+ error_message(ret));
+ exit(1);
}
*handle = orig_handle;
ret = kadm5_destroy(server_handle);
if (ret != KADM5_OK) {
- fprintf(stderr, "valid %s -- returned -- %s\n", "destroy",
- error_message(ret));
- exit(1);
+ fprintf(stderr, "valid %s -- returned -- %s\n", "destroy",
+ error_message(ret));
+ exit(1);
}
exit(0);
diff --git a/src/lib/kadm5/unit-test/init-test.c b/src/lib/kadm5/unit-test/init-test.c
index cfa79374b6..a7f065db50 100644
--- a/src/lib/kadm5/unit-test/init-test.c
+++ b/src/lib/kadm5/unit-test/init-test.c
@@ -1,3 +1,4 @@
+/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
#include <kadm5/admin.h>
#include <com_err.h>
#include <stdio.h>
@@ -7,29 +8,29 @@
int main()
{
- kadm5_ret_t ret;
- void *server_handle;
- kadm5_config_params params;
- krb5_context context;
+ kadm5_ret_t ret;
+ void *server_handle;
+ kadm5_config_params params;
+ krb5_context context;
- memset(&params, 0, sizeof(params));
- params.mask |= KADM5_CONFIG_NO_AUTH;
- ret = kadm5_init_krb5_context(&context);
- if (ret != 0) {
- com_err("init-test", ret, "while initializing krb5 context");
- exit(1);
- }
- ret = kadm5_init(context, "admin", "admin", NULL, &params,
- KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
- &server_handle);
- if (ret == KADM5_RPC_ERROR)
- exit(0);
- else if (ret != 0) {
- com_err("init-test", ret, "while initializing without auth");
- exit(1);
- } else {
- fprintf(stderr, "Unexpected success while initializing without auth!\n");
- (void) kadm5_destroy(server_handle);
- exit(1);
- }
+ memset(&params, 0, sizeof(params));
+ params.mask |= KADM5_CONFIG_NO_AUTH;
+ ret = kadm5_init_krb5_context(&context);
+ if (ret != 0) {
+ com_err("init-test", ret, "while initializing krb5 context");
+ exit(1);
+ }
+ ret = kadm5_init(context, "admin", "admin", NULL, &params,
+ KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
+ &server_handle);
+ if (ret == KADM5_RPC_ERROR)
+ exit(0);
+ else if (ret != 0) {
+ com_err("init-test", ret, "while initializing without auth");
+ exit(1);
+ } else {
+ fprintf(stderr, "Unexpected success while initializing without auth!\n");
+ (void) kadm5_destroy(server_handle);
+ exit(1);
+ }
}
diff --git a/src/lib/kadm5/unit-test/iter-test.c b/src/lib/kadm5/unit-test/iter-test.c
index be15407355..bc7cfdcfac 100644
--- a/src/lib/kadm5/unit-test/iter-test.c
+++ b/src/lib/kadm5/unit-test/iter-test.c
@@ -1,51 +1,51 @@
+/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
#include <stdio.h>
#include <kadm5/admin.h>
#include <string.h>
int main(int argc, char **argv)
{
- kadm5_ret_t ret;
- void *server_handle;
- char **names;
- int count, princ, i;
- krb5_context context;
-
- if (argc != 3) {
- fprintf(stderr, "Usage: %s [-princ|-pol] exp\n", argv[0]);
- exit(1);
- }
- princ = (strcmp(argv[1], "-princ") == 0);
-
- ret = kadm5_init_krb5_context(&context);
- if (ret != KADM5_OK) {
- com_err("iter-test", ret, "while initializing context");
- exit(1);
- }
- ret = kadm5_init("admin", "admin", KADM5_ADMIN_SERVICE, 0,
- KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
- &server_handle);
- if (ret != KADM5_OK) {
- com_err("iter-test", ret, "while initializing");
- exit(1);
- }
-
- if (princ)
- ret = kadm5_get_principals(server_handle, argv[2], &names, &count);
- else
- ret = kadm5_get_policies(server_handle, argv[2], &names, &count);
-
- if (ret != KADM5_OK) {
- com_err("iter-test", ret, "while retrieving list");
- exit(1);
- }
-
- for (i = 0; i < count; i++)
- printf("%d: %s\n", i, names[i]);
-
- kadm5_free_name_list(server_handle, names, count);
-
- (void) kadm5_destroy(server_handle);
-
- return 0;
+ kadm5_ret_t ret;
+ void *server_handle;
+ char **names;
+ int count, princ, i;
+ krb5_context context;
+
+ if (argc != 3) {
+ fprintf(stderr, "Usage: %s [-princ|-pol] exp\n", argv[0]);
+ exit(1);
+ }
+ princ = (strcmp(argv[1], "-princ") == 0);
+
+ ret = kadm5_init_krb5_context(&context);
+ if (ret != KADM5_OK) {
+ com_err("iter-test", ret, "while initializing context");
+ exit(1);
+ }
+ ret = kadm5_init("admin", "admin", KADM5_ADMIN_SERVICE, 0,
+ KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
+ &server_handle);
+ if (ret != KADM5_OK) {
+ com_err("iter-test", ret, "while initializing");
+ exit(1);
+ }
+
+ if (princ)
+ ret = kadm5_get_principals(server_handle, argv[2], &names, &count);
+ else
+ ret = kadm5_get_policies(server_handle, argv[2], &names, &count);
+
+ if (ret != KADM5_OK) {
+ com_err("iter-test", ret, "while retrieving list");
+ exit(1);
+ }
+
+ for (i = 0; i < count; i++)
+ printf("%d: %s\n", i, names[i]);
+
+ kadm5_free_name_list(server_handle, names, count);
+
+ (void) kadm5_destroy(server_handle);
+
+ return 0;
}
-
diff --git a/src/lib/kadm5/unit-test/lock-test.c b/src/lib/kadm5/unit-test/lock-test.c
index 85049a7e7f..5a0501b277 100644
--- a/src/lib/kadm5/unit-test/lock-test.c
+++ b/src/lib/kadm5/unit-test/lock-test.c
@@ -1,3 +1,4 @@
+/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
#include <stdio.h>
#include <krb5.h>
#include <kadm5/admin.h>
@@ -8,99 +9,99 @@ char *whoami;
static void usage()
{
- fprintf(stderr,
- "Usage: %s {shared|exclusive|permanent|release|"
- "get name|wait} ...\n", whoami);
- exit(1);
+ fprintf(stderr,
+ "Usage: %s {shared|exclusive|permanent|release|"
+ "get name|wait} ...\n", whoami);
+ exit(1);
}
int main(int argc, char **argv)
{
- krb5_error_code ret;
- osa_policy_ent_t entry;
- krb5_context context;
- kadm5_config_params params;
- krb5_error_code kret;
+ krb5_error_code ret;
+ osa_policy_ent_t entry;
+ krb5_context context;
+ kadm5_config_params params;
+ krb5_error_code kret;
- whoami = argv[0];
+ whoami = argv[0];
- kret = kadm5_init_krb5_context(&context);
- if (kret) {
- com_err(whoami, kret, "while initializing krb5");
- exit(1);
- }
+ kret = kadm5_init_krb5_context(&context);
+ if (kret) {
+ com_err(whoami, kret, "while initializing krb5");
+ exit(1);
+ }
- params.mask = 0;
- ret = kadm5_get_config_params(context, 1, &params, &params);
- if (ret) {
- com_err(whoami, ret, "while retrieving configuration parameters");
- exit(1);
- }
- if (! (params.mask & KADM5_CONFIG_ADBNAME)) {
- com_err(whoami, KADM5_BAD_SERVER_PARAMS,
- "while retrieving configuration parameters");
- exit(1);
- }
+ params.mask = 0;
+ ret = kadm5_get_config_params(context, 1, &params, &params);
+ if (ret) {
+ com_err(whoami, ret, "while retrieving configuration parameters");
+ exit(1);
+ }
+ if (! (params.mask & KADM5_CONFIG_ADBNAME)) {
+ com_err(whoami, KADM5_BAD_SERVER_PARAMS,
+ "while retrieving configuration parameters");
+ exit(1);
+ }
- ret = krb5_db_open( context, NULL, KRB5_KDB_OPEN_RW);
- if (ret) {
- com_err(whoami, ret, "while opening database");
- exit(1);
- }
+ ret = krb5_db_open( context, NULL, KRB5_KDB_OPEN_RW);
+ if (ret) {
+ com_err(whoami, ret, "while opening database");
+ exit(1);
+ }
- argc--; argv++;
- while (argc) {
- if (strcmp(*argv, "shared") == 0) {
- ret = krb5_db_lock(context, KRB5_DB_LOCKMODE_SHARED);
- if (ret)
- com_err(whoami, ret, "while getting shared lock");
- else
- printf("shared\n");
- } else if (strcmp(*argv, "exclusive") == 0) {
- ret = krb5_db_lock(context, KRB5_DB_LOCKMODE_EXCLUSIVE );
- if (ret)
- com_err(whoami, ret, "while getting exclusive lock");
- else
- printf("exclusive\n");
- } else if (strcmp(*argv, "permanent") == 0) {
- ret = krb5_db_lock(context, KRB5_DB_LOCKMODE_EXCLUSIVE );
- if (ret)
- com_err(whoami, ret, "while getting permanent lock");
- else
- printf("permanent\n");
- } else if (strcmp(*argv, "release") == 0) {
- ret = krb5_db_unlock(context);
- if (ret)
- com_err(whoami, ret, "while releasing lock");
- else
- printf("released\n");
- } else if (strcmp(*argv, "get") == 0) {
- int cnt = 1;
- argc--; argv++;
- if (!argc) usage();
- if ((ret = krb5_db_get_policy(context, *argv,
- &entry, &cnt)) ) {
- com_err(whoami, ret, "while getting policy");
- } else {
- printf("retrieved\n");
- krb5_db_free_policy(context, entry);
- }
- } else if (strcmp(*argv, "wait") == 0) {
- getchar();
- } else {
- fprintf(stderr, "%s: Invalid argument \"%s\"\n",
- whoami, *argv);
- usage();
- }
+ argc--; argv++;
+ while (argc) {
+ if (strcmp(*argv, "shared") == 0) {
+ ret = krb5_db_lock(context, KRB5_DB_LOCKMODE_SHARED);
+ if (ret)
+ com_err(whoami, ret, "while getting shared lock");
+ else
+ printf("shared\n");
+ } else if (strcmp(*argv, "exclusive") == 0) {
+ ret = krb5_db_lock(context, KRB5_DB_LOCKMODE_EXCLUSIVE );
+ if (ret)
+ com_err(whoami, ret, "while getting exclusive lock");
+ else
+ printf("exclusive\n");
+ } else if (strcmp(*argv, "permanent") == 0) {
+ ret = krb5_db_lock(context, KRB5_DB_LOCKMODE_EXCLUSIVE );
+ if (ret)
+ com_err(whoami, ret, "while getting permanent lock");
+ else
+ printf("permanent\n");
+ } else if (strcmp(*argv, "release") == 0) {
+ ret = krb5_db_unlock(context);
+ if (ret)
+ com_err(whoami, ret, "while releasing lock");
+ else
+ printf("released\n");
+ } else if (strcmp(*argv, "get") == 0) {
+ int cnt = 1;
+ argc--; argv++;
+ if (!argc) usage();
+ if ((ret = krb5_db_get_policy(context, *argv,
+ &entry, &cnt)) ) {
+ com_err(whoami, ret, "while getting policy");
+ } else {
+ printf("retrieved\n");
+ krb5_db_free_policy(context, entry);
+ }
+ } else if (strcmp(*argv, "wait") == 0) {
+ getchar();
+ } else {
+ fprintf(stderr, "%s: Invalid argument \"%s\"\n",
+ whoami, *argv);
+ usage();
+ }
- argc--; argv++;
- }
+ argc--; argv++;
+ }
- ret = krb5_db_fini(context);
- if (ret) {
- com_err(whoami, ret, "while closing database");
- exit(1);
- }
+ ret = krb5_db_fini(context);
+ if (ret) {
+ com_err(whoami, ret, "while closing database");
+ exit(1);
+ }
- return 0;
+ return 0;
}
diff --git a/src/lib/kadm5/unit-test/randkey-test.c b/src/lib/kadm5/unit-test/randkey-test.c
index 4e6787a1b2..7cf4ee8aca 100644
--- a/src/lib/kadm5/unit-test/randkey-test.c
+++ b/src/lib/kadm5/unit-test/randkey-test.c
@@ -1,3 +1,4 @@
+/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
#include <kadm5/admin.h>
#include <com_err.h>
#include <stdio.h>
@@ -6,37 +7,36 @@
#include <netinet/in.h>
#include <string.h>
-#define TEST_NUM 1000
+#define TEST_NUM 1000
int main()
{
- kadm5_ret_t ret;
- krb5_keyblock *keys[TEST_NUM];
- krb5_principal tprinc;
- krb5_keyblock *newkey;
- krb5_context context;
- void *server_handle;
+ kadm5_ret_t ret;
+ krb5_keyblock *keys[TEST_NUM];
+ krb5_principal tprinc;
+ krb5_keyblock *newkey;
+ krb5_context context;
+ void *server_handle;
- int x, i;
+ int x, i;
- kadm5_init_krb5_context(&context);
+ kadm5_init_krb5_context(&context);
- krb5_parse_name(context, "testuser", &tprinc);
- ret = kadm5_init(context, "admin", "admin", KADM5_ADMIN_SERVICE, NULL,
- KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
- &server_handle);
- if(ret != KADM5_OK) {
- com_err("test", ret, "init");
- exit(2);
- }
- for(x = 0; x < TEST_NUM; x++) {
- kadm5_randkey_principal(server_handle, tprinc, &keys[x], NULL);
- for(i = 0; i < x; i++) {
- if (!memcmp(newkey->contents, keys[i]->contents, newkey->length))
- puts("match found");
- }
- }
- kadm5_destroy(server_handle);
- exit(0);
+ krb5_parse_name(context, "testuser", &tprinc);
+ ret = kadm5_init(context, "admin", "admin", KADM5_ADMIN_SERVICE, NULL,
+ KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
+ &server_handle);
+ if(ret != KADM5_OK) {
+ com_err("test", ret, "init");
+ exit(2);
+ }
+ for(x = 0; x < TEST_NUM; x++) {
+ kadm5_randkey_principal(server_handle, tprinc, &keys[x], NULL);
+ for(i = 0; i < x; i++) {
+ if (!memcmp(newkey->contents, keys[i]->contents, newkey->length))
+ puts("match found");
+ }
+ }
+ kadm5_destroy(server_handle);
+ exit(0);
}
-
diff --git a/src/lib/kadm5/unit-test/setkey-test.c b/src/lib/kadm5/unit-test/setkey-test.c
index 1dadfc72ad..53056e4345 100644
--- a/src/lib/kadm5/unit-test/setkey-test.c
+++ b/src/lib/kadm5/unit-test/setkey-test.c
@@ -1,46 +1,47 @@
+/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
#include <stdio.h>
#include <k5-int.h>
#include <kadm5/admin.h>
-#if HAVE_SRAND48
-#define RAND() lrand48()
-#define SRAND(a) srand48(a)
-#define RAND_TYPE long
-#elif HAVE_SRAND
-#define RAND() rand()
-#define SRAND(a) srand(a)
-#define RAND_TYPE int
-#elif HAVE_SRANDOM
-#define RAND() random()
-#define SRAND(a) srandom(a)
-#define RAND_TYPE long
-#else /* no random */
+#if HAVE_SRAND48
+#define RAND() lrand48()
+#define SRAND(a) srand48(a)
+#define RAND_TYPE long
+#elif HAVE_SRAND
+#define RAND() rand()
+#define SRAND(a) srand(a)
+#define RAND_TYPE int
+#elif HAVE_SRANDOM
+#define RAND() random()
+#define SRAND(a) srandom(a)
+#define RAND_TYPE long
+#else /* no random */
need a random number generator
-#endif /* no random */
+#endif /* no random */
krb5_keyblock test1[] = {
{0, ENCTYPE_DES_CBC_CRC, 0, 0},
{-1},
};
krb5_keyblock test2[] = {
- {0, ENCTYPE_DES_CBC_RAW, 0, 0},
- {-1},
+ {0, ENCTYPE_DES_CBC_RAW, 0, 0},
+ {-1},
};
krb5_keyblock test3[] = {
- {0, ENCTYPE_DES_CBC_MD5, 0, 0},
- {-1},
+ {0, ENCTYPE_DES_CBC_MD5, 0, 0},
+ {-1},
};
-krb5_keyblock *tests[] = {
- test1, test2, test3, NULL
+krb5_keyblock *tests[] = {
+ test1, test2, test3, NULL
};
#if 0
int keyblocks_equal(krb5_keyblock *kb1, krb5_keyblock *kb2)
{
- return (kb1->enctype == kb2->enctype &&
- kb1->length == kb2->length &&
- memcmp(kb1->contents, kb2->contents, kb1->length) == 0);
+ return (kb1->enctype == kb2->enctype &&
+ kb1->length == kb2->length &&
+ memcmp(kb1->contents, kb2->contents, kb1->length) == 0);
}
#endif
@@ -57,177 +58,171 @@ extern krb5_kt_ops krb5_ktf_writable_ops;
int
main(int argc, char **argv)
{
- krb5_context context;
- krb5_keytab kt;
- krb5_keytab_entry ktent;
- krb5_encrypt_block eblock;
- krb5_creds my_creds;
- kadm5_principal_ent_rec princ_ent;
- krb5_principal princ, server;
- char pw[16];
- char *whoami, *principal, *authprinc;
- krb5_data pwdata;
- void *handle;
- int ret, i, test, encnum;
-
- whoami = argv[0];
-
- if (argc != 2 && argc != 3) {
- fprintf(stderr, "Usage: %s principal [authuser]\n", whoami);
- exit(1);
- }
- principal = argv[1];
- authprinc = argv[2] ? argv[2] : argv[0];
-
- /*
- * Setup. Initialize data structures, open keytab, open connection
- * to kadm5 server.
- */
-
- memset(&context, 0, sizeof(context));
- kadm5_init_krb5_context(&context);
-
- ret = krb5_parse_name(context, principal, &princ);
- if (ret) {
- com_err(whoami, ret, "while parsing principal name %s", principal);
- exit(1);
- }
-
- if((ret = krb5_build_principal_ext(context, &server,
- krb5_princ_realm(kcontext, princ)->length,
- krb5_princ_realm(kcontext, princ)->data,
- tgtname.length, tgtname.data,
- krb5_princ_realm(kcontext, princ)->length,
- krb5_princ_realm(kcontext, princ)->data,
- 0))) {
- com_err(whoami, ret, "while building server name");
- exit(1);
- }
-
- /* register the WRFILE keytab type */
- ret = krb5_kt_register(context, &krb5_ktf_writable_ops);
- if (ret) {
- com_err(whoami, ret,
- "while registering writable key table functions");
- exit(1);
- }
-
- ret = krb5_kt_default(context, &kt);
- if (ret) {
- com_err(whoami, ret, "while opening keytab");
- exit(1);
- }
-
- ret = kadm5_init(context, authprinc, NULL, KADM5_ADMIN_SERVICE, NULL,
- KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
- &handle);
- if (ret) {
- com_err(whoami, ret, "while initializing connection");
- exit(1);
- }
-
- /* these pw's don't need to be secure, just different every time */
- SRAND((RAND_TYPE)time((void *) NULL));
- pwdata.data = pw;
- pwdata.length = sizeof(pw);
-
- /*
- * For each test:
- *
- * For each enctype in the test, construct a random password/key.
- * Assign all keys to principal with kadm5_setkey_principal. Add
- * each key to the keytab, and acquire an initial ticket with the
- * keytab (XXX can I specify the enctype & kvno explicitly?). If
- * krb5_get_in_tkt_with_keytab succeeds, then the keys were set
- * successfully.
- */
- for (test = 0; tests[test] != NULL; test++) {
- krb5_keyblock *testp = tests[test];
- printf("+ Test %d:\n", test);
-
- for (encnum = 0; testp[encnum].magic != -1; encnum++) {
- for (i = 0; i < sizeof(pw); i++)
- pw[i] = (RAND() % 26) + '0'; /* XXX */
-
- krb5_use_enctype(context, &eblock, testp[encnum].enctype);
- ret = krb5_string_to_key(context, &eblock, &testp[encnum],
- &pwdata, NULL);
- if (ret) {
- com_err(whoami, ret, "while converting string to key");
- exit(1);
- }
- }
-
- /* now, encnum == # of keyblocks in testp */
- ret = kadm5_setkey_principal(handle, princ, testp, encnum);
- if (ret) {
- com_err(whoami, ret, "while setting keys");
- exit(1);
- }
-
- ret = kadm5_get_principal(handle, princ, &princ_ent, KADM5_KVNO);
- if (ret) {
- com_err(whoami, ret, "while retrieving principal");
- exit(1);
- }
-
- for (encnum = 0; testp[encnum].magic != -1; encnum++) {
- printf("+ enctype %d\n", testp[encnum].enctype);
-
- memset(&ktent, 0, sizeof(ktent));
- ktent.principal = princ;
- ktent.key = testp[encnum];
- ktent.vno = princ_ent.kvno;
-
- ret = krb5_kt_add_entry(context, kt, &ktent);
- if (ret) {
- com_err(whoami, ret, "while adding keytab entry");
- exit(1);
- }
-
- memset(&my_creds, 0, sizeof(my_creds));
- my_creds.client = princ;
- my_creds.server = server;
-
- ktypes[0] = testp[encnum].enctype;
- ret = krb5_get_in_tkt_with_keytab(context,
- 0 /* options */,
- NULL /* addrs */,
- ktypes,
- NULL /* preauth */,
- kt, 0,
- &my_creds, 0);
- if (ret) {
- com_err(whoami, ret, "while acquiring initial ticket");
- exit(1);
- }
-
- /* since I can't specify enctype explicitly ... */
- ret = krb5_kt_remove_entry(context, kt, &ktent);
- if (ret) {
- com_err(whoami, ret, "while removing keytab entry");
- exit(1);
- }
- }
- }
-
- ret = krb5_kt_close(context, kt);
- if (ret) {
- com_err(whoami, ret, "while closing keytab");
- exit(1);
- }
-
- ret = kadm5_destroy(handle);
- if (ret) {
- com_err(whoami, ret, "while closing kadmin connection");
- exit(1);
- }
-
- return 0;
+ krb5_context context;
+ krb5_keytab kt;
+ krb5_keytab_entry ktent;
+ krb5_encrypt_block eblock;
+ krb5_creds my_creds;
+ kadm5_principal_ent_rec princ_ent;
+ krb5_principal princ, server;
+ char pw[16];
+ char *whoami, *principal, *authprinc;
+ krb5_data pwdata;
+ void *handle;
+ int ret, i, test, encnum;
+
+ whoami = argv[0];
+
+ if (argc != 2 && argc != 3) {
+ fprintf(stderr, "Usage: %s principal [authuser]\n", whoami);
+ exit(1);
+ }
+ principal = argv[1];
+ authprinc = argv[2] ? argv[2] : argv[0];
+
+ /*
+ * Setup. Initialize data structures, open keytab, open connection
+ * to kadm5 server.
+ */
+
+ memset(&context, 0, sizeof(context));
+ kadm5_init_krb5_context(&context);
+
+ ret = krb5_parse_name(context, principal, &princ);
+ if (ret) {
+ com_err(whoami, ret, "while parsing principal name %s", principal);
+ exit(1);
+ }
+
+ if((ret = krb5_build_principal_ext(context, &server,
+ krb5_princ_realm(kcontext, princ)->length,
+ krb5_princ_realm(kcontext, princ)->data,
+ tgtname.length, tgtname.data,
+ krb5_princ_realm(kcontext, princ)->length,
+ krb5_princ_realm(kcontext, princ)->data,
+ 0))) {
+ com_err(whoami, ret, "while building server name");
+ exit(1);
+ }
+
+ /* register the WRFILE keytab type */
+ ret = krb5_kt_register(context, &krb5_ktf_writable_ops);
+ if (ret) {
+ com_err(whoami, ret,
+ "while registering writable key table functions");
+ exit(1);
+ }
+
+ ret = krb5_kt_default(context, &kt);
+ if (ret) {
+ com_err(whoami, ret, "while opening keytab");
+ exit(1);
+ }
+
+ ret = kadm5_init(context, authprinc, NULL, KADM5_ADMIN_SERVICE, NULL,
+ KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
+ &handle);
+ if (ret) {
+ com_err(whoami, ret, "while initializing connection");
+ exit(1);
+ }
+
+ /* these pw's don't need to be secure, just different every time */
+ SRAND((RAND_TYPE)time((void *) NULL));
+ pwdata.data = pw;
+ pwdata.length = sizeof(pw);
+
+ /*
+ * For each test:
+ *
+ * For each enctype in the test, construct a random password/key.
+ * Assign all keys to principal with kadm5_setkey_principal. Add
+ * each key to the keytab, and acquire an initial ticket with the
+ * keytab (XXX can I specify the enctype & kvno explicitly?). If
+ * krb5_get_in_tkt_with_keytab succeeds, then the keys were set
+ * successfully.
+ */
+ for (test = 0; tests[test] != NULL; test++) {
+ krb5_keyblock *testp = tests[test];
+ printf("+ Test %d:\n", test);
+
+ for (encnum = 0; testp[encnum].magic != -1; encnum++) {
+ for (i = 0; i < sizeof(pw); i++)
+ pw[i] = (RAND() % 26) + '0'; /* XXX */
+
+ krb5_use_enctype(context, &eblock, testp[encnum].enctype);
+ ret = krb5_string_to_key(context, &eblock, &testp[encnum],
+ &pwdata, NULL);
+ if (ret) {
+ com_err(whoami, ret, "while converting string to key");
+ exit(1);
+ }
+ }
+
+ /* now, encnum == # of keyblocks in testp */
+ ret = kadm5_setkey_principal(handle, princ, testp, encnum);
+ if (ret) {
+ com_err(whoami, ret, "while setting keys");
+ exit(1);
+ }
+
+ ret = kadm5_get_principal(handle, princ, &princ_ent, KADM5_KVNO);
+ if (ret) {
+ com_err(whoami, ret, "while retrieving principal");
+ exit(1);
+ }
+
+ for (encnum = 0; testp[encnum].magic != -1; encnum++) {
+ printf("+ enctype %d\n", testp[encnum].enctype);
+
+ memset(&ktent, 0, sizeof(ktent));
+ ktent.principal = princ;
+ ktent.key = testp[encnum];
+ ktent.vno = princ_ent.kvno;
+
+ ret = krb5_kt_add_entry(context, kt, &ktent);
+ if (ret) {
+ com_err(whoami, ret, "while adding keytab entry");
+ exit(1);
+ }
+
+ memset(&my_creds, 0, sizeof(my_creds));
+ my_creds.client = princ;
+ my_creds.server = server;
+
+ ktypes[0] = testp[encnum].enctype;
+ ret = krb5_get_in_tkt_with_keytab(context,
+ 0 /* options */,
+ NULL /* addrs */,
+ ktypes,
+ NULL /* preauth */,
+ kt, 0,
+ &my_creds, 0);
+ if (ret) {
+ com_err(whoami, ret, "while acquiring initial ticket");
+ exit(1);
+ }
+
+ /* since I can't specify enctype explicitly ... */
+ ret = krb5_kt_remove_entry(context, kt, &ktent);
+ if (ret) {
+ com_err(whoami, ret, "while removing keytab entry");
+ exit(1);
+ }
+ }
+ }
+
+ ret = krb5_kt_close(context, kt);
+ if (ret) {
+ com_err(whoami, ret, "while closing keytab");
+ exit(1);
+ }
+
+ ret = kadm5_destroy(handle);
+ if (ret) {
+ com_err(whoami, ret, "while closing kadmin connection");
+ exit(1);
+ }
+
+ return 0;
}
-
-
-
-
-
-