/*
 * krb5_err.c:
 * This file is automatically generated; please do not edit it.
 */

#include <stdlib.h>

#define N_(a) a

static const char * const text[] = {
	N_("No error"),
	N_("Client's entry in database has expired"),
	N_("Server's entry in database has expired"),
	N_("Requested protocol version not supported"),
	N_("Client's key is encrypted in an old master key"),
	N_("Server's key is encrypted in an old master key"),
	N_("Client not found in Kerberos database"),
	N_("Server not found in Kerberos database"),
	N_("Principal has multiple entries in Kerberos database"),
	N_("Client or server has a null key"),
	N_("Ticket is ineligible for postdating"),
	N_("Requested effective lifetime is negative or too short"),
	N_("KDC policy rejects request"),
	N_("KDC can't fulfill requested option"),
	N_("KDC has no support for encryption type"),
	N_("KDC has no support for checksum type"),
	N_("KDC has no support for padata type"),
	N_("KDC has no support for transited type"),
	N_("Clients credentials have been revoked"),
	N_("Credentials for server have been revoked"),
	N_("TGT has been revoked"),
	N_("Client not yet valid - try again later"),
	N_("Server not yet valid - try again later"),
	N_("Password has expired"),
	N_("Preauthentication failed"),
	N_("Additional pre-authentication required"),
	N_("Requested server and ticket don't match"),
	N_("Server principal valid for user2user only"),
	N_("KDC Policy rejects transited path"),
	N_("A service is not available"),
	N_("Reserved krb5 error (30)"),
	N_("Decrypt integrity check failed"),
	N_("Ticket expired"),
	N_("Ticket not yet valid"),
	N_("Request is a replay"),
	N_("The ticket isn't for us"),
	N_("Ticket/authenticator don't match"),
	N_("Clock skew too great"),
	N_("Incorrect net address"),
	N_("Protocol version mismatch"),
	N_("Invalid message type"),
	N_("Message stream modified"),
	N_("Message out of order"),
	N_("Invalid cross-realm ticket"),
	N_("Key version is not available"),
	N_("Service key not available"),
	N_("Mutual authentication failed"),
	N_("Incorrect message direction"),
	N_("Alternative authentication method required"),
	N_("Incorrect sequence number in message"),
	N_("Inappropriate type of checksum in message"),
	N_("Policy rejects transited path"),
	N_("Response too big for UDP, retry with TCP"),
	N_("Reserved krb5 error (53)"),
	N_("Reserved krb5 error (54)"),
	N_("Reserved krb5 error (55)"),
	N_("Reserved krb5 error (56)"),
	N_("Reserved krb5 error (57)"),
	N_("Reserved krb5 error (58)"),
	N_("Reserved krb5 error (59)"),
	N_("Generic error (see e-text)"),
	N_("Field is too long for this implementation"),
	N_("Client not trusted"),
	N_("KDC not trusted"),
	N_("Invalid signature"),
	N_("DH parameters not accepted"),
	N_("Reserved krb5 error (66)"),
	N_("Reserved krb5 error (67)"),
	N_("Wrong realm"),
	N_("User to user required"),
	N_("Cannot verify certificate"),
	N_("Certificate invalid"),
	N_("Certificate revoked"),
	N_("Revocation status unknown"),
	N_("Revocation status unavaible"),
	N_("Client name mismatch in certificate"),
	N_("Inconsistent key purpose"),
	N_("Digest in certificate not accepted"),
	N_("paChecksum must be included"),
	N_("Digest in signedData not accepted"),
	N_("Public key encryption not supported"),
	N_("Reserved krb5 error (81)"),
	N_("Reserved krb5 error (82)"),
	N_("Reserved krb5 error (83)"),
	N_("Reserved krb5 error (84)"),
	N_("Reserved krb5 error (85)"),
	N_("Reserved krb5 error (86)"),
	N_("Reserved krb5 error (87)"),
	N_("Reserved krb5 error (88)"),
	N_("Reserved krb5 error (89)"),
	N_("Reserved krb5 error (90)"),
	N_("Reserved krb5 error (91)"),
	N_("Reserved krb5 error (92)"),
	N_("Reserved krb5 error (93)"),
	N_("Invalid OTP digest algorithm"),
	N_("Invalid OTP iteration count"),
	N_("Reserved krb5 error (96)"),
	N_("Reserved krb5 error (97)"),
	N_("Reserved krb5 error (98)"),
	N_("Reserved krb5 error (99)"),
	N_("No acceptable KDF offered"),
	N_("Reserved krb5 error (101)"),
	N_("Reserved krb5 error (102)"),
	N_("Reserved krb5 error (103)"),
	N_("Reserved krb5 error (104)"),
	N_("Reserved krb5 error (105)"),
	N_("Reserved krb5 error (106)"),
	N_("Reserved krb5 error (107)"),
	N_("Reserved krb5 error (108)"),
	N_("Reserved krb5 error (109)"),
	N_("Reserved krb5 error (110)"),
	N_("Reserved krb5 error (111)"),
	N_("Reserved krb5 error (112)"),
	N_("Reserved krb5 error (113)"),
	N_("Reserved krb5 error (114)"),
	N_("Reserved krb5 error (115)"),
	N_("Reserved krb5 error (116)"),
	N_("Reserved krb5 error (117)"),
	N_("Reserved krb5 error (118)"),
	N_("Reserved krb5 error (119)"),
	N_("Reserved krb5 error (120)"),
	N_("Reserved krb5 error (121)"),
	N_("Reserved krb5 error (122)"),
	N_("Reserved krb5 error (123)"),
	N_("Reserved krb5 error (124)"),
	N_("Reserved krb5 error (125)"),
	N_("Reserved krb5 error (126)"),
	N_("Reserved krb5 error (127)"),
	N_("$Id$"),
	N_("Invalid flag for file lock mode"),
	N_("Cannot read password"),
	N_("Password mismatch"),
	N_("Password read interrupted"),
	N_("Invalid character in component name"),
	N_("Malformed representation of principal"),
	N_("Can't open/find configuration file"),
	N_("Improper format of configuration file"),
	N_("Insufficient space to return complete information"),
	N_("Invalid message type specified for encoding"),
	N_("Credential cache name malformed"),
	N_("Unknown credential cache type"),
	N_("Matching credential not found"),
	N_("End of credential cache reached"),
	N_("Request did not supply a ticket"),
	N_("Wrong principal in request"),
	N_("Ticket has invalid flag set"),
	N_("Requested principal and ticket don't match"),
	N_("KDC reply did not match expectations"),
	N_("Clock skew too great in KDC reply"),
	N_("Client/server realm mismatch in initial ticket request"),
	N_("Program lacks support for encryption type"),
	N_("Program lacks support for key type"),
	N_("Requested encryption type not used in message"),
	N_("Program lacks support for checksum type"),
	N_("Cannot find KDC for requested realm"),
	N_("Kerberos service unknown"),
	N_("Cannot contact any KDC for requested realm"),
	N_("No local name found for principal name"),
	N_("Mutual authentication failed"),
	N_("Replay cache type is already registered"),
	N_("No more memory to allocate (in replay cache code)"),
	N_("Replay cache type is unknown"),
	N_("Generic unknown RC error"),
	N_("Message is a replay"),
	N_("Replay I/O operation failed XXX"),
	N_("Replay cache type does not support non-volatile storage"),
	N_("Replay cache name parse/format error"),
	N_("End-of-file on replay cache I/O"),
	N_("No more memory to allocate (in replay cache I/O code)"),
	N_("Permission denied in replay cache code"),
	N_("I/O error in replay cache i/o code"),
	N_("Generic unknown RC/IO error"),
	N_("Insufficient system space to store replay information"),
	N_("Can't open/find realm translation file"),
	N_("Improper format of realm translation file"),
	N_("Can't open/find lname translation database"),
	N_("No translation available for requested principal"),
	N_("Improper format of translation database entry"),
	N_("Cryptosystem internal error"),
	N_("Key table name malformed"),
	N_("Unknown Key table type"),
	N_("Key table entry not found"),
	N_("End of key table reached"),
	N_("Cannot write to specified key table"),
	N_("Error writing to key table"),
	N_("Cannot find ticket for requested realm"),
	N_("DES key has bad parity"),
	N_("DES key is a weak key"),
	N_("Bad encryption type"),
	N_("Key size is incompatible with encryption type"),
	N_("Message size is incompatible with encryption type"),
	N_("Credentials cache type is already registered."),
	N_("Key table type is already registered."),
	N_("Credentials cache I/O operation failed XXX"),
	N_("Credentials cache file permissions incorrect"),
	N_("No credentials cache file found"),
	N_("Internal file credentials cache error"),
	N_("Error writing to credentials cache file"),
	N_("No more memory to allocate (in credentials cache code)"),
	N_("Bad format in credentials cache"),
	N_("No credentials found with supported encryption types"),
	N_("Invalid KDC option combination (library internal error)"),
	N_("Request missing second ticket"),
	N_("No credentials supplied to library routine"),
	N_("Bad sendauth version was sent"),
	N_("Bad application version was sent (via sendauth)"),
	N_("Bad response (during sendauth exchange)"),
	N_("Server rejected authentication (during sendauth exchange)"),
	N_("Unsupported preauthentication type"),
	N_("Required preauthentication key not supplied"),
	N_("Generic preauthentication failure"),
	N_("Unsupported replay cache format version number"),
	N_("Unsupported credentials cache format version number"),
	N_("Unsupported key table format version number"),
	N_("Program lacks support for address type"),
	N_("Message replay detection requires rcache parameter"),
	N_("Hostname cannot be canonicalized"),
	N_("Cannot determine realm for host"),
	N_("Conversion to service principal undefined for name type"),
	N_("Initial Ticket response appears to be Version 4"),
	N_("Cannot resolve KDC for requested realm"),
	N_("Requesting ticket can't get forwardable tickets"),
	N_("Bad principal name while trying to forward credentials"),
	N_("Looping detected inside krb5_get_in_tkt"),
	N_("Configuration file does not specify default realm"),
	N_("Bad SAM flags in obtain_sam_padata"),
	N_("Invalid encryption type in SAM challenge"),
	N_("Missing checksum in SAM challenge"),
	N_("Bad checksum in SAM challenge"),
	N_("Reserved krb5 error (229)"),
	N_("Reserved krb5 error (230)"),
	N_("Reserved krb5 error (231)"),
	N_("Reserved krb5 error (232)"),
	N_("Reserved krb5 error (233)"),
	N_("Reserved krb5 error (234)"),
	N_("Reserved krb5 error (235)"),
	N_("Reserved krb5 error (236)"),
	N_("Reserved krb5 error (237)"),
	N_("Program called an obsolete, deleted function"),
	N_("Reserved krb5 error (239)"),
	N_("Reserved krb5 error (240)"),
	N_("Reserved krb5 error (241)"),
	N_("Reserved krb5 error (242)"),
	N_("Reserved krb5 error (243)"),
	N_("Reserved krb5 error (244)"),
	N_("Invalid key generation parameters from KDC"),
	N_("Service not available"),
	N_("Credential cache function not supported"),
	N_("Invalid format of Kerberos lifetime or clock skew string"),
	N_("Supplied data not handled by this plugin"),
	N_("Plugin does not support the operaton"),
    0
};

struct error_table {
    char const * const * msgs;
    long base;
    int n_msgs;
};
struct et_list {
    struct et_list *next;
    const struct error_table * table;
};
extern struct et_list *_et_list;

const struct error_table et_krb5_error_table = { text, -1765328384L, 251 };

static struct et_list link = { 0, 0 };

void initialize_krb5_error_table_r(struct et_list **list);
void initialize_krb5_error_table(void);

void initialize_krb5_error_table(void) {
    initialize_krb5_error_table_r(&_et_list);
}

/* For Heimdal compatibility */
void initialize_krb5_error_table_r(struct et_list **list)
{
    struct et_list *et, **end;

    for (end = list, et = *list; et; end = &et->next, et = et->next)
        if (et->table->msgs == text)
            return;
    et = malloc(sizeof(struct et_list));
    if (et == 0) {
        if (!link.table)
            et = &link;
        else
            return;
    }
    et->table = &et_krb5_error_table;
    et->next = 0;
    *end = et;
}
