diff --git a/lib/error/Makefile.am b/lib/error/Makefile.am deleted file mode 100644 index da9fb6e87..000000000 --- a/lib/error/Makefile.am +++ /dev/null @@ -1,32 +0,0 @@ -# $Id$ - -AUTOMAKE_OPTIONS = no-dependencies foreign - -INCLUDES = -I$(top_builddir)/include -I$(srcdir) - -lib_LIBRARIES = liberror.a - -SUFFIXES = .et .h - -incdir = $(includedir) -inc_DATA = asn1_err.h krb5_err.h heim_err.h -idir = $(top_builddir)/include - -CLEANFILES = asn1_err.c asn1_err.h krb5_err.c krb5_err.h heim_err.c heim_err.h - -liberror_a_SOURCES = krb5_err.c asn1_err.c error.c heim_err.c - -all-local: $(inc_DATA) - @for i in $(inc_DATA); do \ - if cmp -s $$i $(idir)/$$i 2> /dev/null ; then :; else\ - echo " $(INSTALL_DATA) $$i $(idir)/$$i"; \ - $(INSTALL_DATA) $$i $(idir)/$$i; \ - fi ; \ - done -.et.c: - $(SHELL) ./compile_et $< - -.et.h: - $(SHELL) ./compile_et $< - -krb5_err.o: asn1_err.c diff --git a/lib/error/asn1_err.et b/lib/error/asn1_err.et deleted file mode 100644 index 548c2ba61..000000000 --- a/lib/error/asn1_err.et +++ /dev/null @@ -1,20 +0,0 @@ -# -# Error messages for the asn.1 library -# -# This might look like a com_err file, but is not -# -id $Id$ - -error_table asn1 -prefix ASN1 -error_code BAD_TIMEFORMAT, "ASN.1 failed call to system time library" -error_code MISSING_FIELD, "ASN.1 structure is missing a required field" -error_code MISPLACED_FIELD, "ASN.1 unexpected field number" -error_code TYPE_MISMATCH, "ASN.1 type numbers are inconsistent" -error_code OVERFLOW, "ASN.1 value too large" -error_code OVERRUN, "ASN.1 encoding ended unexpectedly" -error_code BAD_ID, "ASN.1 identifier doesn't match expected value" -error_code BAD_LENGTH, "ASN.1 length doesn't match expected value" -error_code BAD_FORMAT, "ASN.1 badly-formatted encoding" -error_code PARSE_ERROR, "ASN.1 parse error" -end diff --git a/lib/error/compile_et.awk b/lib/error/compile_et.awk deleted file mode 100644 index 20faf7a7f..000000000 --- a/lib/error/compile_et.awk +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright (c) 1997 Kungliga Tekniska Högskolan -# (Royal Institute of Technology, Stockholm, Sweden). -# All rights reserved. -# -# $Id$ -# - -$1 == "error_table" || $1 == "et" { - name = $2 - base = 0 - if(NF < 3) - base_str = name - else - base_str = $3 - for(i = 1; i <= length(base_str); i++){ - base = base * 64 + index("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_", substr(base_str, i, 1)) - } - base *= 256 - if(base >= 2147483648){ # 0x80000000 - base = -(4294967295 - base + 1) # 0xffffffff - } - split(name, x, "\\.") - name=x[1] - c_file = name "_err.c" - h_file = name "_err.h" - h = "" -# gsub("[^a-zA-Z0-9]", "_", H_FILE) - for(i = 1; i <= length(h_file); i++){ - c = substr(h_file, i, 1) - if(c ~ /[^a-zA-Z0-9]/) - c = "_" - h = h c - } - H_FILE= "__" h "__" - number = 0 - print "/* Generated from " FILENAME " */" > c_file - if(id_str != "") - print id_str > c_file - print "" > c_file - print "#include " > c_file # NULL - print "#include " > c_file - print "#include <" h_file ">" > c_file - print "" > c_file - print "static const char *text[] = {" > c_file - - print "/* Generated from " FILENAME " */" > h_file - if(id_str != "") - print id_str > h_file - print "" > h_file - print "#ifndef " H_FILE > h_file - print "#define " H_FILE > h_file - print "" > h_file - print "#include " > h_file - print "" > h_file - print "void initialize_" name "_error_table(struct error_table**);" > h_file - print "" > h_file - print "typedef enum " name "_error_number{" > h_file - print "\tERROR_TABLE_BASE_" name " = " base "," > h_file - next -} - -$1 == "index" { - newnumber = $2 - for(; number < newnumber; number++) { -# printf("\t%s = %d,\n", toupper(name) "_ERROR_" number, base+ number) > h_file - printf("\t/* %3d */ %s,\n", number, "\"Reserved error number " number "\"") > c_file - } - next -} -$1 == "prefix" { - prefix = $2 - if(prefix != "") - prefix = prefix "_" - next -} - -$1 == "error_code" { - code = $2 - split(code, x, ",") - code = prefix x[1] - split($0, x, "\"") - string = x[2] - printf("\t%s = %d,\n", code, number + base) > h_file - printf("\t/* %3d */ \"%s\",\n", number, string) > c_file - number++; - next -} -$1 == "id" { -# sub("id *", "") - for(i = 3; i <= length && substr($0, i, 1) ~ /[ \t]/; i++); - id_str ="/* " substr($0, i, length($0)) " */" -} -END { - print "\tNULL" > c_file - print "};" > c_file - print "" > c_file - print "void initialize_" name "_error_table (struct error_table **list)" > c_file - print "{" > c_file - printf " initialize_error_table(list, text, " > c_file - print name "_num_errors, ERROR_TABLE_BASE_" name ");" > c_file - print "}" > c_file - print "" > c_file - - print "\t" name "_num_errors = " number > h_file - print "} " name "_error_number;" > h_file - print "" > h_file - print "#endif /* " H_FILE " */" > h_file -} diff --git a/lib/error/compile_et.in b/lib/error/compile_et.in deleted file mode 100755 index 8d10636da..000000000 --- a/lib/error/compile_et.in +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -# $Id$ - -case "@srcdir@" in - /*) - srcdir="@srcdir@" - ;; - *) - srcdir="`dirname $0`/@srcdir@" - ;; -esac - -file="$srcdir/compile_et.awk" - -if [ $# != 1 ]; then - echo "Usage: compile_et file.et" - exit 1 -fi - -if [ ! -f "$file" ]; then - echo "compile_et: File not found: $file" - exit 1 -fi - -@AWK@ -f "$file" "$1" diff --git a/lib/error/error.c b/lib/error/error.c deleted file mode 100644 index 1a9288801..000000000 --- a/lib/error/error.c +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 1997 Kungliga Tekniska Högskolan - * (Royal Institute of Technology, Stockholm, Sweden). - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Kungliga Tekniska - * Högskolan and its contributors. - * - * 4. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifdef HAVE_CONFIG_H -#include -RCSID("$Id$"); -#endif -#include -#include -#include -#include - -const char * -com_right(struct error_table *list, long code) -{ - struct error_table *p; - for(p = list; p; p = p->next){ - if(code >= p->base && code < p->base + p->n_msgs) - return p->msgs[code - p->base]; - } - return NULL; -} - -void -initialize_error_table(struct error_table **list, - const char **messages, - int num_errors, - long base) -{ - struct error_table *et; - for(et = *list; et; et = et->next) - if(et->msgs == messages) - return; - et = malloc(sizeof(*et)); - if (et == NULL) - return; - et->msgs = messages; - et->n_msgs = num_errors; - et->base = base; - et->next = *list; - *list = et; -} - - -void -free_error_table(struct error_table *et) -{ - while(et){ - struct error_table *p = et; - et = et->next; - free(p); - } -} diff --git a/lib/error/error.h b/lib/error/error.h deleted file mode 100644 index db4742a0c..000000000 --- a/lib/error/error.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 1997 Kungliga Tekniska Högskolan - * (Royal Institute of Technology, Stockholm, Sweden). - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Kungliga Tekniska - * Högskolan and its contributors. - * - * 4. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* $Id$ */ - -#ifndef __ERROR_H__ -#define __ERROR_H__ - -struct error_table { - char const * const * msgs; - long base; - int n_msgs; - struct error_table *next; -}; - -const char *com_right(struct error_table *list, long code); -void initialize_error_table(struct error_table**, const char**, int, long); -void free_error_table(struct error_table*); - -#endif /* __ERROR_H__ */ diff --git a/lib/error/heim_err.et b/lib/error/heim_err.et deleted file mode 100644 index d94dc556b..000000000 --- a/lib/error/heim_err.et +++ /dev/null @@ -1,15 +0,0 @@ -# -# Error messages for the krb5 library -# -# This might look like a com_err file, but is not -# -id $Id$ - -error_table heim - -prefix HEIM_ERR - -error_code LOG_PARSE, "Error parsing log destination" -error_code V4_PRINC_NO_CONV, "Failed to convert v4 principal" - -end diff --git a/lib/error/krb5_err.et b/lib/error/krb5_err.et deleted file mode 100644 index f2b686f7a..000000000 --- a/lib/error/krb5_err.et +++ /dev/null @@ -1,213 +0,0 @@ -# -# Error messages for the krb5 library -# -# This might look like a com_err file, but is not -# -id $Id$ - -error_table krb5 - -prefix KRB5KDC_ERR -error_code NONE, "No error" -error_code NAME_EXP, "Client's entry in database has expired" -error_code SERVICE_EXP, "Server's entry in database has expired" -error_code BAD_PVNO, "Requested protocol version not supported" -error_code C_OLD_MAST_KVNO, "Client's key is encrypted in an old master key" -error_code S_OLD_MAST_KVNO, "Server's key is encrypted in an old master key" -error_code C_PRINCIPAL_UNKNOWN, "Client not found in Kerberos database" -error_code S_PRINCIPAL_UNKNOWN, "Server not found in Kerberos database" -error_code PRINCIPAL_NOT_UNIQUE,"Principal has multiple entries in Kerberos database" -error_code NULL_KEY, "Client or server has a null key" -error_code CANNOT_POSTDATE, "Ticket is ineligible for postdating" -error_code NEVER_VALID, "Requested effective lifetime is negative or too short" -error_code POLICY, "KDC policy rejects request" -error_code BADOPTION, "KDC can't fulfill requested option" -error_code ETYPE_NOSUPP, "KDC has no support for encryption type" -error_code SUMTYPE_NOSUPP, "KDC has no support for checksum type" -error_code PADATA_TYPE_NOSUPP, "KDC has no support for padata type" -error_code TRTYPE_NOSUPP, "KDC has no support for transited type" -error_code CLIENT_REVOKED, "Clients credentials have been revoked" -error_code SERVICE_REVOKED, "Credentials for server have been revoked" -error_code TGT_REVOKED, "TGT has been revoked" -error_code CLIENT_NOTYET, "Client not yet valid - try again later" -error_code SERVICE_NOTYET, "Server not yet valid - try again later" -error_code KEY_EXPIRED, "Password has expired" -error_code PREAUTH_FAILED, "Preauthentication failed" -error_code PREAUTH_REQUIRED, "Additional pre-authentication required" -error_code SERVER_NOMATCH, "Requested server and ticket don't match" - -# 27-30 are reserved -index 31 -prefix KRB5KRB_AP_ERR -error_code BAD_INTEGRITY, "Decrypt integrity check failed" -error_code TKT_EXPIRED, "Ticket expired" -error_code TKT_NYV, "Ticket not yet valid" -error_code REPEAT, "Request is a replay" -error_code NOT_US, "The ticket isn't for us" -error_code BADMATCH, "Ticket/authenticator don't match" -error_code SKEW, "Clock skew too great" -error_code BADADDR, "Incorrect net address" -error_code BADVERSION, "Protocol version mismatch" -error_code MSG_TYPE, "Invalid message type" -error_code MODIFIED, "Message stream modified" -error_code BADORDER, "Message out of order" -error_code ILL_CR_TKT, "Illegal cross-realm ticket" -error_code BADKEYVER, "Key version is not available" -error_code NOKEY, "Service key not available" -error_code MUT_FAIL, "Mutual authentication failed" -error_code BADDIRECTION, "Incorrect message direction" -error_code METHOD, "Alternative authentication method required" -error_code BADSEQ, "Incorrect sequence number in message" -error_code INAPP_CKSUM, "Inappropriate type of checksum in message" - -# 51-59 are reserved -index 60 -prefix KRB5KRB_ERR -error_code GENERIC, "Generic error (see e-text)" -error_code FIELD_TOOLONG, "Field is too long for this implementation" - -# 62-127 are reserved -index 128 -prefix -error_code KRB5_ERR_RCSID, "$Id$" - -error_code KRB5_LIBOS_BADLOCKFLAG, "Invalid flag for file lock mode" -error_code KRB5_LIBOS_CANTREADPWD, "Cannot read password" -error_code KRB5_LIBOS_BADPWDMATCH, "Password mismatch" -error_code KRB5_LIBOS_PWDINTR, "Password read interrupted" - -error_code KRB5_PARSE_ILLCHAR, "Illegal character in component name" -error_code KRB5_PARSE_MALFORMED, "Malformed representation of principal" - -error_code KRB5_CONFIG_CANTOPEN, "Can't open/find configuration file" -error_code KRB5_CONFIG_BADFORMAT, "Improper format of configuration file" -error_code KRB5_CONFIG_NOTENUFSPACE, "Insufficient space to return complete information" - -error_code KRB5_BADMSGTYPE, "Invalid message type specified for encoding" - -error_code KRB5_CC_BADNAME, "Credential cache name malformed" -error_code KRB5_CC_UNKNOWN_TYPE, "Unknown credential cache type" -error_code KRB5_CC_NOTFOUND, "Matching credential not found" -error_code KRB5_CC_END, "End of credential cache reached" - -error_code KRB5_NO_TKT_SUPPLIED, "Request did not supply a ticket" - -error_code KRB5KRB_AP_WRONG_PRINC, "Wrong principal in request" -error_code KRB5KRB_AP_ERR_TKT_INVALID, "Ticket has invalid flag set" - -error_code KRB5_PRINC_NOMATCH, "Requested principal and ticket don't match" -error_code KRB5_KDCREP_MODIFIED, "KDC reply did not match expectations" -error_code KRB5_KDCREP_SKEW, "Clock skew too great in KDC reply" -error_code KRB5_IN_TKT_REALM_MISMATCH, "Client/server realm mismatch in initial ticket request" - -error_code KRB5_PROG_ETYPE_NOSUPP, "Program lacks support for encryption type" -error_code KRB5_PROG_KEYTYPE_NOSUPP, "Program lacks support for key type" -error_code KRB5_WRONG_ETYPE, "Requested encryption type not used in message" -error_code KRB5_PROG_SUMTYPE_NOSUPP, "Program lacks support for checksum type" - -error_code KRB5_REALM_UNKNOWN, "Cannot find KDC for requested realm" -error_code KRB5_SERVICE_UNKNOWN, "Kerberos service unknown" -error_code KRB5_KDC_UNREACH, "Cannot contact any KDC for requested realm" -error_code KRB5_NO_LOCALNAME, "No local name found for principal name" - -error_code KRB5_MUTUAL_FAILED, "Mutual authentication failed" - -# some of these should be combined/supplanted by system codes - -error_code KRB5_RC_TYPE_EXISTS, "Replay cache type is already registered" -error_code KRB5_RC_MALLOC, "No more memory to allocate (in replay cache code)" -error_code KRB5_RC_TYPE_NOTFOUND, "Replay cache type is unknown" -error_code KRB5_RC_UNKNOWN, "Generic unknown RC error" -error_code KRB5_RC_REPLAY, "Message is a replay" -error_code KRB5_RC_IO, "Replay I/O operation failed XXX" -error_code KRB5_RC_NOIO, "Replay cache type does not support non-volatile storage" -error_code KRB5_RC_PARSE, "Replay cache name parse/format error" - -error_code KRB5_RC_IO_EOF, "End-of-file on replay cache I/O" -error_code KRB5_RC_IO_MALLOC, "No more memory to allocate (in replay cache I/O code)" -error_code KRB5_RC_IO_PERM, "Permission denied in replay cache code" -error_code KRB5_RC_IO_IO, "I/O error in replay cache i/o code" -error_code KRB5_RC_IO_UNKNOWN, "Generic unknown RC/IO error" -error_code KRB5_RC_IO_SPACE, "Insufficient system space to store replay information" - -error_code KRB5_TRANS_CANTOPEN, "Can't open/find realm translation file" -error_code KRB5_TRANS_BADFORMAT, "Improper format of realm translation file" - -error_code KRB5_LNAME_CANTOPEN, "Can't open/find lname translation database" -error_code KRB5_LNAME_NOTRANS, "No translation available for requested principal" -error_code KRB5_LNAME_BADFORMAT, "Improper format of translation database entry" - -error_code KRB5_CRYPTO_INTERNAL, "Cryptosystem internal error" - -error_code KRB5_KT_BADNAME, "Key table name malformed" -error_code KRB5_KT_UNKNOWN_TYPE, "Unknown Key table type" -error_code KRB5_KT_NOTFOUND, "Key table entry not found" -error_code KRB5_KT_END, "End of key table reached" -error_code KRB5_KT_NOWRITE, "Cannot write to specified key table" -error_code KRB5_KT_IOERR, "Error writing to key table" - -error_code KRB5_NO_TKT_IN_RLM, "Cannot find ticket for requested realm" -error_code KRB5DES_BAD_KEYPAR, "DES key has bad parity" -error_code KRB5DES_WEAK_KEY, "DES key is a weak key" - -error_code KRB5_BAD_ENCTYPE, "Bad encryption type" -error_code KRB5_BAD_KEYSIZE, "Key size is incompatible with encryption type" -error_code KRB5_BAD_MSIZE, "Message size is incompatible with encryption type" - -error_code KRB5_CC_TYPE_EXISTS, "Credentials cache type is already registered." -error_code KRB5_KT_TYPE_EXISTS, "Key table type is already registered." - -error_code KRB5_CC_IO, "Credentials cache I/O operation failed XXX" -error_code KRB5_FCC_PERM, "Credentials cache file permissions incorrect" -error_code KRB5_FCC_NOFILE, "No credentials cache file found" -error_code KRB5_FCC_INTERNAL, "Internal file credentials cache error" -error_code KRB5_CC_WRITE, "Error writing to credentials cache file" -error_code KRB5_CC_NOMEM, "No more memory to allocate (in credentials cache code)" -error_code KRB5_CC_FORMAT, "Bad format in credentials cache" - -# errors for dual tgt library calls -error_code KRB5_INVALID_FLAGS, "Invalid KDC option combination (library internal error)" -error_code KRB5_NO_2ND_TKT, "Request missing second ticket" - -error_code KRB5_NOCREDS_SUPPLIED, "No credentials supplied to library routine" - -# errors for sendauth (and recvauth) - -error_code KRB5_SENDAUTH_BADAUTHVERS, "Bad sendauth version was sent" -error_code KRB5_SENDAUTH_BADAPPLVERS, "Bad application version was sent (via sendauth)" -error_code KRB5_SENDAUTH_BADRESPONSE, "Bad response (during sendauth exchange)" -error_code KRB5_SENDAUTH_REJECTED, "Server rejected authentication (during sendauth exchange)" - -# errors for preauthentication - -error_code KRB5_PREAUTH_BAD_TYPE, "Unsupported preauthentication type" -error_code KRB5_PREAUTH_NO_KEY, "Required preauthentication key not supplied" -error_code KRB5_PREAUTH_FAILED, "Generic preauthentication failure" - -# version number errors - -error_code KRB5_RCACHE_BADVNO, "Unsupported replay cache format version number" -error_code KRB5_CCACHE_BADVNO, "Unsupported credentials cache format version number" -error_code KRB5_KEYTAB_BADVNO, "Unsupported key table format version number" - -# -# - -error_code KRB5_PROG_ATYPE_NOSUPP, "Program lacks support for address type" -error_code KRB5_RC_REQUIRED, "Message replay detection requires rcache parameter" -error_code KRB5_ERR_BAD_HOSTNAME, "Hostname cannot be canonicalized" -error_code KRB5_ERR_HOST_REALM_UNKNOWN, "Cannot determine realm for host" -error_code KRB5_SNAME_UNSUPP_NAMETYPE, "Conversion to service principal undefined for name type" - -error_code KRB5KRB_AP_ERR_V4_REPLY, "Initial Ticket response appears to be Version 4" -error_code KRB5_REALM_CANT_RESOLVE, "Cannot resolve KDC for requested realm" -error_code KRB5_TKT_NOT_FORWARDABLE, "Requesting ticket can't get forwardable tickets" -error_code KRB5_FWD_BAD_PRINCIPAL, "Bad principal name while trying to forward credentials" - -error_code KRB5_GET_IN_TKT_LOOP, "Looping detected inside krb5_get_in_tkt" -error_code KRB5_CONFIG_NODEFREALM, "Configuration file does not specify default realm" - -error_code KRB5_SAM_UNSUPPORTED, "Bad SAM flags in obtain_sam_padata" -error_code KRB5_KT_NAME_TOOLONG, "Keytab name too long" - -end