`krb5_error` has different definition in MIT krb. https://web.mit.edu/kerberos/krb5-latest/doc/appdev/refs/types/krb5_error.html > Error message structure. > > Declaration: > typedef struct _krb5_error krb5_error While `krb5_error_code` https://web.mit.edu/kerberos/www/krb5-latest/doc/appdev/refs/types/krb5_error_code.html#c.krb5_error_code > krb5_error_code > Used to convey an operation status. > > The value 0 indicates success; any other values are com_err codes. Use krb5_get_error_message() to obtain a string describing the error. > > Declaration > typedef krb5_int32 krb5_error_code And this is what was actually used. To prevent confusion of types `krb5_error` was replaced with `krb5_error_code`. Fixes: https://pagure.io/freeipa/issue/9519 Signed-off-by: Stanislav Levin <slev@altlinux.org> Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
This is a set of libraries common to IPA clients and servers though mostly
geared currently towards command-line tools.
A brief overview:
config.py - identify the IPA server domain and realm. It uses python-dns to
try to detect this information first and will fall back to
/etc/ipa/default.conf if that fails.
ipautil.py - helper functions
entity.py - entity is the main data type. User and Group extend this class
(but don't add anything currently).
ipavalidate.py - basic data validation routines