xref: /freebsd/crypto/krb5/src/util/et/test_et.c (revision f1c4c3daccbaf3820f0e2224de53df12fc952fcc)
1 /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2 #include "autoconf.h"
3 #include <stdio.h>
4 #include <errno.h>
5 #include "com_err.h"
6 #include "test1.h"
7 #include "test2.h"
8 
9 #ifdef _WIN32
10 # define EXPORT_LIST
11 #endif
12 
13 /* XXX Not part of official public API.  */
14 extern const char *error_table_name (errcode_t);
15 
16 #ifdef NEED_SYS_ERRLIST
17 extern int sys_nerr;
18 #endif
19 
20 int
main(void)21 main(void)
22 {
23     printf("Before initiating error table:\n\n");
24 #ifndef EXPORT_LIST
25     printf("Table name '%s'\n", error_table_name(KRB_MK_AP_TGTEXP));
26     printf("UNIX  name '%s'\n", error_table_name(EPERM));
27 #endif
28     printf("Msg TGT-expired is '%s'\n", error_message(KRB_MK_AP_TGTEXP));
29     printf("Msg EPERM is '%s'\n", error_message(EPERM));
30     printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR));
31     printf("Msg 1002 is '%s'\n", error_message (1002));
32 #ifdef HAVE_SYS_ERRLIST
33     printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr-1));
34     printf("Msg {sys_nerr} is '%s'\n", error_message(sys_nerr));
35 #endif
36     printf("Msg 0 is '%s'\n", error_message(0));
37 
38     printf("With 0: tgt-expired -> %s\n", error_message(KRB_MK_AP_TGTEXP));
39 
40     initialize_krb_error_table();
41 #ifndef EXPORT_LIST
42     printf("KRB error table initialized:  base %ld (%s), name %s\n",
43            ERROR_TABLE_BASE_krb, error_message(ERROR_TABLE_BASE_krb),
44            error_table_name(ERROR_TABLE_BASE_krb));
45 #else
46     printf("KRB error table initialized:  base %ld (%s)\n",
47            ERROR_TABLE_BASE_krb, error_message(ERROR_TABLE_BASE_krb));
48 #endif
49     add_error_table(&et_krb_error_table);
50     printf("With krb: tgt-expired -> %s\n",
51            error_message(KRB_MK_AP_TGTEXP));
52 
53     add_error_table(&et_quux_error_table);
54 #ifndef EXPORT_LIST
55     printf("QUUX error table initialized: base %ld (%s), name %s\n",
56            ERROR_TABLE_BASE_quux, error_message(ERROR_TABLE_BASE_quux),
57            error_table_name(ERROR_TABLE_BASE_quux));
58 #else
59     printf("QUUX error table initialized: base %ld (%s)\n",
60            ERROR_TABLE_BASE_quux, error_message(ERROR_TABLE_BASE_quux));
61 #endif
62 
63     printf("Msg for TGT-expired is '%s'\n",
64            error_message(KRB_MK_AP_TGTEXP));
65 #ifdef HAVE_SYS_ERRLIST
66     printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr-1));
67 #endif
68     printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR));
69     printf("Msg KRB_SKDC_CANT is '%s'\n",
70            error_message(KRB_SKDC_CANT));
71     printf("Msg 1e6 (8B 64) is '%s'\n", error_message(1000000));
72     printf("\n\nCOM_ERR tests:\n");
73     com_err("whoami", FOO_ERR, (char *)NULL);
74     com_err("whoami", FOO_ERR, " -- message goes %s", "here");
75     com_err("whoami", 0, (char *)0);
76     com_err("whoami", 0, "error number %d\n", 0);
77     return 0;
78 }
79