krb5_min_required_version = "1.9"
-# Requried versions
+# Required versions
krb5_required_version = krb5_min_required_version
if conf.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'):
- krb5_required_version = "1.19"
+ krb5_required_version = "1.21"
def parse_version(v):
return tuple(map(int, (v.split("."))))
if 'krb5' in conf.env['LIB_KRB5']:
krb5_define_syslib(conf, "krb5", conf.env['LIB_KRB5'])
if 'k5crypto' in conf.env['LIB_KRB5']:
- krb5_define_syslib(conf, "k5crypto", conf.env['LIB_GSSAPI'])
+ krb5_define_syslib(conf, "k5crypto", conf.env['LIB_KRB5'])
else:
raise Errors.WafError('Unable to find required krb5 library!')
krb5_warnx
krb5_get_prompt_types
krb5_mk_req_extended krb5_kt_compare
+ krb5_free_enctypes
+ krb5_free_string
+ krb5_get_init_creds_opt_set_fast_ccache
+ krb5_get_init_creds_opt_set_fast_flags
''',
lib='krb5 k5crypto',
headers='krb5.h')
conf.CHECK_VARIABLE('KV5M_KEYTAB', headers='krb5.h', lib='krb5')
conf.CHECK_VARIABLE('KRB5_KU_OTHER_CKSUM', headers='krb5.h', lib='krb5')
conf.CHECK_VARIABLE('KRB5_KEYUSAGE_APP_DATA_CKSUM', headers='krb5.h', lib='krb5')
-conf.CHECK_VARIABLE('ENCTYPE_AES128_CTS_HMAC_SHA1_96', headers='krb5.h', lib='krb5')
-conf.CHECK_VARIABLE('ENCTYPE_AES256_CTS_HMAC_SHA1_96', headers='krb5.h', lib='krb5')
+conf.CHECK_VARIABLE('ENCTYPE_AES128_CTS_HMAC_SHA1_96', headers='krb5.h', lib='krb5', mandatory=True)
+conf.CHECK_VARIABLE('ENCTYPE_AES256_CTS_HMAC_SHA1_96', headers='krb5.h', lib='krb5', mandatory=True)
conf.CHECK_DECLS('KRB5_PDU_NONE', reverse=True, headers='krb5.h', lib='krb5')
conf.CHECK_STRUCTURE_MEMBER('krb5_keytab_entry', 'key',
headers='krb5.h',
''',
'_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5',
headers='krb5.h', lib='krb5',
- msg="Checking whether the ENCTYPE_ARCFOUR_HMAC_MD5 key type definition is available");
+ msg="Checking whether the ENCTYPE_ARCFOUR_HMAC_MD5 key type definition is available")
conf.CHECK_CODE('''
krb5_enctype enctype;
enctype = ENCTYPE_ARCFOUR_HMAC_MD5_56;
''',
'_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5_56',
headers='krb5.h', lib='krb5',
- msg="Checking whether the ENCTYPE_ARCFOUR_HMAC_MD5_56 key type definition is available");
+ msg="Checking whether the ENCTYPE_ARCFOUR_HMAC_MD5_56 key type definition is available")
conf.CHECK_CODE('''
krb5_keytype keytype;
keytype = KEYTYPE_ARCFOUR_56;
''',
'_HAVE_KEYTYPE_ARCFOUR_56',
headers='krb5.h', lib='krb5',
- msg="Checking whether the HAVE_KEYTYPE_ARCFOUR_56 key type definition is available");
+ msg="Checking whether the HAVE_KEYTYPE_ARCFOUR_56 key type definition is available")
if conf.CONFIG_SET('_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5') and conf.CONFIG_SET('_HAVE_KEYTYPE_ARCFOUR_56'):
conf.DEFINE('HAVE_ENCTYPE_ARCFOUR_HMAC_MD5', '1')
if conf.CONFIG_SET('_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5_56') and conf.CONFIG_SET('_HAVE_KEYTYPE_ARCFOUR_56'):
''',
'HAVE_ENCTYPE_ARCFOUR_HMAC',
headers='krb5.h', lib='krb5',
- msg="Checking whether the ENCTYPE_ARCFOUR_HMAC key type definition is available");
+ msg="Checking whether the ENCTYPE_ARCFOUR_HMAC key type definition is available")
conf.CHECK_CODE('''
krb5_enctype enctype;
enctype = ENCTYPE_ARCFOUR_HMAC_EXP;
''',
'HAVE_ENCTYPE_ARCFOUR_HMAC_EXP',
headers='krb5.h', lib='krb5',
- msg="Checking whether the ENCTYPE_ARCFOUR_HMAC_EXP key type definition is available");
+ msg="Checking whether the ENCTYPE_ARCFOUR_HMAC_EXP key type definition is available")
conf.CHECK_CODE('''
krb5_context context;
''',
'HAVE_WRFILE_KEYTAB',
headers='krb5.h', lib='krb5', execute=True,
- msg="Checking whether the WRFILE -keytab is supported");
+ msg="Checking whether the WRFILE -keytab is supported")
# Check for KRB5_DEPRECATED handling
conf.CHECK_CODE('''#define KRB5_DEPRECATED 1
#include <krb5.h>''',
# Check for MIT KDC
if conf.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'):
Logs.info("Looking for MIT KDC")
- conf.DEFINE('SAMBA_USES_MITKDC', 1);
+ conf.DEFINE('SAMBA_USES_MITKDC', 1)
kdc_path_list = [ '/usr/sbin', '/usr/lib/mit/sbin']