<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\subsection{error_table krb5}

% $Source: /mit/krb5/.cvsroot/doc/api/errors.tex,v $
% $Author: epeisach $

The Kerberos v5 library error code table follows.
Protocol error codes are ERROR_TABLE_BASE_krb5 + the protocol error
code number.  Other error codes start at ERROR_TABLE_BASE_krb5 + 128.

\begin{small}
\begin{tabular}{ll}
{\sc krb5kdc_err_none }&amp;	 No error \\
{\sc krb5kdc_err_name_exp }&amp; Client's entry in database has expired \\
{\sc krb5kdc_err_service_exp }&amp; Server's entry in database has expired \\
{\sc krb5kdc_err_bad_pvno }&amp; Requested protocol version not supported \\	
{\sc krb5kdc_err_c_old_mast_kvno }&amp; \parbox[t]{2in}{Client's key is encrypted in an old master key} \\
{\sc krb5kdc_err_s_old_mast_kvno }&amp; \parbox[t]{2in}{Server's key is encrypted in an old master key} \\
{\sc krb5kdc_err_c_principal_unknown }&amp;  Client not found in Kerberos database \\
{\sc krb5kdc_err_s_principal_unknown }&amp;  Server not found in Kerberos database \\
{\sc krb5kdc_err_principal_not_unique }&amp;\parbox[t]{2in}{\raggedright{Principal has multiple entries in Kerberos database}} \\
{\sc krb5kdc_err_null_key }&amp; Client or server has a null key \\
{\sc krb5kdc_err_cannot_postdate }&amp; Ticket is ineligible for postdating \\
{\sc krb5kdc_err_never_valid }&amp; \parbox[t]{2in}{Requested effective lifetime is negative or too short} \\
{\sc krb5kdc_err_policy }&amp;	 KDC policy rejects request \\
{\sc krb5kdc_err_badoption }&amp; KDC can't fulfill requested option \\
{\sc krb5kdc_err_etype_nosupp }&amp; KDC has no support for encryption type \\
{\sc krb5kdc_err_sumtype_nosupp }&amp; KDC has no support for checksum type \\
{\sc krb5kdc_err_padata_type_nosupp }&amp;  KDC has no support for padata type \\
{\sc krb5kdc_err_trtype_nosupp }&amp; KDC has no support for transited type \\
{\sc krb5kdc_err_client_revoked }&amp; Clients credentials have been revoked \\
{\sc krb5kdc_err_service_revoked }&amp; Credentials for server have been revoked \\
{\sc krb5kdc_err_tgt_revoked }&amp; TGT has been revoked \\
{\sc krb5kdc_err_client_notyet }&amp; Client not yet valid - try again later \\
{\sc krb5kdc_err_service_notyet }&amp; Server not yet valid - try again later \\
{\sc krb5kdc_err_key_exp }&amp;  	 Password has expired \\
{\sc krb5kdc_preauth_failed }&amp;  	 Preauthentication failed \\
{\sc krb5kdc_err_preauth_require }&amp;	Additional pre-authentication required \\
{\sc krb5kdc_err_server_nomatch }&amp;	Requested server and ticket don't match \\
\multicolumn{2}{c}{error codes 27-30 are currently placeholders}\\

\end{tabular}

\begin{tabular}{ll}
{\sc krb5krb_ap_err_bad_integrity }&amp;  Decrypt integrity check failed \\
{\sc krb5krb_ap_err_tkt_expired }&amp; Ticket expired \\
{\sc krb5krb_ap_err_tkt_nyv }&amp; Ticket not yet valid \\
{\sc krb5krb_ap_err_repeat }&amp; Request is a replay \\
{\sc krb5krb_ap_err_not_us }&amp; The ticket isn't for us \\
{\sc krb5krb_ap_err_badmatch }&amp; Ticket/authenticator don't match \\
{\sc krb5krb_ap_err_skew }&amp; Clock skew too great \\
{\sc krb5krb_ap_err_badaddr }&amp; Incorrect net address \\
{\sc krb5krb_ap_err_badversion }&amp; Protocol version mismatch \\
{\sc krb5krb_ap_err_msg_type }&amp; Invalid message type \\
{\sc krb5krb_ap_err_modified }&amp; Message stream modified \\
{\sc krb5krb_ap_err_badorder }&amp; Message out of order \\
{\sc krb5placehold_43 }&amp;	 KRB5 error code 43 \\
{\sc krb5krb_ap_err_badkeyver }&amp; Key version is not available \\
{\sc krb5krb_ap_err_nokey }&amp; Service key not available \\
{\sc krb5krb_ap_err_mut_fail }&amp; Mutual authentication failed \\
{\sc krb5krb_ap_err_baddirection }&amp; Incorrect message direction \\
{\sc krb5krb_ap_err_method }&amp; Alternative authentication method required \\
{\sc krb5krb_ap_err_badseq }&amp; Incorrect sequence number in message \\
{\sc krb5krb_ap_err_inapp_cksum }&amp; Inappropriate type of checksum in message \\ 
\multicolumn{2}{c}{error codes 51-59 are currently placeholders} \\

{\sc krb5krb_err_generic }&amp; Generic error (see e-text) \\
{\sc krb5krb_err_field_toolong }&amp; Field is too long for this implementation \\
\multicolumn{2}{c}{error codes 62-127 are currently placeholders} \\
\end{tabular}

\begin{tabular}{ll}
{\sc krb5_libos_badlockflag }&amp; Invalid flag for file lock mode \\
{\sc krb5_libos_cantreadpwd }&amp; Cannot read password \\
{\sc krb5_libos_badpwdmatch }&amp; Password mismatch \\
{\sc krb5_libos_pwdintr }&amp;	 Password read interrupted \\
{\sc krb5_parse_illchar }&amp;	 Illegal character in component name \\
{\sc krb5_parse_malformed }&amp; Malformed representation of principal \\
{\sc krb5_config_cantopen }&amp; Can't open/find configuration file \\
{\sc krb5_config_badformat }&amp; Improper format of configuration file \\
{\sc krb5_config_notenufspace }&amp; Insufficient space to return complete information \\
{\sc krb5_badmsgtype }&amp;	 Invalid message type specified for encoding \\
{\sc krb5_cc_badname }&amp;	 Credential cache name malformed \\
{\sc krb5_cc_unknown_type }&amp; Unknown credential cache type  \\
{\sc krb5_cc_notfound }&amp;	 Matching credential not found \\
{\sc krb5_cc_end }&amp;		 End of credential cache reached \\
{\sc krb5_no_tkt_supplied }&amp; Request did not supply a ticket \\
{\sc krb5krb_ap_wrong_princ }&amp;	 Wrong principal in request \\
{\sc krb5krb_ap_err_tkt_invalid }&amp; Ticket has invalid flag set \\
{\sc krb5_princ_nomatch }&amp;	 Requested principal and ticket don't match \\
{\sc krb5_kdcrep_modified }&amp; KDC reply did not match expectations \\
{\sc krb5_kdcrep_skew }&amp;	Clock skew too great in KDC reply \\
{\sc krb5_in_tkt_realm_mismatch }&amp;\parbox[t]{2.5 in}{Client/server realm
mismatch in initial ticket requst}\\

{\sc krb5_prog_etype_nosupp }&amp; Program lacks support for encryption type \\
{\sc krb5_prog_keytype_nosupp }&amp; Program lacks support for key type \\
{\sc krb5_wrong_etype }&amp;	 Requested encryption type not used in message \\
{\sc krb5_prog_sumtype_nosupp }&amp; Program lacks support for checksum type \\
{\sc krb5_realm_unknown }&amp;	 Cannot find KDC for requested realm \\
{\sc krb5_service_unknown }&amp;	Kerberos service unknown \\
{\sc krb5_kdc_unreach }&amp;	 Cannot contact any KDC for requested realm \\
{\sc krb5_no_localname }&amp;	 No local name found for principal name \\

%\multicolumn{1}{c}{some of these should be combined/supplanted by system codes} \\
\end{tabular}

\begin{tabular}{ll}
{\sc krb5_rc_type_exists }&amp;	 Replay cache type is already registered \\
{\sc krb5_rc_malloc }&amp;	 No more memory to allocate (in replay cache code) \\
{\sc krb5_rc_type_notfound }&amp; Replay cache type is unknown \\
{\sc krb5_rc_unknown }&amp;	 Generic unknown RC error \\
{\sc krb5_rc_replay }&amp;	 Message is a replay \\
{\sc krb5_rc_io }&amp;		 Replay I/O operation failed XXX \\
{\sc krb5_rc_noio }&amp;	 \parbox[t]{3in}{Replay cache type does not support non-volatile storage} \\
{\sc krb5_rc_parse }&amp; Replay cache name parse/format error \\
{\sc krb5_rc_io_eof }&amp;	 End-of-file on replay cache I/O \\
{\sc krb5_rc_io_malloc }&amp; \parbox[t]{3in}{No more memory to allocate (in replay cache I/O code)}\\
{\sc krb5_rc_io_perm }&amp;	 Permission denied in replay cache code \\
{\sc krb5_rc_io_io }&amp;	 I/O error in replay cache i/o code \\
{\sc krb5_rc_io_unknown }&amp;	 Generic unknown RC/IO error \\
{\sc krb5_rc_io_space }&amp; Insufficient system space to store replay information \\
{\sc krb5_trans_cantopen }&amp;	 Can't open/find realm translation file \\
{\sc krb5_trans_badformat }&amp; Improper format of realm translation file \\
{\sc krb5_lname_cantopen }&amp;	 Can't open/find lname translation database \\
{\sc krb5_lname_notrans }&amp;	 No translation available for requested principal \\
{\sc krb5_lname_badformat }&amp; Improper format of translation database entry \\
{\sc krb5_crypto_internal }&amp; Cryptosystem internal error \\
{\sc krb5_kt_badname }&amp;	 Key table name malformed \\
{\sc krb5_kt_unknown_type }&amp; Unknown Key table type  \\
{\sc krb5_kt_notfound }&amp;	 Key table entry not found \\
{\sc krb5_kt_end }&amp;		 End of key table reached \\
{\sc krb5_kt_nowrite }&amp;	 Cannot write to specified key table \\
{\sc krb5_kt_ioerr }&amp;	 Error writing to key table \\
{\sc krb5_no_tkt_in_rlm }&amp;	 Cannot find ticket for requested realm \\
{\sc krb5des_bad_keypar }&amp;	 DES key has bad parity \\
{\sc krb5des_weak_key }&amp;	 DES key is a weak key \\
{\sc krb5_bad_keytype }&amp;	 Keytype is incompatible with encryption type \\
{\sc krb5_bad_keysize }&amp;	 Key size is incompatible with encryption type \\
{\sc krb5_bad_msize }&amp;	 Message size is incompatible with encryption type \\
{\sc krb5_cc_type_exists }&amp;	 Credentials cache type is already registered. \\
{\sc krb5_kt_type_exists }&amp;	 Key table type is already registered. \\
{\sc krb5_cc_io }&amp;		 Credentials cache I/O operation failed XXX \\
{\sc krb5_fcc_perm }&amp;	 Credentials cache file permissions incorrect \\
{\sc krb5_fcc_nofile }&amp;	 No credentials cache file found \\
{\sc krb5_fcc_internal }&amp;	 Internal file credentials cache error \\
{\sc krb5_cc_nomem }&amp; \parbox[t]{3in}{No more memory to allocate (in credentials cache code)}\\ 
\end{tabular}

\begin{tabular}{ll}
\multicolumn{2}{c}{errors for dual TGT library calls} \\

{\sc krb5_invalid_flags }&amp; Invalid KDC option combination (library internal error) \\
{\sc krb5_no_2nd_tkt }&amp;	 Request missing second ticket \\
{\sc krb5_nocreds_supplied }&amp; No credentials supplied to library routine \\

\end{tabular}

\begin{tabular}{ll}
\multicolumn{2}{c}{errors for sendauth and recvauth} \\

{\sc krb5_sendauth_badauthvers }&amp; Bad sendauth version was sent \\
{\sc krb5_sendauth_badapplvers }&amp; Bad application version was sent (via sendauth) \\
{\sc krb5_sendauth_badresponse }&amp; Bad response (during sendauth exchange) \\
{\sc krb5_sendauth_rejected }&amp; Server rejected authentication\\
&amp; \ (during sendauth exchange) \\
{\sc krb5_sendauth_mutual_failed }&amp; Mutual authentication failed\\&amp;\ (during sendauth exchange) \\

\end{tabular}

\begin{tabular}{ll}
\multicolumn{2}{c}{errors for preauthentication} \\

{\sc krb5_preauth_bad_type }&amp; Unsupported preauthentication type \\
{\sc krb5_preauth_no_key }&amp;	 Required preauthentication key not supplied \\
{\sc krb5_preauth_failed }&amp;	 Generic preauthentication failure \\

\end{tabular}

\begin{tabular}{ll}
\multicolumn{2}{c}{version number errors} \\

{\sc krb5_rcache_badvno }&amp; Unsupported replay cache format version number \\
{\sc krb5_ccache_badvno }&amp; Unsupported credentials cache format version number \\
{\sc krb5_keytab_badvno }&amp; Unsupported key table format version number \\

\end{tabular}

\begin{tabular}{ll}
\multicolumn{2}{c}{other errors} \\ 

{\sc krb5_prog_atype_nosupp }&amp; Program lacks support for address type \\
{\sc krb5_rc_required }&amp; Message replay detection requires\\&amp;\  rcache parameter \\
{\sc krb5_err_bad_hostname }&amp; Hostname cannot be canonicalized \\
{\sc krb5_err_host_realm_unknown }&amp; Cannot determine realm for host \\
{\sc krb5_sname_unsupp_nametype }&amp; Conversion to service principal undefined\\&amp;\ for name type \\
{\sc krb5krb_ap_err_v4_reply }&amp; Initial Ticket Response appears to be\\
&amp;\ Version 4 error \\
{\sc krb5_realm_cant_resolve }&amp; Cannot resolve KDC for requested realm \\
{\sc krb5_tkt_not_forwardable }&amp; Requesting ticket can't get forwardable tickets \\
\end{tabular}
\end{small}

\subsection{error_table kdb5}

% $Source: /mit/krb5/.cvsroot/doc/api/errors.tex,v $
% $Author: epeisach $

The Kerberos v5 database library error code table

\begin{small}
\begin{tabular}{ll}
\multicolumn{2}{c}{From the server side routines} \\
{\sc krb5_kdb_inuse }&amp;	Entry already exists in database\\
{\sc krb5_kdb_uk_serror }&amp;	Database store error\\
{\sc krb5_kdb_uk_rerror }&amp;	Database read error\\
{\sc krb5_kdb_unauth }&amp;	Insufficient access to perform requested operation\\
{\sc krb5_kdb_noentry }&amp;	No such entry in the database\\
{\sc krb5_kdb_ill_wildcard }&amp; Illegal use of wildcard\\
{\sc krb5_kdb_db_inuse }&amp;	Database is locked or in use--try again later\\
{\sc krb5_kdb_db_changed }&amp;	Database was modified during read\\
{\sc krb5_kdb_truncated_record }&amp;	Database record is incomplete or corrupted\\
{\sc krb5_kdb_recursivelock }&amp;	Attempt to lock database twice\\
{\sc krb5_kdb_notlocked }&amp;		Attempt to unlock database when not locked\\
{\sc krb5_kdb_badlockmode }&amp;	Invalid kdb lock mode\\
{\sc krb5_kdb_dbnotinited }&amp;	Database has not been initialized\\
{\sc krb5_kdb_dbinited }&amp;		Database has already been initialized\\
{\sc krb5_kdb_illdirection }&amp;	Bad direction for converting keys\\
{\sc krb5_kdb_nomasterkey }&amp;	Cannot find master key record in database\\
{\sc krb5_kdb_badmasterkey }&amp;	Master key does not match database\\
{\sc krb5_kdb_invalidkeysize }&amp;	Key size in database is invalid\\
{\sc krb5_kdb_cantread_stored }&amp;	Cannot find/read stored master key\\
{\sc krb5_kdb_badstored_mkey }&amp;	Stored master key is corrupted\\
{\sc krb5_kdb_cantlock_db }&amp;	Insufficient access to lock database \\
{\sc krb5_kdb_db_corrupt }&amp;		Database format error\\
{\sc krb5_kdb_bad_version }&amp;	Unsupported version in database entry \\
\end{tabular}
\end{small}

% $Source: /mit/krb5/.cvsroot/doc/api/errors.tex,v $
% $Author: epeisach $

\subsection{error_table kv5m}

The Kerberos v5 magic numbers errorcode table follows. These are used
for the magic numbers found in data structures.

\begin{small}
\begin{tabular}{ll} 
{\sc kv5m_none }&amp;		Kerberos V5 magic number table \\
{\sc kv5m_principal }&amp;	Bad magic number for krb5_principal structure \\
{\sc kv5m_data }&amp;		Bad magic number for krb5_data structure \\
{\sc kv5m_keyblock }&amp;	Bad magic number for krb5_keyblock structure \\
{\sc kv5m_checksum }&amp;	Bad magic number for krb5_checksum structure \\
{\sc kv5m_encrypt_block }&amp;	Bad magic number for krb5_encrypt_block structure \\
{\sc kv5m_enc_data }&amp;	Bad magic number for krb5_enc_data structure \\
{\sc kv5m_cryptosystem_entry }&amp;	Bad magic number for krb5_cryptosystem_entry\\&amp;\ structure \\
{\sc kv5m_cs_table_entry }&amp;	Bad magic number for krb5_cs_table_entry structure \\
{\sc kv5m_checksum_entry }&amp;	Bad magic number for krb5_checksum_entry structure \\

{\sc kv5m_authdata }&amp;	Bad magic number for krb5_authdata structure \\
{\sc kv5m_transited }&amp;	Bad magic number for krb5_transited structure \\
{\sc kv5m_enc_tkt_parT }&amp;	Bad magic number for krb5_enc_tkt_part structure \\
{\sc kv5m_ticket }&amp;		Bad magic number for krb5_ticket structure \\
{\sc kv5m_authenticator }&amp;	Bad magic number for krb5_authenticator structure \\
{\sc kv5m_tkt_authent }&amp;	Bad magic number for krb5_tkt_authent structure \\
{\sc kv5m_creds }&amp;		Bad magic number for krb5_creds structure \\
{\sc kv5m_last_req_entry }&amp;	Bad magic number for krb5_last_req_entry structure \\
{\sc kv5m_pa_data }&amp;		Bad magic number for krb5_pa_data structure \\
{\sc kv5m_kdc_req }&amp;		Bad magic number for krb5_kdc_req structure \\
{\sc kv5m_enc_kdc_rep_part }&amp; Bad magic number for krb5_enc_kdc_rep_part structure \\
{\sc kv5m_kdc_rep }&amp;		Bad magic number for krb5_kdc_rep structure \\
{\sc kv5m_error }&amp;		Bad magic number for krb5_error structure \\
{\sc kv5m_ap_req }&amp;		Bad magic number for krb5_ap_req structure \\
{\sc kv5m_ap_rep }&amp;		Bad magic number for krb5_ap_rep structure \\
{\sc kv5m_ap_rep_enc_part }&amp;	Bad magic number for krb5_ap_rep_enc_part structure \\
{\sc kv5m_response }&amp;	Bad magic number for krb5_response structure \\
{\sc kv5m_safe }&amp;		Bad magic number for krb5_safe structure \\
{\sc kv5m_priv }&amp;		Bad magic number for krb5_priv structure \\
{\sc kv5m_priv_enc_part }&amp;	Bad magic number for krb5_priv_enc_part structure \\
{\sc kv5m_cred }&amp;		Bad magic number for krb5_cred structure \\
{\sc kv5m_cred_info }&amp;	Bad magic number for krb5_cred_info structure \\
{\sc kv5m_cred_enc_part }&amp;	Bad magic number for krb5_cred_enc_part structure \\
{\sc kv5m_pwd_data }&amp;	Bad magic number for krb5_pwd_data structure \\
{\sc kv5m_address }&amp;	Bad magic number for krb5_address structure \\
{\sc kv5m_keytab_entry }&amp;	Bad magic number for krb5_keytab_entry structure \\
{\sc kv5m_context }&amp;	Bad magic number for krb5_context structure \\
{\sc kv5m_os_context }&amp;	Bad magic number for krb5_os_context structure \\

\end{tabular}
\end{small}

\subsection{error_table asn1}

The Kerberos v5/ASN.1 error table mappings

\begin{small}
\begin{tabular}{ll}
{\sc asn1_bad_timeformat }&amp;	ASN.1 failed call to system time library \\
{\sc asn1_missing_field }&amp;	ASN.1 structure is missing a required field \\
{\sc asn1_misplaced_field }&amp;	ASN.1 unexpected field number \\
{\sc asn1_type_mismatch }&amp;	ASN.1 type numbers are inconsistent \\
{\sc asn1_overflow }&amp;	ASN.1 value too large \\
{\sc asn1_overrun }&amp;	ASN.1 encoding ended unexpectedly \\
{\sc asn1_bad_id }&amp;	ASN.1 identifier doesn't match expected value \\
{\sc asn1_bad_length }&amp;	ASN.1 length doesn't match expected value \\
{\sc asn1_bad_format }&amp;	ASN.1 badly-formatted encoding \\
{\sc asn1_parse_error }&amp;	ASN.1 parse error \\
\end{tabular}
\end{small}

</pre></body></html>