diff options
-rw-r--r-- | source3/wscript | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source3/wscript b/source3/wscript index 3454558778..709651fa7f 100644 --- a/source3/wscript +++ b/source3/wscript @@ -570,6 +570,11 @@ krb5_get_credentials_for_user krb5_get_host_realm krb5_free_host_realm''', define='HAVE_KRB5_KEYBLOCK_IN_CREDS') conf.CHECK_STRUCTURE_MEMBER('krb5_creds', 'session', headers='krb5.h', define='HAVE_KRB5_SESSION_IN_CREDS') + if conf.CHECK_STRUCTURE_MEMBER('krb5_ticket', 'enc_part.enctype', headers='krb5.h') and conf.CHECK_STRUCTURE_MEMBER('krb5_ticket', 'enc_part.kvno', headers='krb5.h'): + conf.DEFINE('KRB5_TICKET_HAS_KEYINFO', '1') + conf.CHECK_STRUCTURE_MEMBER('krb5_ap_req', 'ticket', headers='krb5.h', + define='HAVE_TICKET_POINTER_IN_KRB5_AP_REQ') + conf.CHECK_TYPE('krb5_encrypt_block', headers='krb5.h') conf.CHECK_CODE(''' krb5_context ctx; @@ -616,6 +621,25 @@ return 0; headers='krb5.h stdlib.h', lib='krb5', addmain=False, cflags='-Werror', msg="Checking whether krb5_enctype_to_string takes krb5_context argument") + conf.CHECK_CODE(''' +int main(void) { +krb5_context ctx = NULL; +krb5_principal princ = NULL; +const char *str = krb5_princ_realm(ctx, princ)->data; +return 0; +}''', + 'HAVE_KRB5_PRINC_REALM', + headers='krb5.h', lib='krb5', + addmain=False, + msg="Checking whether the macro krb5_princ_realm is defined") + if conf.CHECK_CODE('''krb5_verify_checksum(0, 0, 0, 0, 0, 0, 0);''', + 'KRB5_VERIFY_CHECKSUM_ARGS', + headers='krb5.h', lib='krb5', + msg="Checking whether krb5_verify_checksum takes 7 arguments"): + conf.DEFINE('KRB5_VERIFY_CHECKSUM_ARGS', '7') + else: + conf.DEFINE('KRB5_VERIFY_CHECKSUM_ARGS', '6') + conf.DEFINE('HAVE_KRB5', '1') else: |