xref: /freebsd/contrib/libfido2/src/err.c (revision 02e9120893770924227138ba49df1edb3896112a)
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  * SPDX-License-Identifier: BSD-2-Clause
6  */
7 
8 #include "fido/err.h"
9 
10 const char *
11 fido_strerr(int n)
12 {
13 	switch (n) {
14 	case FIDO_ERR_SUCCESS:
15 		return "FIDO_ERR_SUCCESS";
16 	case FIDO_ERR_INVALID_COMMAND:
17 		return "FIDO_ERR_INVALID_COMMAND";
18 	case FIDO_ERR_INVALID_PARAMETER:
19 		return "FIDO_ERR_INVALID_PARAMETER";
20 	case FIDO_ERR_INVALID_LENGTH:
21 		return "FIDO_ERR_INVALID_LENGTH";
22 	case FIDO_ERR_INVALID_SEQ:
23 		return "FIDO_ERR_INVALID_SEQ";
24 	case FIDO_ERR_TIMEOUT:
25 		return "FIDO_ERR_TIMEOUT";
26 	case FIDO_ERR_CHANNEL_BUSY:
27 		return "FIDO_ERR_CHANNEL_BUSY";
28 	case FIDO_ERR_LOCK_REQUIRED:
29 		return "FIDO_ERR_LOCK_REQUIRED";
30 	case FIDO_ERR_INVALID_CHANNEL:
31 		return "FIDO_ERR_INVALID_CHANNEL";
32 	case FIDO_ERR_CBOR_UNEXPECTED_TYPE:
33 		return "FIDO_ERR_CBOR_UNEXPECTED_TYPE";
34 	case FIDO_ERR_INVALID_CBOR:
35 		return "FIDO_ERR_INVALID_CBOR";
36 	case FIDO_ERR_MISSING_PARAMETER:
37 		return "FIDO_ERR_MISSING_PARAMETER";
38 	case FIDO_ERR_LIMIT_EXCEEDED:
39 		return "FIDO_ERR_LIMIT_EXCEEDED";
40 	case FIDO_ERR_UNSUPPORTED_EXTENSION:
41 		return "FIDO_ERR_UNSUPPORTED_EXTENSION";
42 	case FIDO_ERR_FP_DATABASE_FULL:
43 		return "FIDO_ERR_FP_DATABASE_FULL";
44 	case FIDO_ERR_LARGEBLOB_STORAGE_FULL:
45 		return "FIDO_ERR_LARGEBLOB_STORAGE_FULL";
46 	case FIDO_ERR_CREDENTIAL_EXCLUDED:
47 		return "FIDO_ERR_CREDENTIAL_EXCLUDED";
48 	case FIDO_ERR_PROCESSING:
49 		return "FIDO_ERR_PROCESSING";
50 	case FIDO_ERR_INVALID_CREDENTIAL:
51 		return "FIDO_ERR_INVALID_CREDENTIAL";
52 	case FIDO_ERR_USER_ACTION_PENDING:
53 		return "FIDO_ERR_USER_ACTION_PENDING";
54 	case FIDO_ERR_OPERATION_PENDING:
55 		return "FIDO_ERR_OPERATION_PENDING";
56 	case FIDO_ERR_NO_OPERATIONS:
57 		return "FIDO_ERR_NO_OPERATIONS";
58 	case FIDO_ERR_UNSUPPORTED_ALGORITHM:
59 		return "FIDO_ERR_UNSUPPORTED_ALGORITHM";
60 	case FIDO_ERR_OPERATION_DENIED:
61 		return "FIDO_ERR_OPERATION_DENIED";
62 	case FIDO_ERR_KEY_STORE_FULL:
63 		return "FIDO_ERR_KEY_STORE_FULL";
64 	case FIDO_ERR_NOT_BUSY:
65 		return "FIDO_ERR_NOT_BUSY";
66 	case FIDO_ERR_NO_OPERATION_PENDING:
67 		return "FIDO_ERR_NO_OPERATION_PENDING";
68 	case FIDO_ERR_UNSUPPORTED_OPTION:
69 		return "FIDO_ERR_UNSUPPORTED_OPTION";
70 	case FIDO_ERR_INVALID_OPTION:
71 		return "FIDO_ERR_INVALID_OPTION";
72 	case FIDO_ERR_KEEPALIVE_CANCEL:
73 		return "FIDO_ERR_KEEPALIVE_CANCEL";
74 	case FIDO_ERR_NO_CREDENTIALS:
75 		return "FIDO_ERR_NO_CREDENTIALS";
76 	case FIDO_ERR_USER_ACTION_TIMEOUT:
77 		return "FIDO_ERR_USER_ACTION_TIMEOUT";
78 	case FIDO_ERR_NOT_ALLOWED:
79 		return "FIDO_ERR_NOT_ALLOWED";
80 	case FIDO_ERR_PIN_INVALID:
81 		return "FIDO_ERR_PIN_INVALID";
82 	case FIDO_ERR_PIN_BLOCKED:
83 		return "FIDO_ERR_PIN_BLOCKED";
84 	case FIDO_ERR_PIN_AUTH_INVALID:
85 		return "FIDO_ERR_PIN_AUTH_INVALID";
86 	case FIDO_ERR_PIN_AUTH_BLOCKED:
87 		return "FIDO_ERR_PIN_AUTH_BLOCKED";
88 	case FIDO_ERR_PIN_NOT_SET:
89 		return "FIDO_ERR_PIN_NOT_SET";
90 	case FIDO_ERR_PIN_REQUIRED:
91 		return "FIDO_ERR_PIN_REQUIRED";
92 	case FIDO_ERR_PIN_POLICY_VIOLATION:
93 		return "FIDO_ERR_PIN_POLICY_VIOLATION";
94 	case FIDO_ERR_PIN_TOKEN_EXPIRED:
95 		return "FIDO_ERR_PIN_TOKEN_EXPIRED";
96 	case FIDO_ERR_REQUEST_TOO_LARGE:
97 		return "FIDO_ERR_REQUEST_TOO_LARGE";
98 	case FIDO_ERR_ACTION_TIMEOUT:
99 		return "FIDO_ERR_ACTION_TIMEOUT";
100 	case FIDO_ERR_UP_REQUIRED:
101 		return "FIDO_ERR_UP_REQUIRED";
102 	case FIDO_ERR_UV_BLOCKED:
103 		return "FIDO_ERR_UV_BLOCKED";
104 	case FIDO_ERR_UV_INVALID:
105 		return "FIDO_ERR_UV_INVALID";
106 	case FIDO_ERR_UNAUTHORIZED_PERM:
107 		return "FIDO_ERR_UNAUTHORIZED_PERM";
108 	case FIDO_ERR_ERR_OTHER:
109 		return "FIDO_ERR_ERR_OTHER";
110 	case FIDO_ERR_SPEC_LAST:
111 		return "FIDO_ERR_SPEC_LAST";
112 	case FIDO_ERR_TX:
113 		return "FIDO_ERR_TX";
114 	case FIDO_ERR_RX:
115 		return "FIDO_ERR_RX";
116 	case FIDO_ERR_RX_NOT_CBOR:
117 		return "FIDO_ERR_RX_NOT_CBOR";
118 	case FIDO_ERR_RX_INVALID_CBOR:
119 		return "FIDO_ERR_RX_INVALID_CBOR";
120 	case FIDO_ERR_INVALID_PARAM:
121 		return "FIDO_ERR_INVALID_PARAM";
122 	case FIDO_ERR_INVALID_SIG:
123 		return "FIDO_ERR_INVALID_SIG";
124 	case FIDO_ERR_INVALID_ARGUMENT:
125 		return "FIDO_ERR_INVALID_ARGUMENT";
126 	case FIDO_ERR_USER_PRESENCE_REQUIRED:
127 		return "FIDO_ERR_USER_PRESENCE_REQUIRED";
128 	case FIDO_ERR_NOTFOUND:
129 		return "FIDO_ERR_NOTFOUND";
130 	case FIDO_ERR_COMPRESS:
131 		return "FIDO_ERR_COMPRESS";
132 	case FIDO_ERR_INTERNAL:
133 		return "FIDO_ERR_INTERNAL";
134 	default:
135 		return "FIDO_ERR_UNKNOWN";
136 	}
137 }
138