[PROPOSAL] Require builtin or system krb5 libs

Andrew Bartlett abartlet at samba.org
Tue Jan 3 00:48:00 MST 2012


On Mon, 2012-01-02 at 21:46 -0800, Jeremy Allison wrote:
> On Tue, Jan 03, 2012 at 02:06:39PM +1100, Andrew Bartlett wrote:
> > 
> > I'm not totally clear what Jeremy's reasons are, but I agree we will
> > essentially need to set a minimum MIT and Heimdal version that we will
> > support (and then support any alternative/workalike that has the same
> > features).  
> 
> Simple. I don't want to go back to the old ways of
> 
> #ifdef MIT
> #elif HEIMDAL
> #elif..
> #endif
> 
> way of doing code. That way ends up as 
> 
> #ifdef HPUX
> #ifdef HPUX_4_2
> #endif
> #elif SOLARIS_5
> #elif SOLARIS_7
> ...
> 
> horrors that took many years to escape from.

> Heimdal and MIT are a *mess*, in terms of adopting
> standard API's and methods. Nearly as bad as we are
> with Samba3/Samba3 (just in case anyone thinks I'm
> being too hard on them :-) :-).

They are actually much less of a mess than they used to be.  One of the
reasons for setting a minimum version standard is that if we raise the
bar high enough, then many of the worst differences in the libkrb5 and
libgssapi side of things just go away, because as time has gone on, the
same APIs have been implemented in both distributions. 

(KDC internals are of course a very different matter). 

> As far as possible, let's detect features not version
> numbers please. That way lies madness.

Once we agree on a policy I think you can trust Simo and I to have good
taste about the technical implementation.  

I think we will probably try and specify/detect a minimum version in
configure (waf/autoconf) based on pkg-config, and then simply assume
that version in the code.  That alone will reduce some of the #ifdef
hell, because some of the branches can be cut off. 

Beyond that trim down to a minimum version, I don't see any reason to
make a radical change to what we do in the C code.

Andrew Bartlett

-- 
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org




More information about the samba-technical mailing list