s3-krb5 Only build ADS support if arcfour-hmac-md5 is available
authorAndrew Bartlett <abartlet@samba.org>
Mon, 9 Aug 2010 22:25:02 +0000 (08:25 +1000)
committerSimo Sorce <idra@samba.org>
Fri, 13 Aug 2010 13:08:27 +0000 (09:08 -0400)
commit71d80e6be0687ac7c2f3caab5e7b8caf400fe37e
treea30d558e704bac324809908c55a93bc17cb0c436
parentfff6fa72ffa7890cee516bd7e65b50bdb8daf51d
s3-krb5 Only build ADS support if arcfour-hmac-md5 is available

Modern Kerberos implementations have either defines or enums for these
key types, which makes doing #ifdef difficult.  This shows up in files
such as libnet_samsync_keytab.c, the bulk of which is not compiled on
current Fedora 12, for example.

The downside is that this makes Samba unconditionally depend on the
arcfour-hmac-md5 encryption type at build time.  We will no longer
support libraries that only support the DES based encryption types.
However, the single-DES types that are supported in common with AD are
already painfully weak - so much so that they are disabled by default
in modern Kerberos libraries.

If not found, ADS support will not be compiled in.

This means that our 'net ads join' will no longer set the
ACB_USE_DES_KEY_ONLY flag, and we will always try to use
arcfour-hmac-md5.

A future improvement would be to remove the use of the DES encryption
types totally, but this would require that any ACB_USE_DES_KEY_ONLY
flag be removed from existing joins.

Andrew Bartlett

Signed-off-by: Simo Sorce <idra@samba.org>
source3/configure.in
source3/include/smb_krb5.h
source3/libads/kerberos_keytab.c
source3/libads/kerberos_verify.c
source3/libnet/libnet_dssync_keytab.c
source3/libnet/libnet_join.c
source3/libnet/libnet_join.c.orig [new file with mode: 0644]
source3/libnet/libnet_samsync_keytab.c
source3/libnet/libnet_samsync_keytab.c.orig [new file with mode: 0644]
source3/libsmb/clikrb5.c