Namespaces and inter-library private symbols

Tom Yu tlyu at MIT.EDU
Tue Nov 10 15:53:24 EST 2009


"ghudson at MIT.EDU" <ghudson at MIT.EDU> writes:

> I'd like to get a consensus on how we should handle library functions
> which are not part of the public API but are used by other parts of
> the tree.  Currently, we inconsistently do one of three things:
>
> 1. Use the accessor.  (Examples: ASN.1 encoders as used by the pkinit
> module; HMAC as used by gss-krb5.)
>
> 2. Name the function krb5_foo, export it, but prototype it in k5-int.h
> instead of krb5.h.  (Examples: krb5_get_cred_from_kdc as used by ksu;
> krb5_free_realm_tree as used by kdc.)

Some of these may have been prototyped in krb5.h at some point in the
past, and then moved to k5-int.h.  If that is true, we should avoid
renaming them, in order to preserve ABI compatibility.



More information about the krbdev mailing list