Home | History | Annotate | Download | only in et
      1 /*
      2  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
      3  * Use is subject to license terms.
      4  */
      5 
      6 #include <locale.h>
      7 #include <security/cryptoki.h>
      8 #include <security/pkcs11.h>
      9 
     10 const char *
     11 krb5_error_table(long errorno) {
     12 
     13 switch (errorno) {
     14 	case 0:
     15 		return (dgettext(TEXT_DOMAIN,
     16 			"No error"));
     17 	case 1:
     18 		return (dgettext(TEXT_DOMAIN,
     19 			"Client's entry in database has expired"));
     20 	case 2:
     21 		return (dgettext(TEXT_DOMAIN,
     22 			"Server's entry in database has expired"));
     23 	case 3:
     24 		return (dgettext(TEXT_DOMAIN,
     25 			"Requested protocol version not supported"));
     26 	case 4:
     27 		return (dgettext(TEXT_DOMAIN,
     28 			"Client's key is encrypted in an old master key"));
     29 	case 5:
     30 		return (dgettext(TEXT_DOMAIN,
     31 			"Server's key is encrypted in an old master key"));
     32 	case 6:
     33 		return (dgettext(TEXT_DOMAIN,
     34 			"Client not found in Kerberos database"));
     35 	case 7:
     36 		return (dgettext(TEXT_DOMAIN,
     37 			"Server not found in Kerberos database"));
     38 	case 8:
     39 		return (dgettext(TEXT_DOMAIN,
     40 			"Principal has multiple entries in Kerberos database"));
     41 	case 9:
     42 		return (dgettext(TEXT_DOMAIN,
     43 			"Client or server has a null key"));
     44 	case 10:
     45 		return (dgettext(TEXT_DOMAIN,
     46 			"Ticket is ineligible for postdating"));
     47 	case 11:
     48 		return (dgettext(TEXT_DOMAIN,
     49 		"Requested effective lifetime is negative or too short"));
     50 	case 12:
     51 		return (dgettext(TEXT_DOMAIN,
     52 			"KDC policy rejects request"));
     53 	case 13:
     54 		return (dgettext(TEXT_DOMAIN,
     55 			"KDC can't fulfill requested option"));
     56 	case 14:
     57 		return (dgettext(TEXT_DOMAIN,
     58 			"KDC has no support for encryption type"));
     59 	case 15:
     60 		return (dgettext(TEXT_DOMAIN,
     61 			"KDC has no support for checksum type"));
     62 	case 16:
     63 		return (dgettext(TEXT_DOMAIN,
     64 			"KDC has no support for padata type"));
     65 	case 17:
     66 		return (dgettext(TEXT_DOMAIN,
     67 			"KDC has no support for transited type"));
     68 	case 18:
     69 		return (dgettext(TEXT_DOMAIN,
     70 			"Clients credentials have been revoked"));
     71 	case 19:
     72 		return (dgettext(TEXT_DOMAIN,
     73 			"Credentials for server have been revoked"));
     74 	case 20:
     75 		return (dgettext(TEXT_DOMAIN,
     76 			"TGT has been revoked"));
     77 	case 21:
     78 		return (dgettext(TEXT_DOMAIN,
     79 			"Client not yet valid - try again later"));
     80 	case 22:
     81 		return (dgettext(TEXT_DOMAIN,
     82 			"Server not yet valid - try again later"));
     83 	case 23:
     84 		return (dgettext(TEXT_DOMAIN,
     85 			"Password has expired"));
     86 	case 24:
     87 		return (dgettext(TEXT_DOMAIN,
     88 			"Preauthentication failed"));
     89 	case 25:
     90 		return (dgettext(TEXT_DOMAIN,
     91 			"Additional pre-authentication required"));
     92 	case 26:
     93 		return (dgettext(TEXT_DOMAIN,
     94 			"Requested server and ticket don't match"));
     95 	case 27:
     96 		return (dgettext(TEXT_DOMAIN,
     97 			"KRB5 error code 27"));
     98 	case 28:
     99 		return (dgettext(TEXT_DOMAIN,
    100 			"KRB5 error code 28"));
    101 	case 29:
    102 		return (dgettext(TEXT_DOMAIN,
    103 			"A service is not available that is required to "
    104 			"process the request"));
    105 	case 30:
    106 		return (dgettext(TEXT_DOMAIN,
    107 			"KRB5 error code 30"));
    108 	case 31:
    109 		return (dgettext(TEXT_DOMAIN,
    110 			"Decrypt integrity check failed"));
    111 	case 32:
    112 		return (dgettext(TEXT_DOMAIN,
    113 			"Ticket expired"));
    114 	case 33:
    115 		return (dgettext(TEXT_DOMAIN,
    116 			"Ticket not yet valid"));
    117 	case 34:
    118 		return (dgettext(TEXT_DOMAIN,
    119 			"Request is a replay"));
    120 	case 35:
    121 		return (dgettext(TEXT_DOMAIN,
    122 			"The ticket isn't for us"));
    123 	case 36:
    124 		return (dgettext(TEXT_DOMAIN,
    125 			"Ticket/authenticator don't match"));
    126 	case 37:
    127 		return (dgettext(TEXT_DOMAIN,
    128 			"Clock skew too great"));
    129 	case 38:
    130 		return (dgettext(TEXT_DOMAIN,
    131 			"Incorrect net address"));
    132 	case 39:
    133 		return (dgettext(TEXT_DOMAIN,
    134 			"Protocol version mismatch"));
    135 	case 40:
    136 		return (dgettext(TEXT_DOMAIN,
    137 			"Invalid message type"));
    138 	case 41:
    139 		return (dgettext(TEXT_DOMAIN,
    140 			"Message stream modified"));
    141 	case 42:
    142 		return (dgettext(TEXT_DOMAIN,
    143 			"Message out of order"));
    144 	case 43:
    145 		return (dgettext(TEXT_DOMAIN,
    146 			"Illegal cross-realm ticket"));
    147 	case 44:
    148 		return (dgettext(TEXT_DOMAIN,
    149 			"Key version is not available"));
    150 	case 45:
    151 		return (dgettext(TEXT_DOMAIN,
    152 			"Service key not available"));
    153 	case 46:
    154 		return (dgettext(TEXT_DOMAIN,
    155 			"Mutual authentication failed"));
    156 	case 47:
    157 		return (dgettext(TEXT_DOMAIN,
    158 			"Incorrect message direction"));
    159 	case 48:
    160 		return (dgettext(TEXT_DOMAIN,
    161 			"Alternative authentication method required"));
    162 	case 49:
    163 		return (dgettext(TEXT_DOMAIN,
    164 			"Incorrect sequence number in message"));
    165 	case 50:
    166 		return (dgettext(TEXT_DOMAIN,
    167 			"Inappropriate type of checksum in message"));
    168 	case 51:
    169 		return (dgettext(TEXT_DOMAIN,
    170 			"Policy rejects transited path"));
    171 	case 52:
    172 		return (dgettext(TEXT_DOMAIN,
    173 			"Response too big for UDP, retry with TCP"));
    174 	case 53:
    175 		return (dgettext(TEXT_DOMAIN,
    176 			"KRB5 error code 53"));
    177 	case 54:
    178 		return (dgettext(TEXT_DOMAIN,
    179 			"KRB5 error code 54"));
    180 	case 55:
    181 		return (dgettext(TEXT_DOMAIN,
    182 			"KRB5 error code 55"));
    183 	case 56:
    184 		return (dgettext(TEXT_DOMAIN,
    185 			"KRB5 error code 56"));
    186 	case 57:
    187 		return (dgettext(TEXT_DOMAIN,
    188 			"KRB5 error code 57"));
    189 	case 58:
    190 		return (dgettext(TEXT_DOMAIN,
    191 			"KRB5 error code 58"));
    192 	case 59:
    193 		return (dgettext(TEXT_DOMAIN,
    194 			"KRB5 error code 59"));
    195 	case 60:
    196 		return (dgettext(TEXT_DOMAIN,
    197 			"Generic error (see e-text)"));
    198 	case 61:
    199 		return (dgettext(TEXT_DOMAIN,
    200 			"Field is too long for this implementation"));
    201 	case 62:
    202 		return (dgettext(TEXT_DOMAIN,
    203 			"Client not trusted"));
    204 	case 63:
    205 		return (dgettext(TEXT_DOMAIN,
    206 			"KDC not trusted"));
    207 	case 64:
    208 		return (dgettext(TEXT_DOMAIN,
    209 			"Invalid signature"));
    210 	case 65:
    211 		return (dgettext(TEXT_DOMAIN,
    212 			"Key parameters not accepted"));
    213 	case 66:
    214 		return (dgettext(TEXT_DOMAIN,
    215 			"Certificate mismatch"));
    216 	case 67:
    217 		return (dgettext(TEXT_DOMAIN,
    218 			"KRB5 error code 67"));
    219 	case 68:
    220 		return (dgettext(TEXT_DOMAIN,
    221 			"KRB5 error code 68"));
    222 	case 69:
    223 		return (dgettext(TEXT_DOMAIN,
    224 			"KRB5 error code 69"));
    225 	case 70:
    226 		return (dgettext(TEXT_DOMAIN,
    227 			"Can't verify certificate"));
    228 	case 71:
    229 		return (dgettext(TEXT_DOMAIN,
    230 			"Invalid certificate"));
    231 	case 72:
    232 		return (dgettext(TEXT_DOMAIN,
    233 			"Revoked certificate"));
    234 	case 73:
    235 		return (dgettext(TEXT_DOMAIN,
    236 			"Revocation status unknown"));
    237 	case 74:
    238 		return (dgettext(TEXT_DOMAIN,
    239 			"Revocation status unavailable"));
    240 	case 75:
    241 		return (dgettext(TEXT_DOMAIN,
    242 			"Client name mismatch"));
    243 	case 76:
    244 		return (dgettext(TEXT_DOMAIN,
    245 			"KDC name mismatch"));
    246 	case 77:
    247 		return (dgettext(TEXT_DOMAIN,
    248 			"Inconsistent key purpose"));
    249 	case 78:
    250 		return (dgettext(TEXT_DOMAIN,
    251 			"Digest in certificate not accepted"));
    252 	case 79:
    253 		return (dgettext(TEXT_DOMAIN,
    254 			"Checksum must be included"));
    255 	case 80:
    256 		return (dgettext(TEXT_DOMAIN,
    257 			"Digest in signed-data not accepted"));
    258 	case 81:
    259 		return (dgettext(TEXT_DOMAIN,
    260 			"Public key encryption not supported"));
    261 	case 82:
    262 		return (dgettext(TEXT_DOMAIN,
    263 			"KRB5 error code 82"));
    264 	case 83:
    265 		return (dgettext(TEXT_DOMAIN,
    266 			"KRB5 error code 83"));
    267 	case 84:
    268 		return (dgettext(TEXT_DOMAIN,
    269 			"KRB5 error code 84"));
    270 	case 85:
    271 		return (dgettext(TEXT_DOMAIN,
    272 			"KRB5 error code 85"));
    273 	case 86:
    274 		return (dgettext(TEXT_DOMAIN,
    275 			"KRB5 error code 86"));
    276 	case 87:
    277 		return (dgettext(TEXT_DOMAIN,
    278 			"KRB5 error code 87"));
    279 	case 88:
    280 		return (dgettext(TEXT_DOMAIN,
    281 			"KRB5 error code 88"));
    282 	case 89:
    283 		return (dgettext(TEXT_DOMAIN,
    284 			"KRB5 error code 89"));
    285 	case 90:
    286 		return (dgettext(TEXT_DOMAIN,
    287 			"KRB5 error code 90"));
    288 	case 91:
    289 		return (dgettext(TEXT_DOMAIN,
    290 			"KRB5 error code 91"));
    291 	case 92:
    292 		return (dgettext(TEXT_DOMAIN,
    293 			"KRB5 error code 92"));
    294 	case 93:
    295 		return (dgettext(TEXT_DOMAIN,
    296 			"KRB5 error code 93"));
    297 	case 94:
    298 		return (dgettext(TEXT_DOMAIN,
    299 			"KRB5 error code 94"));
    300 	case 95:
    301 		return (dgettext(TEXT_DOMAIN,
    302 			"KRB5 error code 95"));
    303 	case 96:
    304 		return (dgettext(TEXT_DOMAIN,
    305 			"KRB5 error code 96"));
    306 	case 97:
    307 		return (dgettext(TEXT_DOMAIN,
    308 			"KRB5 error code 97"));
    309 	case 98:
    310 		return (dgettext(TEXT_DOMAIN,
    311 			"KRB5 error code 98"));
    312 	case 99:
    313 		return (dgettext(TEXT_DOMAIN,
    314 			"KRB5 error code 99"));
    315 	case 100:
    316 		return (dgettext(TEXT_DOMAIN,
    317 			"KRB5 error code 100"));
    318 	case 101:
    319 		return (dgettext(TEXT_DOMAIN,
    320 			"KRB5 error code 101"));
    321 	case 102:
    322 		return (dgettext(TEXT_DOMAIN,
    323 			"KRB5 error code 102"));
    324 	case 103:
    325 		return (dgettext(TEXT_DOMAIN,
    326 			"KRB5 error code 103"));
    327 	case 104:
    328 		return (dgettext(TEXT_DOMAIN,
    329 			"KRB5 error code 104"));
    330 	case 105:
    331 		return (dgettext(TEXT_DOMAIN,
    332 			"KRB5 error code 105"));
    333 	case 106:
    334 		return (dgettext(TEXT_DOMAIN,
    335 			"KRB5 error code 106"));
    336 	case 107:
    337 		return (dgettext(TEXT_DOMAIN,
    338 			"KRB5 error code 107"));
    339 	case 108:
    340 		return (dgettext(TEXT_DOMAIN,
    341 			"KRB5 error code 108"));
    342 	case 109:
    343 		return (dgettext(TEXT_DOMAIN,
    344 			"KRB5 error code 109"));
    345 	case 110:
    346 		return (dgettext(TEXT_DOMAIN,
    347 			"KRB5 error code 110"));
    348 	case 111:
    349 		return (dgettext(TEXT_DOMAIN,
    350 			"KRB5 error code 111"));
    351 	case 112:
    352 		return (dgettext(TEXT_DOMAIN,
    353 			"KRB5 error code 112"));
    354 	case 113:
    355 		return (dgettext(TEXT_DOMAIN,
    356 			"KRB5 error code 113"));
    357 	case 114:
    358 		return (dgettext(TEXT_DOMAIN,
    359 			"KRB5 error code 114"));
    360 	case 115:
    361 		return (dgettext(TEXT_DOMAIN,
    362 			"KRB5 error code 115"));
    363 	case 116:
    364 		return (dgettext(TEXT_DOMAIN,
    365 			"KRB5 error code 116"));
    366 	case 117:
    367 		return (dgettext(TEXT_DOMAIN,
    368 			"KRB5 error code 117"));
    369 	case 118:
    370 		return (dgettext(TEXT_DOMAIN,
    371 			"KRB5 error code 118"));
    372 	case 119:
    373 		return (dgettext(TEXT_DOMAIN,
    374 			"KRB5 error code 119"));
    375 	case 120:
    376 		return (dgettext(TEXT_DOMAIN,
    377 			"KRB5 error code 120"));
    378 	case 121:
    379 		return (dgettext(TEXT_DOMAIN,
    380 			"KRB5 error code 121"));
    381 	case 122:
    382 		return (dgettext(TEXT_DOMAIN,
    383 			"KRB5 error code 122"));
    384 	case 123:
    385 		return (dgettext(TEXT_DOMAIN,
    386 			"KRB5 error code 123"));
    387 	case 124:
    388 		return (dgettext(TEXT_DOMAIN,
    389 			"KRB5 error code 124"));
    390 	case 125:
    391 		return (dgettext(TEXT_DOMAIN,
    392 			"KRB5 error code 125"));
    393 	case 126:
    394 		return (dgettext(TEXT_DOMAIN,
    395 			"KRB5 error code 126"));
    396 	case 127:
    397 		return (dgettext(TEXT_DOMAIN,
    398 			"KRB5 error code 127"));
    399 	case 128:
    400 		return (
    401 		"$Id: krb5_err.et,v 5.66 1999/12/06 21:45:03 raeburn Exp $");
    402 	case 129:
    403 		return (dgettext(TEXT_DOMAIN,
    404 			"Invalid flag for file lock mode"));
    405 	case 130:
    406 		return (dgettext(TEXT_DOMAIN,
    407 			"Cannot read password"));
    408 	case 131:
    409 		return (dgettext(TEXT_DOMAIN,
    410 			"Password mismatch"));
    411 	case 132:
    412 		return (dgettext(TEXT_DOMAIN,
    413 			"Password read interrupted"));
    414 	case 133:
    415 		return (dgettext(TEXT_DOMAIN,
    416 			"Illegal character in component name"));
    417 	case 134:
    418 		return (dgettext(TEXT_DOMAIN,
    419 			"Malformed representation of principal"));
    420 	case 135:
    421 		return (dgettext(TEXT_DOMAIN,
    422 		"Can't open/find Kerberos /etc/krb5/krb5.conf configuration "
    423 		"file"));
    424 	case 136:
    425 		return (dgettext(TEXT_DOMAIN,
    426 	"Improper format of Kerberos /etc/krb5/krb5.conf configuration file"));
    427 	case 137:
    428 		return (dgettext(TEXT_DOMAIN,
    429 			"Insufficient space to return complete information"));
    430 	case 138:
    431 		return (dgettext(TEXT_DOMAIN,
    432 			"Invalid message type specified for encoding"));
    433 	case 139:
    434 		return (dgettext(TEXT_DOMAIN,
    435 			"Credential cache name malformed"));
    436 	case 140:
    437 		return (dgettext(TEXT_DOMAIN,
    438 			"Unknown credential cache type"));
    439 	case 141:
    440 		return (dgettext(TEXT_DOMAIN,
    441 			"Matching credential not found"));
    442 	case 142:
    443 		return (dgettext(TEXT_DOMAIN,
    444 			"End of credential cache reached"));
    445 	case 143:
    446 		return (dgettext(TEXT_DOMAIN,
    447 			"Request did not supply a ticket"));
    448 	case 144:
    449 		return (dgettext(TEXT_DOMAIN,
    450 			"Wrong principal in request"));
    451 	case 145:
    452 		return (dgettext(TEXT_DOMAIN,
    453 			"Ticket has invalid flag set"));
    454 	case 146:
    455 		return (dgettext(TEXT_DOMAIN,
    456 			"Requested principal and ticket don't match"));
    457 	case 147:
    458 		return (dgettext(TEXT_DOMAIN,
    459 			"KDC reply did not match expectations"));
    460 	case 148:
    461 		return (dgettext(TEXT_DOMAIN,
    462 			"Clock skew too great in KDC reply"));
    463 	case 149:
    464 		return (dgettext(TEXT_DOMAIN,
    465 			"Client/server realm mismatch in initial ticket "
    466 			"request"));
    467 	case 150:
    468 		return (dgettext(TEXT_DOMAIN,
    469 			"Program lacks support for encryption type"));
    470 	case 151:
    471 		return (dgettext(TEXT_DOMAIN,
    472 			"Program lacks support for key type"));
    473 	case 152:
    474 		return (dgettext(TEXT_DOMAIN,
    475 			"Requested encryption type not used in message"));
    476 	case 153:
    477 		return (dgettext(TEXT_DOMAIN,
    478 			"Program lacks support for checksum type"));
    479 	case 154:
    480 		return (dgettext(TEXT_DOMAIN,
    481 			"Cannot find KDC for requested realm"));
    482 	case 155:
    483 		return (dgettext(TEXT_DOMAIN,
    484 			"Kerberos service unknown"));
    485 	case 156:
    486 		return (dgettext(TEXT_DOMAIN,
    487 			"Cannot contact any KDC for requested realm"));
    488 	case 157:
    489 		return (dgettext(TEXT_DOMAIN,
    490 			"No local name found for principal name"));
    491 	case 158:
    492 		return (dgettext(TEXT_DOMAIN,
    493 			"Mutual authentication failed"));
    494 	case 159:
    495 		return (dgettext(TEXT_DOMAIN,
    496 			"Replay cache type is already registered"));
    497 	case 160:
    498 		return (dgettext(TEXT_DOMAIN,
    499 			"No more memory to allocate (in replay cache code)"));
    500 	case 161:
    501 		return (dgettext(TEXT_DOMAIN,
    502 			"Replay cache type is unknown"));
    503 	case 162:
    504 		return (dgettext(TEXT_DOMAIN,
    505 			"Generic unknown RC error"));
    506 	case 163:
    507 		return (dgettext(TEXT_DOMAIN,
    508 			"Message is a replay"));
    509 	case 164:
    510 		return (dgettext(TEXT_DOMAIN,
    511 			"Replay I/O operation failed XXX"));
    512 	case 165:
    513 		return (dgettext(TEXT_DOMAIN,
    514 			"Replay cache type does not support non-volatile "
    515 			"storage"));
    516 	case 166:
    517 		return (dgettext(TEXT_DOMAIN,
    518 			"Replay cache name parse/format error"));
    519 	case 167:
    520 		return (dgettext(TEXT_DOMAIN,
    521 			"End-of-file on replay cache I/O"));
    522 	case 168:
    523 		return (dgettext(TEXT_DOMAIN,
    524 			"No more memory to allocate (in replay cache I/O "
    525 			"code)"));
    526 	case 169:
    527 		return (dgettext(TEXT_DOMAIN,
    528 			"Permission denied in replay cache code"));
    529 	case 170:
    530 		return (dgettext(TEXT_DOMAIN,
    531 			"I/O error in replay cache i/o code"));
    532 	case 171:
    533 		return (dgettext(TEXT_DOMAIN,
    534 			"Generic unknown RC/IO error"));
    535 	case 172:
    536 		return (dgettext(TEXT_DOMAIN,
    537 			"Insufficient system space to store replay "
    538 			"information"));
    539 	case 173:
    540 		return (dgettext(TEXT_DOMAIN,
    541 			"Can't open/find realm translation file"));
    542 	case 174:
    543 		return (dgettext(TEXT_DOMAIN,
    544 			"Improper format of realm translation file"));
    545 	case 175:
    546 		return (dgettext(TEXT_DOMAIN,
    547 			"Can't open/find lname translation database"));
    548 	case 176:
    549 		return (dgettext(TEXT_DOMAIN,
    550 			"No translation available for requested principal"));
    551 	case 177:
    552 		return (dgettext(TEXT_DOMAIN,
    553 			"Improper format of translation database entry"));
    554 	case 178:
    555 		return (dgettext(TEXT_DOMAIN,
    556 			"Cryptosystem internal error"));
    557 	case 179:
    558 		return (dgettext(TEXT_DOMAIN,
    559 			"Key table name malformed"));
    560 	case 180:
    561 		return (dgettext(TEXT_DOMAIN,
    562 			"Unknown Key table type"));
    563 	case 181:
    564 		return (dgettext(TEXT_DOMAIN,
    565 			"Key table entry not found"));
    566 	case 182:
    567 		return (dgettext(TEXT_DOMAIN,
    568 			"End of key table reached"));
    569 	case 183:
    570 		return (dgettext(TEXT_DOMAIN,
    571 			"Cannot write to specified key table"));
    572 	case 184:
    573 		return (dgettext(TEXT_DOMAIN,
    574 			"Error writing to key table"));
    575 	case 185:
    576 		return (dgettext(TEXT_DOMAIN,
    577 			"Cannot find ticket for requested realm"));
    578 	case 186:
    579 		return (dgettext(TEXT_DOMAIN,
    580 			"DES key has bad parity"));
    581 	case 187:
    582 		return (dgettext(TEXT_DOMAIN,
    583 			"DES key is a weak key"));
    584 	case 188:
    585 		return (dgettext(TEXT_DOMAIN,
    586 			"Bad encryption type"));
    587 	case 189:
    588 		return (dgettext(TEXT_DOMAIN,
    589 			"Key size is incompatible with encryption type"));
    590 	case 190:
    591 		return (dgettext(TEXT_DOMAIN,
    592 			"Message size is incompatible with encryption type"));
    593 	case 191:
    594 		return (dgettext(TEXT_DOMAIN,
    595 			"Credentials cache type is already registered."));
    596 	case 192:
    597 		return (dgettext(TEXT_DOMAIN,
    598 			"Key table type is already registered."));
    599 	case 193:
    600 		return (dgettext(TEXT_DOMAIN,
    601 			"Credentials cache I/O operation failed XXX"));
    602 	case 194:
    603 		return (dgettext(TEXT_DOMAIN,
    604 			"Credentials cache file permissions incorrect"));
    605 	case 195:
    606 		return (dgettext(TEXT_DOMAIN,
    607 			"No credentials cache file found"));
    608 	case 196:
    609 		return (dgettext(TEXT_DOMAIN,
    610 			"Internal file credentials cache error"));
    611 	case 197:
    612 		return (dgettext(TEXT_DOMAIN,
    613 			"Error writing to credentials cache file"));
    614 	case 198:
    615 		return (dgettext(TEXT_DOMAIN,
    616 			"No more memory to allocate (in credentials cache "
    617 			"code)"));
    618 	case 199:
    619 		return (dgettext(TEXT_DOMAIN,
    620 			"Bad format in credentials cache"));
    621 	case 200:
    622 		return (dgettext(TEXT_DOMAIN,
    623 			"No credentials found with supported encryption "
    624 			"types"));
    625 	case 201:
    626 		return (dgettext(TEXT_DOMAIN,
    627 			"Invalid KDC option combination (library internal "
    628 			"error)"));
    629 	case 202:
    630 		return (dgettext(TEXT_DOMAIN,
    631 			"Request missing second ticket"));
    632 	case 203:
    633 		return (dgettext(TEXT_DOMAIN,
    634 			"No credentials supplied to library routine"));
    635 	case 204:
    636 		return (dgettext(TEXT_DOMAIN,
    637 			"Bad sendauth version was sent"));
    638 	case 205:
    639 		return (dgettext(TEXT_DOMAIN,
    640 			"Bad application version was sent (via sendauth)"));
    641 	case 206:
    642 		return (dgettext(TEXT_DOMAIN,
    643 			"Bad response (during sendauth exchange)"));
    644 	case 207:
    645 		return (dgettext(TEXT_DOMAIN,
    646 			"Server rejected authentication (during sendauth "
    647 			"exchange)"));
    648 	case 208:
    649 		return (dgettext(TEXT_DOMAIN,
    650 			"Unsupported preauthentication type"));
    651 	case 209:
    652 		return (dgettext(TEXT_DOMAIN,
    653 			"Required preauthentication key not supplied"));
    654 	case 210:
    655 		return (dgettext(TEXT_DOMAIN,
    656 			"Generic preauthentication failure"));
    657 	case 211:
    658 		return (dgettext(TEXT_DOMAIN,
    659 			"Unsupported replay cache format version number"));
    660 	case 212:
    661 		return (dgettext(TEXT_DOMAIN,
    662 			"Unsupported credentials cache format version number"));
    663 	case 213:
    664 		return (dgettext(TEXT_DOMAIN,
    665 			"Unsupported key table format version number"));
    666 	case 214:
    667 		return (dgettext(TEXT_DOMAIN,
    668 			"Program lacks support for address type"));
    669 	case 215:
    670 		return (dgettext(TEXT_DOMAIN,
    671 			"Message replay detection requires rcache parameter"));
    672 	case 216:
    673 		return (dgettext(TEXT_DOMAIN,
    674 			"Hostname cannot be canonicalized"));
    675 	case 217:
    676 		return (dgettext(TEXT_DOMAIN,
    677 			"Cannot determine realm for host"));
    678 	case 218:
    679 		return (dgettext(TEXT_DOMAIN,
    680 			"Conversion to service principal undefined for name "
    681 			"type"));
    682 	case 219:
    683 		return (dgettext(TEXT_DOMAIN,
    684 			"Initial Ticket response appears to be Version 4 "
    685 			"error"));
    686 	case 220:
    687 		return (dgettext(TEXT_DOMAIN,
    688 			"Cannot resolve network address for KDC in requested "
    689 			"realm"));
    690 	case 221:
    691 		return (dgettext(TEXT_DOMAIN,
    692 			"Requesting ticket can't get forwardable tickets"));
    693 	case 222:
    694 		return (dgettext(TEXT_DOMAIN,
    695 			"Bad principal name while trying to forward "
    696 			"credentials"));
    697 	case 223:
    698 		return (dgettext(TEXT_DOMAIN,
    699 			"Looping detected inside krb5_get_in_tkt"));
    700 	case 224:
    701 		return (dgettext(TEXT_DOMAIN,
    702 			"Configuration file does not specify default realm"));
    703 	case 225:
    704 		return (dgettext(TEXT_DOMAIN,
    705 			"Bad SAM flags in obtain_sam_padata"));
    706 	case 226: /* KRB5_SAM_INVALID_ETYPE */
    707 		return (dgettext(TEXT_DOMAIN,
    708 			"Invalid encryption type in SAM challenge"));
    709 	case 227: /* KRB5_SAM_NO_CHECKSUM */
    710 		return (dgettext(TEXT_DOMAIN,
    711 			"Missing checksum in SAM challenge"));
    712 	case 228: /* KRB5_SAM_BAD_CHECKSUM */
    713 		return (dgettext(TEXT_DOMAIN,
    714 			"Bad checksum in SAM challenge"));
    715 	case 229: /* KRB5_KT_NAME_TOOLONG */
    716 		return (dgettext(TEXT_DOMAIN,
    717 			"Keytab name too long"));
    718 	case 230: /* KRB5_KT_KVNONOTFOUND */
    719 		return (dgettext(TEXT_DOMAIN,
    720 			"Key version number for principal in key table is "
    721 			"incorrect"));
    722 	case 231: /* KRB5_APPL_EXPIRED */
    723 		return (dgettext(TEXT_DOMAIN,
    724 			"This application has expired"));
    725 	case 232: /* KRB5_LIB_EXPIRED */
    726 		return (dgettext(TEXT_DOMAIN,
    727 			"This Krb5 library has expired"));
    728 	case 233: /* KRB5_CHPW_PWDNULL */
    729 		return (dgettext(TEXT_DOMAIN,
    730 			"New password cannot be zero length"));
    731 	case 234: /* KRB5_CHPW_FAIL */
    732 		return (dgettext(TEXT_DOMAIN,
    733 			"Password change failed"));
    734 	case 235: /* KRB5_KT_FORMAT */
    735 		return (dgettext(TEXT_DOMAIN,
    736 			"Bad format in keytab"));
    737 	case 236: /* KRB5_NOPERM_ETYPE */
    738 		return (dgettext(TEXT_DOMAIN,
    739 			"Encryption type not permitted"));
    740 	case 237: /* KRB5_CONFIG_ETYPE_NOSUPP */
    741 		return (dgettext(TEXT_DOMAIN,
    742 			"No supported encryption types (config file error?)"));
    743 	case 238: /* KRB5_OBSOLETE_FN */
    744 		return (dgettext(TEXT_DOMAIN,
    745 			"Program called an obsolete, deleted function"));
    746 	case 239: /* KRB5_EAI_FAIL */
    747 		return (dgettext(TEXT_DOMAIN,
    748 			"unknown getaddrinfo failure"));
    749 	case 240: /* KRB5_EAI_NODATA */
    750 		return (dgettext(TEXT_DOMAIN,
    751 			"no data available for host/domain name"));
    752 	case 241: /* KRB5_EAI_NONAME */
    753 		return (dgettext(TEXT_DOMAIN,
    754 			"host/domain name not found"));
    755 	case 242: /* KRB5_EAI_SERVICE */
    756 		return (dgettext(TEXT_DOMAIN,
    757 			"service name unknown"));
    758 	case 243: /* KRB5_ERR_NUMERIC_REALM */
    759 		return (dgettext(TEXT_DOMAIN,
    760 			"Cannot determine realm for numeric host address"));
    761 	case 244: /* KRB5_ERR_BAD_S2K_PARAMS */
    762 		return (dgettext(TEXT_DOMAIN,
    763 			"Invalid key generation parameters from KDC"));
    764 	case 245: /* KRB5_ERR_NO_SERVICE */
    765 		return (dgettext(TEXT_DOMAIN,
    766 			"service not available"));
    767 	case 246: /* KRB5_CC_READONLY */
    768 		return (dgettext(TEXT_DOMAIN,
    769 			"Ccache function not supported: read-only ccache "
    770 			"type"));
    771 	case 247: /* KRB5_CC_NOSUPP */
    772 		return (dgettext(TEXT_DOMAIN,
    773 			"Ccache function not supported: not implemented"));
    774 	case 248: /* KRB5_RC_BADNAME */
    775 		return (dgettext(TEXT_DOMAIN,
    776 			"Bad replay cache name"));
    777 	case 249: /* KRB5_CONF_NOT_CONFIGURED */
    778 		return (dgettext(TEXT_DOMAIN,
    779 			"krb5 conf file not configured"));
    780 	case 250: /* PKCS_ERR */
    781 		return (dgettext(TEXT_DOMAIN,
    782 			"Error in the PKCS 11 library calls"));
    783 	case 251: /* KRB5_DELTAT_BADFORMAT */
    784 		return (dgettext(TEXT_DOMAIN,
    785 			"Delta time bad format"));
    786 	default:
    787 		return ("unknown error");
    788 	}
    789 }
    790