xref: /freebsd/contrib/libfido2/src/err.c (revision 5956d97f4b3204318ceb6aa9c77bd0bc6ea87a41)
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_LARGEBLOB_STORAGE_FULL:
44 		return "FIDO_ERR_LARGEBLOB_STORAGE_FULL";
45 	case FIDO_ERR_CREDENTIAL_EXCLUDED:
46 		return "FIDO_ERR_CREDENTIAL_EXCLUDED";
47 	case FIDO_ERR_PROCESSING:
48 		return "FIDO_ERR_PROCESSING";
49 	case FIDO_ERR_INVALID_CREDENTIAL:
50 		return "FIDO_ERR_INVALID_CREDENTIAL";
51 	case FIDO_ERR_USER_ACTION_PENDING:
52 		return "FIDO_ERR_USER_ACTION_PENDING";
53 	case FIDO_ERR_OPERATION_PENDING:
54 		return "FIDO_ERR_OPERATION_PENDING";
55 	case FIDO_ERR_NO_OPERATIONS:
56 		return "FIDO_ERR_NO_OPERATIONS";
57 	case FIDO_ERR_UNSUPPORTED_ALGORITHM:
58 		return "FIDO_ERR_UNSUPPORTED_ALGORITHM";
59 	case FIDO_ERR_OPERATION_DENIED:
60 		return "FIDO_ERR_OPERATION_DENIED";
61 	case FIDO_ERR_KEY_STORE_FULL:
62 		return "FIDO_ERR_KEY_STORE_FULL";
63 	case FIDO_ERR_NOT_BUSY:
64 		return "FIDO_ERR_NOT_BUSY";
65 	case FIDO_ERR_NO_OPERATION_PENDING:
66 		return "FIDO_ERR_NO_OPERATION_PENDING";
67 	case FIDO_ERR_UNSUPPORTED_OPTION:
68 		return "FIDO_ERR_UNSUPPORTED_OPTION";
69 	case FIDO_ERR_INVALID_OPTION:
70 		return "FIDO_ERR_INVALID_OPTION";
71 	case FIDO_ERR_KEEPALIVE_CANCEL:
72 		return "FIDO_ERR_KEEPALIVE_CANCEL";
73 	case FIDO_ERR_NO_CREDENTIALS:
74 		return "FIDO_ERR_NO_CREDENTIALS";
75 	case FIDO_ERR_USER_ACTION_TIMEOUT:
76 		return "FIDO_ERR_USER_ACTION_TIMEOUT";
77 	case FIDO_ERR_NOT_ALLOWED:
78 		return "FIDO_ERR_NOT_ALLOWED";
79 	case FIDO_ERR_PIN_INVALID:
80 		return "FIDO_ERR_PIN_INVALID";
81 	case FIDO_ERR_PIN_BLOCKED:
82 		return "FIDO_ERR_PIN_BLOCKED";
83 	case FIDO_ERR_PIN_AUTH_INVALID:
84 		return "FIDO_ERR_PIN_AUTH_INVALID";
85 	case FIDO_ERR_PIN_AUTH_BLOCKED:
86 		return "FIDO_ERR_PIN_AUTH_BLOCKED";
87 	case FIDO_ERR_PIN_NOT_SET:
88 		return "FIDO_ERR_PIN_NOT_SET";
89 	case FIDO_ERR_PIN_REQUIRED:
90 		return "FIDO_ERR_PIN_REQUIRED";
91 	case FIDO_ERR_PIN_POLICY_VIOLATION:
92 		return "FIDO_ERR_PIN_POLICY_VIOLATION";
93 	case FIDO_ERR_PIN_TOKEN_EXPIRED:
94 		return "FIDO_ERR_PIN_TOKEN_EXPIRED";
95 	case FIDO_ERR_REQUEST_TOO_LARGE:
96 		return "FIDO_ERR_REQUEST_TOO_LARGE";
97 	case FIDO_ERR_ACTION_TIMEOUT:
98 		return "FIDO_ERR_ACTION_TIMEOUT";
99 	case FIDO_ERR_UP_REQUIRED:
100 		return "FIDO_ERR_UP_REQUIRED";
101 	case FIDO_ERR_UV_BLOCKED:
102 		return "FIDO_ERR_UV_BLOCKED";
103 	case FIDO_ERR_UV_INVALID:
104 		return "FIDO_ERR_UV_INVALID";
105 	case FIDO_ERR_UNAUTHORIZED_PERM:
106 		return "FIDO_ERR_UNAUTHORIZED_PERM";
107 	case FIDO_ERR_ERR_OTHER:
108 		return "FIDO_ERR_ERR_OTHER";
109 	case FIDO_ERR_SPEC_LAST:
110 		return "FIDO_ERR_SPEC_LAST";
111 	case FIDO_ERR_TX:
112 		return "FIDO_ERR_TX";
113 	case FIDO_ERR_RX:
114 		return "FIDO_ERR_RX";
115 	case FIDO_ERR_RX_NOT_CBOR:
116 		return "FIDO_ERR_RX_NOT_CBOR";
117 	case FIDO_ERR_RX_INVALID_CBOR:
118 		return "FIDO_ERR_RX_INVALID_CBOR";
119 	case FIDO_ERR_INVALID_PARAM:
120 		return "FIDO_ERR_INVALID_PARAM";
121 	case FIDO_ERR_INVALID_SIG:
122 		return "FIDO_ERR_INVALID_SIG";
123 	case FIDO_ERR_INVALID_ARGUMENT:
124 		return "FIDO_ERR_INVALID_ARGUMENT";
125 	case FIDO_ERR_USER_PRESENCE_REQUIRED:
126 		return "FIDO_ERR_USER_PRESENCE_REQUIRED";
127 	case FIDO_ERR_NOTFOUND:
128 		return "FIDO_ERR_NOTFOUND";
129 	case FIDO_ERR_COMPRESS:
130 		return "FIDO_ERR_COMPRESS";
131 	case FIDO_ERR_INTERNAL:
132 		return "FIDO_ERR_INTERNAL";
133 	default:
134 		return "FIDO_ERR_UNKNOWN";
135 	}
136 }
137