question on KRB5_PRIVATE

Jeffrey Altman jaltman2 at nyc.rr.com
Tue Jun 8 10:44:38 EDT 2004


You have not specified what software package you are attempting
to build, but if it utilizes private api calls or the internals
of private data structures, then you must define KRB5_PRIVATE.
The reason these data structures or APIs are considered private
is that they are likely to change in future releases.

Jeffrey Altman


Dan Million wrote:
> I'm trying to build a software package which uses KRB5 calls, and a 
> certain C source file includes krb5.h.  The compiler complains about the 
> use of a krb5_rcache struct.
> 
> When I look in my krb5.h (MIT Kerberos V 1.3.1 on AIX) I see this:
> 
>     /*
>      * begin "rcache.h"
>      */
> 
>     struct krb5_rc_st;
>     typedef struct krb5_rc_st *krb5_rcache;
> 
> When I look on a RedHat Linux system with version 1.2.7 installed,
> I see something different:
> 
>     /*
>      * begin "rcache.h"
>      */
> 
>     #if KRB5_PRIVATE
>     typedef struct krb5_rc_st {
>         krb5_magic magic;
>         struct _krb5_rc_ops FAR *ops;
>         krb5_pointer data;
>     } FAR *krb5_rcache;
>     #else
>     struct krb5_rc_st;
>     typedef struct krb5_rc_st FAR *krb5_rcache;
>     #endif
> 
> So...what's the deal with the KRB5_PRIVATE stuff?  Do I need to rebuild 
> my entire KRB5 for AIX with KRB5_PRIVATE set to 1 in order to get this 
> struct defined correctly in krb5.h?
> 
> Thanks.
> 
> Dan
> 

-- 
-----------------
This e-mail account is not read on a regular basis.
Please send private responses to jaltman at mit dot edu


More information about the Kerberos mailing list