
This is the second of two commits in a series that must be picked together. This series of two commits moves parts of lib/krb5/ infrastructure functionality to lib/base/, leaving behind wrappers. Some parts of libkrb5 are entirely generic or easily made so, and could be useful in various parts of Heimdal that are not specific to the krb5 API, such as: - lib/gssapi/ (especially since the integration of NegoEx) - lib/hx509/ - bx509d (which should really move out of kdc/) For the above we need to move these bits of lib/krb5/: - lib/krb5/config_file.c (all of it, leaving forwardings behind) - lib/krb5/config_reg.c (all of it) - lib/krb5/plugin.c (all of it, leaving forwardings behind) - lib/krb5/log.c (all of it, ditto) - lib/krb5/heim_err.et (all of it) And because of those two, these too must also move: - lib/krb5/expand_path.c (all of it, leaving forwardings behind) - lib/krb5/warn.c (just the warning functions, ditto) The changes to the moved files are mostly quite straightforward and are best reviewed with --word-diff=color. We're also creating a heim_context and a heim API to go with it. But it's as thin as possible, with as little state as necessary to enable this move. Functions for dealing with error messages use callbacks. Moving plugin.c does have one knock-on effect on all users of the old krb5 plugin API (which remains), which is that a global search and replace of struct krb5_plugin_data to struct heim_plugin_data was needed, though the layout and size of that structure doesn't change, so the ABI doesn't either. As well, we now build lib/vers/ and lib/com_err/ before lib/base/ so as to be able to move lib/krb5/heim_err.et to lib/base/ so that we can make use of HEIM_ERR_* in lib/base/, specifically in the files that moved. Once this is all done we'll be able to use config files and plugins in lib/hx509/, we'll be able to move bx509d out of kdc/, and so on. Most if not all of the new functions in lib/base/ are Heimdal-private, thus calling conventions for them are not declared. Status: - builds and passes CIs (Travis, Appveyor) - ran make check-valgrind and no new leaks or other memory errors - ready for review HOW TO REVIEW: $ # Review file moves: $ git log --stat -n1 HEAD^ $ $ # Review changes to moved files using --word-diff=color $ git log -p -b -w --word-diff=color HEAD^..HEAD \ lib/base/config_file.c \ lib/base/config_reg.c \ lib/base/expand_path.c \ lib/base/warn.c \ lib/krb5/config_file.c \ lib/krb5/config_reg.c \ lib/krb5/expand_path.c \ lib/krb5/warn.c $ $ # Review the whole thing, possibly adding -b and/or -w, and $ # maybe --word-diff=color: $ git log -p origin/master..HEAD $ git log -p -b -w origin/master..HEAD $ git log -p -b -w --word-diff=color origin/master..HEAD TBD (future commits): - make lib/gssapi use the new heimbase functions - move kx509/bx509d common code to lib/hx509/ or other approp. location - move bx509d out of kdc/
55 lines
1.9 KiB
Plaintext
55 lines
1.9 KiB
Plaintext
#
|
|
# 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"
|
|
error_code SALTTYPE_NOSUPP, "Salt type is not supported by enctype"
|
|
error_code NOHOST, "Host not found"
|
|
error_code OPNOTSUPP, "Operation not supported"
|
|
error_code EOF, "End of file"
|
|
error_code BAD_MKEY, "Failed to get the master key"
|
|
error_code SERVICE_NOMATCH, "Unacceptable service used"
|
|
error_code NOT_SEEKABLE, "File descriptor not seekable"
|
|
error_code TOO_BIG, "Offset too large"
|
|
error_code BAD_HDBENT_ENCODING, "Invalid HDB entry encoding"
|
|
error_code RANDOM_OFFLINE, "No random source available"
|
|
error_code CONFIG_BADFORMAT, "Improper format of configuration file"
|
|
|
|
index 64
|
|
prefix HEIM_PKINIT
|
|
error_code NO_CERTIFICATE, "Certificate missing"
|
|
error_code NO_PRIVATE_KEY, "Private key missing"
|
|
error_code NO_VALID_CA, "No valid certificate authority"
|
|
error_code CERTIFICATE_INVALID, "Certificate invalid"
|
|
error_code PRIVATE_KEY_INVALID, "Private key invalid"
|
|
|
|
index 128
|
|
prefix HEIM_EAI
|
|
#error_code NOERROR, "no error"
|
|
error_code UNKNOWN, "unknown error from getaddrinfo"
|
|
error_code ADDRFAMILY, "address family for nodename not supported"
|
|
error_code AGAIN, "temporary failure in name resolution"
|
|
error_code BADFLAGS, "invalid value for ai_flags"
|
|
error_code FAIL, "non-recoverable failure in name resolution"
|
|
error_code FAMILY, "ai_family not supported"
|
|
error_code MEMORY, "memory allocation failure"
|
|
error_code NODATA, "no address associated with nodename"
|
|
error_code NONAME, "nodename nor servname provided, or not known"
|
|
error_code SERVICE, "servname not supported for ai_socktype"
|
|
error_code SOCKTYPE, "ai_socktype not supported"
|
|
error_code SYSTEM, "system error returned in errno"
|
|
|
|
index 192
|
|
prefix HEIM_NET
|
|
error_code CONN_REFUSED, "connection refused"
|
|
|
|
end
|