Imported Upstream version 1.10.2
[platform/upstream/krb5.git] / src / lib / kadm5 / unit-test / randkey-test.c
1 /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2 #include <kadm5/admin.h>
3 #include <com_err.h>
4 #include <stdio.h>
5 #include <krb5.h>
6 #include <sys/socket.h>
7 #include <netinet/in.h>
8 #include <string.h>
9
10 #define TEST_NUM    1000
11
12 int main()
13 {
14     kadm5_ret_t ret;
15     krb5_keyblock  *keys[TEST_NUM];
16     krb5_principal tprinc;
17     krb5_keyblock  *newkey;
18     krb5_context context;
19     void *server_handle;
20
21     int    x, i;
22
23     kadm5_init_krb5_context(&context);
24
25     krb5_parse_name(context, "testuser", &tprinc);
26     ret = kadm5_init(context, "admin", "admin", KADM5_ADMIN_SERVICE, NULL,
27                      KADM5_STRUCT_VERSION, KADM5_API_VERSION_3, NULL,
28                      &server_handle);
29     if(ret != KADM5_OK) {
30         com_err("test", ret, "init");
31         exit(2);
32     }
33     for(x = 0; x < TEST_NUM; x++) {
34         kadm5_randkey_principal(server_handle, tprinc, &keys[x], NULL);
35         for(i = 0; i < x; i++) {
36             if (!memcmp(newkey->contents, keys[i]->contents, newkey->length))
37                 puts("match found");
38         }
39     }
40     kadm5_destroy(server_handle);
41     exit(0);
42 }