krb5.h and KRB5_PRIVATE

Sam Hartman hartmans at MIT.EDU
Tue Jan 9 14:52:08 EST 2007

>>>>> "Jeffrey" == Jeffrey Altman <jaltman at> writes:

    Jeffrey> Ken Raeburn wrote:
    >> On Jan 5, 2007, at 07:51, Jeffrey Altman wrote:
    >>> The number of private functions and data structures in krb5.h
    >>> is truly hideous.
    >>> Can we move these declarations into a new header file
    >>> krb5priv.h which is only included in krb5.h if KRB5_PRIVATE is
    >>> defined?
    >>  Why not just move them to k5-int.h, and update a few internal
    >> files if necessary to include that instead of just krb5.h?
    >> Ken
    Jeffrey> I would argue that many of those functions have been
    Jeffrey> exported (at least on KFW) and that there are
    Jeffrey> applications that currently build by defining
    Jeffrey> KRB5_PRIVATE before including krb5.h

"Sucks to be them."  When we committed to a stable ABI we committed to
krb5.h with KRB5_PRIVATE undefined.  We also committed to some support
for KRB5_DEPRECATED.  That's been years ago.  Since then we have from
time to time moved things out of krb5.h that were marked private.
That breaks people sometimes, but they were using internal symbols.

The only reason we didn't move private things out of krb5.h is
lazyness on our part; if you have the time then by all means move
things into k5-int.h.  Consider changing the names especially if it is
something where future versions may change the prototype or where you
choose to drop a KRB5_CALLCONV.


More information about the krbdev mailing list