xref: /openbsd-src/lib/libfido2/src/err.c (revision 1a8dbaac879b9f3335ad7fb25429ce63ac1d6bac)
1 /*
2  * Copyright (c) 2018 Yubico AB. All rights reserved.
3  * Use of this source code is governed by a BSD-style
4  * license that can be found in the LICENSE file.
5  */
6 
7 #include "fido/err.h"
8 
9 const char *
10 fido_strerr(int n)
11 {
12 	switch (n) {
13 	case FIDO_ERR_SUCCESS:
14 		return "FIDO_ERR_SUCCESS";
15 	case FIDO_ERR_INVALID_COMMAND:
16 		return "FIDO_ERR_INVALID_COMMAND";
17 	case FIDO_ERR_INVALID_PARAMETER:
18 		return "FIDO_ERR_INVALID_PARAMETER";
19 	case FIDO_ERR_INVALID_LENGTH:
20 		return "FIDO_ERR_INVALID_LENGTH";
21 	case FIDO_ERR_INVALID_SEQ:
22 		return "FIDO_ERR_INVALID_SEQ";
23 	case FIDO_ERR_TIMEOUT:
24 		return "FIDO_ERR_TIMEOUT";
25 	case FIDO_ERR_CHANNEL_BUSY:
26 		return "FIDO_ERR_CHANNEL_BUSY";
27 	case FIDO_ERR_LOCK_REQUIRED:
28 		return "FIDO_ERR_LOCK_REQUIRED";
29 	case FIDO_ERR_INVALID_CHANNEL:
30 		return "FIDO_ERR_INVALID_CHANNEL";
31 	case FIDO_ERR_CBOR_UNEXPECTED_TYPE:
32 		return "FIDO_ERR_CBOR_UNEXPECTED_TYPE";
33 	case FIDO_ERR_INVALID_CBOR:
34 		return "FIDO_ERR_INVALID_CBOR";
35 	case FIDO_ERR_MISSING_PARAMETER:
36 		return "FIDO_ERR_MISSING_PARAMETER";
37 	case FIDO_ERR_LIMIT_EXCEEDED:
38 		return "FIDO_ERR_LIMIT_EXCEEDED";
39 	case FIDO_ERR_UNSUPPORTED_EXTENSION:
40 		return "FIDO_ERR_UNSUPPORTED_EXTENSION";
41 	case FIDO_ERR_FP_DATABASE_FULL:
42 		return "FIDO_ERR_FP_DATABASE_FULL";
43 	case FIDO_ERR_CREDENTIAL_EXCLUDED:
44 		return "FIDO_ERR_CREDENTIAL_EXCLUDED";
45 	case FIDO_ERR_PROCESSING:
46 		return "FIDO_ERR_PROCESSING";
47 	case FIDO_ERR_INVALID_CREDENTIAL:
48 		return "FIDO_ERR_INVALID_CREDENTIAL";
49 	case FIDO_ERR_USER_ACTION_PENDING:
50 		return "FIDO_ERR_USER_ACTION_PENDING";
51 	case FIDO_ERR_OPERATION_PENDING:
52 		return "FIDO_ERR_OPERATION_PENDING";
53 	case FIDO_ERR_NO_OPERATIONS:
54 		return "FIDO_ERR_NO_OPERATIONS";
55 	case FIDO_ERR_UNSUPPORTED_ALGORITHM:
56 		return "FIDO_ERR_UNSUPPORTED_ALGORITHM";
57 	case FIDO_ERR_OPERATION_DENIED:
58 		return "FIDO_ERR_OPERATION_DENIED";
59 	case FIDO_ERR_KEY_STORE_FULL:
60 		return "FIDO_ERR_KEY_STORE_FULL";
61 	case FIDO_ERR_NOT_BUSY:
62 		return "FIDO_ERR_NOT_BUSY";
63 	case FIDO_ERR_NO_OPERATION_PENDING:
64 		return "FIDO_ERR_NO_OPERATION_PENDING";
65 	case FIDO_ERR_UNSUPPORTED_OPTION:
66 		return "FIDO_ERR_UNSUPPORTED_OPTION";
67 	case FIDO_ERR_INVALID_OPTION:
68 		return "FIDO_ERR_INVALID_OPTION";
69 	case FIDO_ERR_KEEPALIVE_CANCEL:
70 		return "FIDO_ERR_KEEPALIVE_CANCEL";
71 	case FIDO_ERR_NO_CREDENTIALS:
72 		return "FIDO_ERR_NO_CREDENTIALS";
73 	case FIDO_ERR_USER_ACTION_TIMEOUT:
74 		return "FIDO_ERR_USER_ACTION_TIMEOUT";
75 	case FIDO_ERR_NOT_ALLOWED:
76 		return "FIDO_ERR_NOT_ALLOWED";
77 	case FIDO_ERR_PIN_INVALID:
78 		return "FIDO_ERR_PIN_INVALID";
79 	case FIDO_ERR_PIN_BLOCKED:
80 		return "FIDO_ERR_PIN_BLOCKED";
81 	case FIDO_ERR_PIN_AUTH_INVALID:
82 		return "FIDO_ERR_PIN_AUTH_INVALID";
83 	case FIDO_ERR_PIN_AUTH_BLOCKED:
84 		return "FIDO_ERR_PIN_AUTH_BLOCKED";
85 	case FIDO_ERR_PIN_NOT_SET:
86 		return "FIDO_ERR_PIN_NOT_SET";
87 	case FIDO_ERR_PIN_REQUIRED:
88 		return "FIDO_ERR_PIN_REQUIRED";
89 	case FIDO_ERR_PIN_POLICY_VIOLATION:
90 		return "FIDO_ERR_PIN_POLICY_VIOLATION";
91 	case FIDO_ERR_PIN_TOKEN_EXPIRED:
92 		return "FIDO_ERR_PIN_TOKEN_EXPIRED";
93 	case FIDO_ERR_REQUEST_TOO_LARGE:
94 		return "FIDO_ERR_REQUEST_TOO_LARGE";
95 	case FIDO_ERR_ACTION_TIMEOUT:
96 		return "FIDO_ERR_ACTION_TIMEOUT";
97 	case FIDO_ERR_UP_REQUIRED:
98 		return "FIDO_ERR_UP_REQUIRED";
99 	case FIDO_ERR_UV_BLOCKED:
100 		return "FIDO_ERR_UV_BLOCKED";
101 	case FIDO_ERR_ERR_OTHER:
102 		return "FIDO_ERR_ERR_OTHER";
103 	case FIDO_ERR_SPEC_LAST:
104 		return "FIDO_ERR_SPEC_LAST";
105 	case FIDO_ERR_TX:
106 		return "FIDO_ERR_TX";
107 	case FIDO_ERR_RX:
108 		return "FIDO_ERR_RX";
109 	case FIDO_ERR_RX_NOT_CBOR:
110 		return "FIDO_ERR_RX_NOT_CBOR";
111 	case FIDO_ERR_RX_INVALID_CBOR:
112 		return "FIDO_ERR_RX_INVALID_CBOR";
113 	case FIDO_ERR_INVALID_PARAM:
114 		return "FIDO_ERR_INVALID_PARAM";
115 	case FIDO_ERR_INVALID_SIG:
116 		return "FIDO_ERR_INVALID_SIG";
117 	case FIDO_ERR_INVALID_ARGUMENT:
118 		return "FIDO_ERR_INVALID_ARGUMENT";
119 	case FIDO_ERR_USER_PRESENCE_REQUIRED:
120 		return "FIDO_ERR_USER_PRESENCE_REQUIRED";
121 	case FIDO_ERR_INTERNAL:
122 		return "FIDO_ERR_INTERNAL";
123 	default:
124 		return "FIDO_ERR_UNKNOWN";
125 	}
126 }
127