Next: , Up: Error Handling


5.17.1 Error Values

Errors are returned as an int. Except for the SHISHI_OK case, an application should always use the constants instead of their numeric value. Applications are encouraged to use the constants even for SHISHI_OK as it improves readability. Possible values are:

SHISHI_OK
This value indicates success. The value of this error is guaranteed to always be 0 so you may use it in boolean constructs.
SHISHI_ASN1_ERROR
Error in ASN.1 function (corrupt data?)
SHISHI_FOPEN_ERROR
Could not open file
SHISHI_IO_ERROR
File input/output error
SHISHI_MALLOC_ERROR
Memory allocation error in shishi library.
SHISHI_BASE64_ERROR
Base64 encoding or decoding failed. Data corrupt?
SHISHI_REALM_MISMATCH
Client realm value differ between request and reply.
SHISHI_CNAME_MISMATCH
Client name value differ between request and reply.
SHISHI_NONCE_MISMATCH
Replay protection value (nonce) differ between request and reply.
SHISHI_TGSREP_BAD_KEYTYPE
Incorrect key type used in TGS reply.
SHISHI_KDCREP_BAD_KEYTYPE
Incorrect key type used in reply from KDC.
SHISHI_APREP_BAD_KEYTYPE
Incorrect key type used in AP reply.
SHISHI_APREP_VERIFY_FAILED
Failed verification of AP reply.
SHISHI_APREQ_BAD_KEYTYPE
Incorrect key type used in AP request.
SHISHI_TOO_SMALL_BUFFER
Provided buffer was too small.
SHISHI_DERIVEDKEY_TOO_SMALL
Derived key material is too short to be applicable.
SHISHI_KEY_TOO_LARGE
The key is too large to be usable.
SHISHI_CRYPTO_ERROR
Low-level cryptographic primitive failed. This usually indicates bad password or data corruption.
SHISHI_CRYPTO_INTERNAL_ERROR
Internal error in low-level crypto routines.
SHISHI_SOCKET_ERROR
The system call socket() failed. This usually indicates that your system does not support the socket type.
SHISHI_BIND_ERROR
The system call bind() failed. This usually indicates insufficient permissions.
SHISHI_SENDTO_ERROR
The system call sendto() failed.
SHISHI_RECVFROM_ERROR
Error receiving data from server
SHISHI_CLOSE_ERROR
The system call close() failed.
SHISHI_KDC_TIMEOUT
Timed out talking to KDC. This usually indicates a network or KDC address problem.
SHISHI_KDC_NOT_KNOWN_FOR_REALM
No KDC known for given realm.
SHISHI_TTY_ERROR
No TTY assigned to process.
SHISHI_GOT_KRBERROR
Server replied to the request with an error message.
SHISHI_HANDLE_ERROR
Failure to use handle. Missing handle, or misconfigured.
SHISHI_INVALID_TKTS
Ticket set not initialized. This usually indicates an internal application error.
SHISHI_TICKET_BAD_KEYTYPE
Key type used to encrypt ticket doesn't match provided key. This usually indicates an internal application error.
SHISHI_INVALID_KEY
Reference to invalid encryption key.
SHISHI_APREQ_DECRYPT_FAILED
Could not decrypt AP-REQ using provided key. This usually indicates an internal application error.
SHISHI_TICKET_DECRYPT_FAILED
Could not decrypt Ticket using provided key. This usually indicates an internal application error.
SHISHI_INVALID_TICKET
Invalid ticked passed in call.
SHISHI_OUT_OF_RANGE
Argument lies outside of valid range.
SHISHI_ASN1_NO_ELEMENT
The ASN.1 structure does not contain the indicated element.
SHISHI_SAFE_BAD_KEYTYPE
Attempted access to non-existent key type.
SHISHI_SAFE_VERIFY_FAILED
Verification failed on either side.
SHISHI_PKCS5_INVALID_PRF
Invalid PKCS5 descriptor.
SHISHI_PKCS5_INVALID_ITERATION_COUNT
Invalid claim of iteration count in PKCS5 descriptor.
SHISHI_PKCS5_INVALID_DERIVED_KEY_LENGTH
Derived key length is incorrect for PKCS5 descriptor.
SHISHI_PKCS5_DERIVED_KEY_TOO_LONG
Derived key is too long for PKCS5 descriptor.
SHISHI_INVALID_PRINCIPAL_NAME
Principal name syntax error.
SHISHI_INVALID_ARGUMENT
Invalid argument passed in call. Wrong or unknown value.
SHISHI_ASN1_NO_VALUE
The indicated ASN.1 element does not carry a value.
SHISHI_CONNECT_ERROR
Connection attempt failed. Try again, or check availability.
SHISHI_VERIFY_FAILED
Verification failed on either side.
SHISHI_PRIV_BAD_KEYTYPE
The private key uses an incompatible encryption type.
SHISHI_FILE_ERROR
The desired file could not be accessed. Check permissions.
SHISHI_ENCAPREPPART_BAD_KEYTYPE
The present AP reply specifies an inpermissible key type.
SHISHI_GETTIMEOFDAY_ERROR
A request for present time of day has failed. This is usually internal, but a valid time is imperative for us.
SHISHI_KEYTAB_ERROR
Failed to parse keytab file
SHISHI_CCACHE_ERROR
Failed to parse credential cache file