blob: 261ac359c4b5a11be3197c2a27a5ade33132eb11 [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 Justen85e0c392019-02-14 13:05:57 +010035 HANDLE_ERROR(ERROR_COUNT);
36 }
37}
38
39} // namespace kerberos