Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/crypto/krb5/src/util/et/test_et.c
34907 views
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
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
80