blob: 3f8bf94533db9726380aac26d8d8ae36d9172ba9 [file] [log] [blame]
Lutz Justen85e0c392019-02-14 13:05:57 +01001// Copyright 2019 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "kerberos/error_strings.h"
6
7namespace kerberos {
8
9#define HANDLE_ERROR(error) \
10 case error: \
11 return #error
12
13const char* GetErrorString(ErrorType error) {
14 switch (error) {
15 HANDLE_ERROR(ERROR_NONE);
16 HANDLE_ERROR(ERROR_UNKNOWN);
17 HANDLE_ERROR(ERROR_DBUS_FAILURE);
18 HANDLE_ERROR(ERROR_NETWORK_PROBLEM);
19 HANDLE_ERROR(ERROR_UNKNOWN_KRB5_ERROR);
20 HANDLE_ERROR(ERROR_BAD_PRINCIPAL);
21 HANDLE_ERROR(ERROR_BAD_PASSWORD);
22 HANDLE_ERROR(ERROR_PASSWORD_EXPIRED);
23 HANDLE_ERROR(ERROR_PASSWORD_REJECTED);
24 HANDLE_ERROR(ERROR_NO_CREDENTIALS_CACHE_FOUND);
25 HANDLE_ERROR(ERROR_KERBEROS_TICKET_EXPIRED);
26 HANDLE_ERROR(ERROR_KDC_DOES_NOT_SUPPORT_ENCRYPTION_TYPE);
27 HANDLE_ERROR(ERROR_CONTACTING_KDC_FAILED);
28 HANDLE_ERROR(ERROR_PARSE_REQUEST_FAILED);
29 HANDLE_ERROR(ERROR_LOCAL_IO);
30 HANDLE_ERROR(ERROR_UNKNOWN_PRINCIPAL_NAME);
31 HANDLE_ERROR(ERROR_DUPLICATE_PRINCIPAL_NAME);
Lutz Justen9e3e6f42019-03-15 12:07:50 +010032 HANDLE_ERROR(ERROR_IN_PROGRESS);
33 HANDLE_ERROR(ERROR_PARSE_PRINCIPAL_FAILED);
Lutz Justene5238762019-06-06 14:09:21 +020034 HANDLE_ERROR(ERROR_BAD_CONFIG);
Lutz Justene6784c02019-07-03 14:08:43 +020035 HANDLE_ERROR(ERROR_JAIL_FAILURE);
Lutz Justen2d857e12019-07-16 15:58:09 +020036 HANDLE_ERROR(ERROR_KERBEROS_DISABLED);
Lutz Justen85e0c392019-02-14 13:05:57 +010037 HANDLE_ERROR(ERROR_COUNT);
38 }
39}
40
41} // namespace kerberos