Changeset 988 for vendor/current/source4/heimdal_build
- Timestamp:
- Nov 24, 2016, 1:14:11 PM (9 years ago)
- Location:
- vendor/current/source4/heimdal_build
- Files:
-
- 2 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/source4/heimdal_build/config.h
r740 r988 12 12 #define HEIMDAL_NORETURN_ATTRIBUTE _NORETURN_ 13 13 #define HEIMDAL_PRINTF_ATTRIBUTE(x) FORMAT_ATTRIBUTE(x) 14 #define HEIMDAL_UNUSED_ATTRIBUTE _UNUSED_ 15 14 16 #define VERSIONLIST {"Lorikeet-Heimdal, Modified for Samba4"} 15 17 … … 40 42 41 43 /*Workaround for heimdal define vs samba define*/ 42 #ifdef HAVE_LIBINTL_H 44 #if defined(HAVE_LIBINTL_H) && defined(HAVE_BINDTEXTDOMAIN) &&\ 45 defined(HAVE_TEXTDOMAIN) 43 46 #define LIBINTL 44 47 #endif -
vendor/current/source4/heimdal_build/lexyacc.sh
r740 r988 25 25 cd $dir 26 26 27 $LEX $lfile || exit 1 27 # --noline specified because line directives cause more bother than they solve (issues with lcov finding the source files) 28 $LEX --noline $lfile || exit 1 28 29 29 30 if [ -r lex.yy.c ]; then 30 31 echo "#include \"config.h\"" > $base.c 31 sed -e "s|lex\.yy\.c|$cfile|" lex.yy.c >> $base.c32 grep -v "^#line" lex.yy.c >> $base.c 32 33 rm -f $base.yy.c 33 34 elif [ -r $base.yy.c ]; then 34 35 echo "#include \"config.h\"" > $base.c 35 sed -e "s|$base\.yy\.c|$cfile|" $base.yy.c >> $base.c36 grep -v "^#line" $base.yy.c >> $base.c 36 37 rm -f $base.yy.c 37 38 elif [ -r $base.c ]; then 38 39 mv $base.c $base.c.tmp 39 40 echo "#include \"config.h\"" > $base.c 40 sed -e "s|$base\.yy\.c|$cfile|" $base.c.tmp >> $base.c41 grep -v "^#line" $base.c.tmp >> $base.c 41 42 rm -f $base.c.tmp 42 43 elif [ ! -r base.c ]; then … … 60 61 cd $dir 61 62 62 $YACC -d $yfile || exit 1 63 # -l specified because line directives cause more bother than they solve (issues with lcov finding the source files) 64 $YACC -l -d $yfile || exit 1 63 65 if [ -r y.tab.h -a -r y.tab.c ];then 64 sed -e "/^#/!b" -e "s|y\.tab\.h|$cfile|" -e "s|\"$base.y|\"$cfile|"y.tab.h > $base.h65 sed -e "s|y\.tab\.c|$cfile|" -e "s|\"$base.y|\"$cfile|"y.tab.c > $base.c66 cat y.tab.h > $base.h 67 cat y.tab.c > $base.c 66 68 rm -f y.tab.c y.tab.h 67 69 elif [ ! -r $base.h -a ! -r $base.c]; then -
vendor/current/source4/heimdal_build/replace.c
r740 r988 84 84 } 85 85 #endif 86 87 #ifndef HAVE_SETPROGNAME 88 89 /* We don't want to use a setprogname reimplementation */ 90 void setprogname(const char *argv0) 91 { 92 } 93 94 #endif /* HAVE_SETPROGNAME */ 95 96 #ifndef HAVE_GETPROGNAME 97 /* We don't want to use a getprogname reimplementation */ 98 const char *getprogname(void) 99 { 100 return ""; 101 } 102 #endif /* HAVE_GETPROGNAME */ -
vendor/current/source4/heimdal_build/roken.h
r740 r988 124 124 #endif 125 125 126 /* force the use of the libreplace strerror_r */127 #ifndef HAVE_STRERROR_R128 #define HAVE_STRERROR_R129 #endif130 #ifndef STRERROR_R_PROTO_COMPATIBLE131 #define STRERROR_R_PROTO_COMPATIBLE132 #endif133 134 126 #ifndef HAVE_DIRFD 135 127 #ifdef HAVE_DIR_DD_FD -
vendor/current/source4/heimdal_build/wscript_build
r740 r988 70 70 t = bld(rule=asn1_rule, 71 71 ext_out = '.x', 72 before = 'c c',73 on_results = True,72 before = 'c', 73 update_outputs = True, 74 74 shell = True, 75 75 source = source, … … 93 93 target = cfile, 94 94 shell = True, 95 on_results=True,95 update_outputs=True, 96 96 ext_out = '.c', 97 97 ext_in = '.x', … … 104 104 ext_out = '.c', 105 105 ext_in = '.x', 106 on_results=True,106 update_outputs=True, 107 107 target = hfile, 108 108 depends_on = name + '_ASN1', … … 114 114 ext_out = '.c', 115 115 ext_in = '.x', 116 on_results=True,116 update_outputs=True, 117 117 target = hpriv, 118 118 depends_on = name + '_ASN1', … … 124 124 includes.append(os.path.dirname(out_files[0])) 125 125 126 t = bld(features = 'c c',126 t = bld(features = 'c', 127 127 source = cfile, 128 128 target = name, … … 159 159 ext_out = '.c', 160 160 before = 'cc', 161 on_results = True,161 update_outputs = True, 162 162 shell = True, 163 163 source = sources, … … 177 177 source=source, 178 178 target=header, 179 on_results=True,179 update_outputs=True, 180 180 ext_out='.c', 181 181 before='cc') … … 202 202 target=target, 203 203 shell=isinstance(rule, str), 204 on_results=True,204 update_outputs=True, 205 205 before='cc', 206 206 ext_out='.c', … … 210 210 211 211 212 def HEIMDAL_LIBRARY(libname, source, deps, vnum, version_script, includes='' , cflags=''):212 def HEIMDAL_LIBRARY(libname, source, deps, vnum, version_script, includes=''): 213 213 '''define a Heimdal library''' 214 214 … … 222 222 deps = deps, 223 223 includes = includes, 224 cflags = cflags,225 224 group = 'main') 226 225 … … 243 242 version = "%s_%s" % (Utils.g_module.APPNAME, Utils.g_module.VERSION) 244 243 245 features = 'c ccshlib symlink_lib install_lib'246 247 bld.set_group(' libraries')244 features = 'c cshlib symlink_lib install_lib' 245 246 bld.set_group('main') 248 247 t = bld( 249 248 features = features, … … 279 278 280 279 return bld( 281 features = 'c c',280 features = 'c', 282 281 source = source, 283 282 target = modname, 284 samba_cflags = CURRENT_CFLAGS(bld, modname, cflags ),283 samba_cflags = CURRENT_CFLAGS(bld, modname, cflags, allow_warnings=True), 285 284 depends_on = '', 286 285 samba_deps = to_list(deps), … … 300 299 use_global_deps=True, 301 300 compiler=None, 302 group=' binaries',301 group='main', 303 302 install=True, 304 303 install_path=None): … … 308 307 return 309 308 310 features = 'c ccprogram symlink_bin install_bin'309 features = 'c cprogram symlink_bin install_bin' 311 310 312 311 obj_target = binname + '.objlist' … … 401 400 ''' 402 401 403 if not bld.CONFIG_SET('HAVE_GETPROGNAME'):404 ROKEN_HOSTCC_SOURCE += '''405 lib/roken/getprogname.c406 lib/roken/setprogname.c407 '''408 409 402 if not bld.CONFIG_SET('HAVE_CLOSEFROM'): 410 403 ROKEN_HOSTCC_SOURCE += ''' … … 416 409 lib/roken/socket.c 417 410 lib/roken/roken_gethostby.c 411 lib/roken/strerror_r.c 418 412 ''' 419 413 … … 431 425 use_global_deps=False, 432 426 includes='../heimdal/lib/roken', 433 cflags='-DSOCKET_WRAPPER_DISABLE=1 -D NSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_',427 cflags='-DSOCKET_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_', 434 428 group='compiler_libraries', 435 429 deps='LIBREPLACE_HOSTCC', 436 )437 438 HEIMDAL_BINARY('rkpty', 'lib/roken/rkpty.c',439 deps='roken',440 install=False441 430 ) 442 431 … … 478 467 HEIMDAL_ASN1('HEIMDAL_HDB_ASN1', 'lib/hdb/hdb.asn1', 479 468 directory='lib/asn1', 469 options="--sequence=HDB-Ext-KeySet --sequence=Keys", 480 470 includes='../heimdal/lib/asn1') 481 471 … … 520 510 ) 521 511 512 HEIMDAL_GSSAPI_SPNEGO_SOURCE = ''' 513 lib/gssapi/spnego/init_sec_context.c 514 lib/gssapi/spnego/external.c 515 lib/gssapi/spnego/compat.c 516 lib/gssapi/spnego/context_stubs.c 517 lib/gssapi/spnego/cred_stubs.c 518 lib/gssapi/spnego/accept_sec_context.c 519 ''' 520 521 HEIMDAL_AUTOPROTO_PRIVATE('lib/gssapi/spnego/spnego-private.h', 522 HEIMDAL_GSSAPI_SPNEGO_SOURCE) 523 524 HEIMDAL_GSSAPI_KRB5_SOURCE = ''' 525 lib/gssapi/krb5/copy_ccache.c 526 lib/gssapi/krb5/delete_sec_context.c 527 lib/gssapi/krb5/init_sec_context.c 528 lib/gssapi/krb5/context_time.c 529 lib/gssapi/krb5/init.c 530 lib/gssapi/krb5/address_to_krb5addr.c 531 lib/gssapi/krb5/get_mic.c 532 lib/gssapi/krb5/inquire_context.c 533 lib/gssapi/krb5/add_cred.c 534 lib/gssapi/krb5/inquire_cred.c 535 lib/gssapi/krb5/inquire_cred_by_oid.c 536 lib/gssapi/krb5/inquire_cred_by_mech.c 537 lib/gssapi/krb5/inquire_mechs_for_name.c 538 lib/gssapi/krb5/inquire_names_for_mech.c 539 lib/gssapi/krb5/indicate_mechs.c 540 lib/gssapi/krb5/inquire_sec_context_by_oid.c 541 lib/gssapi/krb5/export_sec_context.c 542 lib/gssapi/krb5/import_sec_context.c 543 lib/gssapi/krb5/duplicate_name.c 544 lib/gssapi/krb5/import_name.c 545 lib/gssapi/krb5/compare_name.c 546 lib/gssapi/krb5/export_name.c 547 lib/gssapi/krb5/canonicalize_name.c 548 lib/gssapi/krb5/unwrap.c 549 lib/gssapi/krb5/wrap.c 550 lib/gssapi/krb5/release_name.c 551 lib/gssapi/krb5/cfx.c 552 lib/gssapi/krb5/8003.c 553 lib/gssapi/krb5/arcfour.c 554 lib/gssapi/krb5/encapsulate.c 555 lib/gssapi/krb5/display_name.c 556 lib/gssapi/krb5/sequence.c 557 lib/gssapi/krb5/display_status.c 558 lib/gssapi/krb5/release_buffer.c 559 lib/gssapi/krb5/external.c 560 lib/gssapi/krb5/compat.c 561 lib/gssapi/krb5/creds.c 562 lib/gssapi/krb5/acquire_cred.c 563 lib/gssapi/krb5/release_cred.c 564 lib/gssapi/krb5/store_cred.c 565 lib/gssapi/krb5/set_cred_option.c 566 lib/gssapi/krb5/decapsulate.c 567 lib/gssapi/krb5/verify_mic.c 568 lib/gssapi/krb5/accept_sec_context.c 569 lib/gssapi/krb5/set_sec_context_option.c 570 lib/gssapi/krb5/process_context_token.c 571 lib/gssapi/krb5/prf.c 572 lib/gssapi/krb5/aeap.c 573 lib/gssapi/krb5/pname_to_uid.c 574 lib/gssapi/krb5/authorize_localname.c 575 ''' 576 577 HEIMDAL_AUTOPROTO_PRIVATE('lib/gssapi/krb5/gsskrb5-private.h', 578 HEIMDAL_GSSAPI_KRB5_SOURCE) 579 522 580 HEIMDAL_LIBRARY('gssapi', 523 ''' 524 lib/gssapi/spnego/init_sec_context.c lib/gssapi/spnego/external.c lib/gssapi/spnego/compat.c 525 lib/gssapi/spnego/context_stubs.c lib/gssapi/spnego/cred_stubs.c lib/gssapi/spnego/accept_sec_context.c 526 lib/gssapi/krb5/copy_ccache.c lib/gssapi/krb5/delete_sec_context.c lib/gssapi/krb5/init_sec_context.c 527 lib/gssapi/krb5/context_time.c lib/gssapi/krb5/init.c lib/gssapi/krb5/address_to_krb5addr.c 528 lib/gssapi/krb5/get_mic.c lib/gssapi/krb5/inquire_context.c lib/gssapi/krb5/add_cred.c 529 lib/gssapi/krb5/inquire_cred.c lib/gssapi/krb5/inquire_cred_by_oid.c lib/gssapi/krb5/inquire_cred_by_mech.c 530 lib/gssapi/krb5/inquire_mechs_for_name.c lib/gssapi/krb5/inquire_names_for_mech.c lib/gssapi/krb5/indicate_mechs.c 531 lib/gssapi/krb5/inquire_sec_context_by_oid.c lib/gssapi/krb5/export_sec_context.c lib/gssapi/krb5/import_sec_context.c 532 lib/gssapi/krb5/duplicate_name.c lib/gssapi/krb5/import_name.c lib/gssapi/krb5/compare_name.c 533 lib/gssapi/krb5/export_name.c lib/gssapi/krb5/canonicalize_name.c lib/gssapi/krb5/unwrap.c 534 lib/gssapi/krb5/wrap.c lib/gssapi/krb5/release_name.c lib/gssapi/krb5/cfx.c 535 lib/gssapi/krb5/8003.c lib/gssapi/krb5/arcfour.c lib/gssapi/krb5/encapsulate.c 536 lib/gssapi/krb5/display_name.c lib/gssapi/krb5/sequence.c lib/gssapi/krb5/display_status.c 537 lib/gssapi/krb5/release_buffer.c lib/gssapi/krb5/external.c lib/gssapi/krb5/compat.c 538 lib/gssapi/krb5/creds.c lib/gssapi/krb5/acquire_cred.c lib/gssapi/krb5/release_cred.c 539 lib/gssapi/krb5/store_cred.c lib/gssapi/krb5/set_cred_option.c lib/gssapi/krb5/decapsulate.c 540 lib/gssapi/krb5/verify_mic.c lib/gssapi/krb5/accept_sec_context.c lib/gssapi/krb5/set_sec_context_option.c 541 lib/gssapi/krb5/process_context_token.c lib/gssapi/krb5/prf.c lib/gssapi/krb5/aeap.c 581 HEIMDAL_GSSAPI_SPNEGO_SOURCE + HEIMDAL_GSSAPI_KRB5_SOURCE + ''' 542 582 lib/gssapi/mech/context.c lib/gssapi/mech/gss_krb5.c lib/gssapi/mech/gss_mech_switch.c 543 583 lib/gssapi/mech/gss_process_context_token.c lib/gssapi/mech/gss_buffer_set.c … … 620 660 store_mem.c ticket.c time.c transited.c 621 661 version.c warn.c krb5_err.c 662 aname_to_localname.c kuserok.c 622 663 heim_err.c k524_err.c krb_err.c''')] + ["../heimdal_build/krb5-glue.c"] 623 664 … … 625 666 version_script='lib/krb5/version-script.map', 626 667 includes='../heimdal/lib/krb5 ../heimdal/lib/asn1 ../heimdal/include', 627 deps='roken wind asn1 hx509 hcrypto intl com_err HEIMDAL_CONFIG heimbase',668 deps='roken wind asn1 hx509 hcrypto com_err HEIMDAL_CONFIG heimbase execinfo samba_intl', 628 669 vnum='26.0.0', 629 670 ) … … 849 890 'lib/com_err/com_err.c lib/com_err/error.c', 850 891 includes='../heimdal/lib/com_err', 851 deps='roken intl',892 deps='roken samba_intl', 852 893 vnum='0.25', 853 894 version_script='lib/com_err/version-script.map', … … 873 914 use_hostcc=True, 874 915 use_global_deps=False, 875 cflags='-DSOCKET_WRAPPER_DISABLE=1 -D NSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_',916 cflags='-DSOCKET_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_', 876 917 includes='../heimdal/lib/asn1', 877 918 group='build_compilers', … … 889 930 includes='../heimdal/lib/com_err', 890 931 group='build_compilers', 891 cflags='-DSOCKET_WRAPPER_DISABLE=1 -D NSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_',932 cflags='-DSOCKET_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_', 892 933 deps='ROKEN_HOSTCC LIBREPLACE_HOSTCC HEIMDAL_VERS_HOSTCC', 893 934 install=False … … 901 942 ) 902 943 944 HEIMDAL_BINARY('samba4kgetcred', 945 'kuser/kgetcred.c', 946 deps='krb5 heimntlm roken HEIMDAL_VERS hcrypto asn1', 947 install=False 948 ) 903 949 904 950 HEIMDAL_BINARY('samba4kpasswd', … … 908 954 ) 909 955 910 911 HEIMDAL_GSSAPI_SPNEGO_SOURCE = ''' 912 lib/gssapi/spnego/init_sec_context.c 913 lib/gssapi/spnego/external.c 914 lib/gssapi/spnego/compat.c 915 lib/gssapi/spnego/context_stubs.c 916 lib/gssapi/spnego/cred_stubs.c 917 lib/gssapi/spnego/accept_sec_context.c 918 ''' 919 920 HEIMDAL_AUTOPROTO_PRIVATE('lib/gssapi/spnego/spnego-private.h', 921 HEIMDAL_GSSAPI_SPNEGO_SOURCE) 922 923 924 HEIMDAL_GSSAPI_KRB5_SOURCE = ''' 925 lib/gssapi/krb5/copy_ccache.c 926 lib/gssapi/krb5/delete_sec_context.c 927 lib/gssapi/krb5/init_sec_context.c 928 lib/gssapi/krb5/context_time.c 929 lib/gssapi/krb5/init.c 930 lib/gssapi/krb5/address_to_krb5addr.c 931 lib/gssapi/krb5/get_mic.c 932 lib/gssapi/krb5/inquire_context.c 933 lib/gssapi/krb5/add_cred.c 934 lib/gssapi/krb5/inquire_cred.c 935 lib/gssapi/krb5/inquire_cred_by_oid.c 936 lib/gssapi/krb5/inquire_cred_by_mech.c 937 lib/gssapi/krb5/inquire_mechs_for_name.c 938 lib/gssapi/krb5/inquire_names_for_mech.c 939 lib/gssapi/krb5/indicate_mechs.c 940 lib/gssapi/krb5/inquire_sec_context_by_oid.c 941 lib/gssapi/krb5/export_sec_context.c 942 lib/gssapi/krb5/import_sec_context.c 943 lib/gssapi/krb5/duplicate_name.c 944 lib/gssapi/krb5/import_name.c 945 lib/gssapi/krb5/compare_name.c 946 lib/gssapi/krb5/export_name.c 947 lib/gssapi/krb5/canonicalize_name.c 948 lib/gssapi/krb5/unwrap.c 949 lib/gssapi/krb5/wrap.c 950 lib/gssapi/krb5/release_name.c 951 lib/gssapi/krb5/cfx.c 952 lib/gssapi/krb5/8003.c 953 lib/gssapi/krb5/arcfour.c 954 lib/gssapi/krb5/encapsulate.c 955 lib/gssapi/krb5/display_name.c 956 lib/gssapi/krb5/sequence.c 957 lib/gssapi/krb5/display_status.c 958 lib/gssapi/krb5/release_buffer.c 959 lib/gssapi/krb5/external.c 960 lib/gssapi/krb5/compat.c 961 lib/gssapi/krb5/creds.c 962 lib/gssapi/krb5/acquire_cred.c 963 lib/gssapi/krb5/release_cred.c 964 lib/gssapi/krb5/store_cred.c 965 lib/gssapi/krb5/set_cred_option.c 966 lib/gssapi/krb5/decapsulate.c 967 lib/gssapi/krb5/verify_mic.c 968 lib/gssapi/krb5/accept_sec_context.c 969 lib/gssapi/krb5/set_sec_context_option.c 970 lib/gssapi/krb5/process_context_token.c 971 lib/gssapi/krb5/prf.c 972 lib/gssapi/krb5/aeap.c 973 ''' 974 975 HEIMDAL_AUTOPROTO_PRIVATE('lib/gssapi/krb5/gsskrb5-private.h', 976 HEIMDAL_GSSAPI_KRB5_SOURCE) 977 978 979 956 # Alias subsystem to allow common kerberos code that will 957 # otherwise link against MIT's gssapi_krb5 and k5crypto 958 # 959 # Note: that we also need this if we use system heimdal libraries 960 HEIMDAL_SUBSYSTEM('gssapi_krb5', '', deps='gssapi') 961 HEIMDAL_SUBSYSTEM('k5crypto', '', deps='krb5') -
vendor/current/source4/heimdal_build/wscript_configure
r740 r988 20 20 sys/file.h sys/stropts.h sys/timeb.h sys/times.h sys/uio.h sys/un.h 21 21 sys/utsname.h time.h timezone.h ttyname.h netinet/in.h 22 netinet/in6.h netinet6/in6.h libintl.h''')22 netinet/in6.h netinet6/in6.h''') 23 23 24 24 conf.CHECK_HEADERS('curses.h term.h termcap.h', together=True) … … 28 28 strptime strsep strsep_copy strtok_r strupr swab umask uname unsetenv 29 29 closefrom err warn errx warnx flock writev''') 30 31 if conf.CHECK_FUNCS('strerror_r'): 32 # Check if strerror_r is BSD compatible (default GNU implementation is not what Heimdal expects) 33 conf.CHECK_CODE('int strerror_r(int errnum, char *buf, size_t buflen);', 34 'STRERROR_R_PROTO_COMPATIBLE', 35 headers='string.h', addmain=False, link=False, 36 msg="Checking for XSI (rather than GNU) prototype for strerror_r") 30 37 31 38 conf.CHECK_FUNCS_IN('hstrerror', 'resolv socket nsl', checklibc=True) … … 35 42 'socket nsl', 36 43 checklibc=True) 37 38 conf.CHECK_FUNCS_IN('dgettext gettext', 'intl', headers='libintl.h')39 44 40 45 conf.CHECK_FUNCS('iruserok') … … 60 65 conf.CHECK_VARIABLE('_res', headers='netinet/in.h arpa/nameser.h resolv.h') 61 66 conf.CHECK_DECLS('_res', headers='netinet/in.h arpa/nameser.h resolv.h') 62 conf.CHECK_FUNCS_IN('openpty', 'util', checklibc=True, headers='pty.h util.h libutil.h')63 67 64 68 conf.DEFINE('HAVE_KRB5',1) 65 conf.DEFINE('HAVE_GSSAPI',1)66 69 67 70 conf.CHECK_FUNCS('dirfd', headers='dirent.h') … … 69 72 conf.CHECK_STRUCTURE_MEMBER('DIR', 'dd_fd', define='HAVE_DIR_DD_FD', headers='dirent.h') 70 73 71 conf.DEFINE('SAMBA4_INTERNAL_HEIMDAL', 1) 72 73 if conf.CHECK_BUNDLED_SYSTEM('com_err', checkfunctions='com_right_r com_err', headers='com_err.h'): 74 conf.define('USING_SYSTEM_COM_ERR', 1) 74 conf.DEFINE('SAMBA4_USES_HEIMDAL', 1) 75 76 # setup the right defines for a in-tree heimdal build 77 Logs.info("Using in-tree heimdal kerberos defines") 78 conf.define('HAVE_GSSAPI_GSSAPI_H', 1) 79 conf.define('HAVE_GSSAPI_GSSAPI_KRB5_H', 1) 80 conf.define('HAVE_AP_OPTS_USE_SUBKEY', 1) 81 conf.define('HAVE_KRB5_ADDRESSES', 1) 82 conf.define('HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK', 1) 83 conf.define('HAVE_KRB5_SET_REAL_TIME', 1) 84 conf.define('HAVE_COM_ERR_H', 1) 85 conf.define('HAVE_ADDR_TYPE_IN_KRB5_ADDRESS', 1) 86 conf.define('HAVE_GSS_DISPLAY_STATUS', 1) 87 conf.define('HAVE_GSS_WRAP_IOV', 1) 88 conf.define('HAVE_GSS_KRB5_IMPORT_CRED', 1) 89 conf.define('HAVE_GSS_OID_EQUAL', 1) 90 conf.define('HAVE_GSS_INQUIRE_SEC_CONTEXT_BY_OID', 1) 91 conf.define('HAVE_GSSKRB5_EXTRACT_AUTHZ_DATA_FROM_SEC_CONTEXT', 1) 92 conf.define('HAVE_GSSKRB5_GET_SUBKEY', 1) 93 conf.define('HAVE_GSS_KRB5_EXPORT_LUCID_SEC_CONTEXT', 1) 94 conf.define('HAVE_GSS_IMPORT_CRED', 1) 95 conf.define('HAVE_GSS_EXPORT_CRED', 1) 96 conf.define('HAVE_GSS_KRB5_CRED_NO_CI_FLAGS_X', 1) 97 conf.define('HAVE_GSSAPI', 1) 98 conf.define('HAVE_ADDR_TYPE_IN_KRB5_ADDRESS', 1) 99 conf.define('HAVE_CHECKSUM_IN_KRB5_CHECKSUM', 1) 100 conf.define('HAVE_DECL_KRB5_AUTH_CON_SET_REQ_CKSUMTYPE', 0) 101 conf.define('HAVE_DECL_KRB5_GET_CREDENTIALS_FOR_USER', 0) 102 conf.define('HAVE_E_DATA_POINTER_IN_KRB5_ERROR', 1) 103 conf.define('HAVE_INITIALIZE_KRB5_ERROR_TABLE', 1) 104 conf.define('HAVE_KRB5_ADDRESSES', 1) 105 conf.define('HAVE_KRB5_AUTH_CON_SETKEY', 1) 106 conf.define('HAVE_KRB5_CC_GET_LIFETIME', 1) 107 conf.define('HAVE_KRB5_CREATE_CHECKSUM', 1) 108 conf.define('HAVE_KRB5_CRYPTO', 1) 109 conf.define('HAVE_KRB5_CRYPTO_DESTROY', 1) 110 conf.define('HAVE_KRB5_CRYPTO_INIT', 1) 111 conf.define('HAVE_KRB5_C_VERIFY_CHECKSUM', 1) 112 conf.define('HAVE_KRB5_ENCTYPE_TO_STRING', 1) 113 conf.define('HAVE_KRB5_ENCTYPE_TO_STRING_WITH_KRB5_CONTEXT_ARG', 1) 114 conf.define('HAVE_KRB5_FREE_ERROR_CONTENTS', 1) 115 conf.define('HAVE_KRB5_FREE_HOST_REALM', 1) 116 conf.define('HAVE_KRB5_FWD_TGT_CREDS', 1) 117 conf.define('HAVE_KRB5_GET_CREDS', 1) 118 conf.define('HAVE_KRB5_GET_CREDS_OPT_ALLOC', 1) 119 conf.define('HAVE_KRB5_GET_CREDS_OPT_SET_IMPERSONATE', 1) 120 conf.define('HAVE_KRB5_GET_DEFAULT_IN_TKT_ETYPES', 1) 121 conf.define('HAVE_KRB5_GET_HOST_REALM', 1) 122 conf.define('HAVE_KRB5_GET_INIT_CREDS_OPT_ALLOC', 1) 123 conf.define('HAVE_KRB5_GET_INIT_CREDS_OPT_FREE', 1) 124 conf.define('HAVE_KRB5_GET_INIT_CREDS_OPT_GET_ERROR', 1) 125 conf.define('HAVE_KRB5_GET_INIT_CREDS_OPT_SET_PAC_REQUEST', 1) 126 conf.define('HAVE_KRB5_GET_INIT_CREDS_KEYBLOCK', 1) 127 conf.define('HAVE_KRB5_GET_PW_SALT', 1) 128 conf.define('HAVE_KRB5_GET_RENEWED_CREDS', 1) 129 conf.define('HAVE_KRB5_KEYBLOCK_KEYVALUE', 1) 130 conf.define('HAVE_KRB5_KEYBLOCK_INIT', 1) 131 conf.define('HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK', 1) 132 conf.define('HAVE_KRB5_KRBHST_GET_ADDRINFO', 1) 133 conf.define('HAVE_KRB5_KRBHST_INIT', 1) 134 conf.define('HAVE_KRB5_KT_COMPARE', 1) 135 conf.define('HAVE_KRB5_KT_FREE_ENTRY', 1) 136 conf.define('HAVE_KRB5_KU_OTHER_CKSUM', 1) 137 conf.define('HAVE_KRB5_LOCATE_PLUGIN_H', 1) 138 conf.define('HAVE_KRB5_MK_REQ_EXTENDED', 1) 139 conf.define('HAVE_KRB5_PRINCIPAL_COMPARE_ANY_REALM', 1) 140 conf.define('HAVE_KRB5_PRINCIPAL_GET_COMP_STRING', 1) 141 conf.define('HAVE_KRB5_PRINCIPAL_GET_REALM', 1) 142 conf.define('HAVE_KRB5_MAKE_PRINCIPAL', 1) 143 conf.define('HAVE_KRB5_REALM_TYPE', 1) 144 conf.define('HAVE_KRB5_SET_DEFAULT_IN_TKT_ETYPES', 1) 145 conf.define('HAVE_KRB5_SET_REAL_TIME', 1) 146 conf.define('HAVE_KRB5_STRING_TO_KEY', 1) 147 conf.define('HAVE_KRB5_STRING_TO_KEY_SALT', 1) 148 conf.define('HAVE_FREE_CHECKSUM', 1) 149 conf.define('HAVE_LIBKRB5', 1) 150 conf.define('KRB5_CREDS_OPT_FREE_REQUIRES_CONTEXT', 1) 151 conf.define('HAVE_ETYPE_IN_ENCRYPTEDDATA', 1) 152 conf.define('KRB5_PRINC_REALM_RETURNS_REALM', 1) 153 conf.define('HAVE_KRB5_PRINCIPAL_GET_REALM', 1) 154 conf.define('HAVE_KRB5_H', 1) 155 conf.define('HAVE_AP_OPTS_USE_SUBKEY', 1) 156 conf.define('HAVE_ENCTYPE_ARCFOUR_HMAC_MD5', 1) 157 conf.define('HAVE_ENCTYPE_ARCFOUR_HMAC_MD5_56', 1) 158 conf.define('HAVE_ENCTYPE_ARCFOUR_HMAC', 1) 159 conf.define('HAVE_KRB5_PDU_NONE_DECL', 1) 160 conf.define('HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96', 1) 161 conf.define('HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96', 1) 162 conf.define('HAVE_KRB5_PRINCIPAL_GET_NUM_COMP', 1) 163 conf.define('HAVE_GSSAPI_GSSAPI_SPNEGO_H', 1) 164 conf.define('HAVE_FLAGS_IN_KRB5_CREDS', 1) 165 conf.define('HAVE_KRB5_CONFIG_GET_BOOL_DEFAULT', 1) 166 conf.define('HAVE_KRB5_DATA_COPY', 1) 167 conf.define('HAVE_KRB5_PRINCIPAL_SET_REALM', 1) 168 conf.define('HAVE_KRB5_PRINCIPAL_SET_TYPE', 1) 169 conf.define('HAVE_KRB5_PRINCIPAL_GET_TYPE', 1) 170 conf.define('HAVE_KRB5_WARNX', 1) 171 conf.define('HAVE_KRB5_PROMPT_TYPE', 1) 172 173 heimdal_includedirs = [] 174 heimdal_libdirs = [] 175 krb5_config = conf.find_program("krb5-config.heimdal", var="HEIMDAL_KRB5_CONFIG") 176 if not krb5_config: 177 krb5_config = conf.find_program("krb5-config", var="HEIMDAL_KRB5_CONFIG") 178 if krb5_config: 179 # Not ideal, but seems like the best way to get at these paths: 180 f = open(krb5_config, 'r') 181 try: 182 for l in f: 183 if l.startswith("libdir="): 184 heimdal_libdirs.append(l.strip()[len("libdir="):]) 185 elif l.startswith("includedir="): 186 heimdal_includedirs.append(l.strip()[len("includedir="):]) 187 finally: 188 f.close() 75 189 76 190 def check_system_heimdal_lib(name, functions='', headers='', onlyif=None): … … 79 193 if conf.LIB_MAY_BE_BUNDLED(name): 80 194 return False 81 setattr(conf.env, "CPPPATH_%s" % name.upper(), ["/usr/include/heimdal"]) 82 setattr(conf.env, "LIBPATH_%s" % name.upper(), ["/usr/lib/heimdal"]) 83 conf.CHECK_BUNDLED_SYSTEM(name, checkfunctions=functions, headers=headers, 84 onlyif=onlyif) 195 setattr(conf.env, "CPPPATH_%s" % name.upper(), heimdal_includedirs) 196 setattr(conf.env, "LIBPATH_%s" % name.upper(), heimdal_libdirs) 197 if not conf.CHECK_BUNDLED_SYSTEM(name, checkfunctions=functions, headers=headers, 198 onlyif=onlyif): 199 return False 85 200 conf.define('USING_SYSTEM_%s' % name.upper(), 1) 86 201 return True … … 93 208 conf.define('USING_SYSTEM_%s' % name.upper(), 1) 94 209 return True 210 211 check_system_heimdal_lib("com_err", "com_right_r com_err", "com_err.h") 95 212 96 213 if check_system_heimdal_lib("roken", "rk_socket_set_reuseaddr", "roken.h"): … … 99 216 conf.env.LIB_ROKEN_HOSTCC = "roken" 100 217 conf.SET_TARGET_TYPE("ROKEN_HOSTCC", 'SYSLIB') 101 check_system_heimdal_lib("wind", "wind_stringprep", "wind.h", onlyif="roken") 102 check_system_heimdal_lib("hx509", "hx509_bitstring_print", "hx509.h", onlyif="roken wind") 103 check_system_heimdal_lib("asn1", "initialize_asn1_error_table", "asn1_err.h", onlyif="roken com_err") 104 check_system_heimdal_lib("heimbase", "heim_cmp", "heimbase.h", onlyif="roken") 105 check_system_heimdal_lib("hcrypto", "MD4_Init", "hcrypto/md4.h", 106 onlyif="asn1 roken com_err") 107 check_system_heimdal_lib("krb5", "krb5_anyaddr", "krb5.h", 108 onlyif="roken wind asn1 hx509 hcrypto com_err heimbase") 109 check_system_heimdal_lib("gssapi", "gss_oid_to_name", "gssapi.h", 110 onlyif="hcrypto asn1 roken krb5 com_err wind") 111 check_system_heimdal_lib("heimntlm", "heim_ntlm_ntlmv2_key", "heimntlm.h", 112 onlyif="roken hcrypto krb5") 113 check_system_heimdal_lib("hdb", "hdb_db_dir", "krb5.h hdb.h", 114 onlyif="roken krb5 hcrypto com_err wind") 115 check_system_heimdal_lib("kdc", "kdc_log", "kdc.h", 116 onlyif="roken krb5 hdb asn1 heimntlm hcrypto com_err wind heimbase") 117 218 219 # Make sure HAVE_CONFIG_H is unset, as the system Heimdal headers use it 220 # and include config.h if it is set, resulting in failure (since config.h 221 # doesn't yet exist) 222 223 CCDEFINES = list(conf.env.CCDEFINES) 224 conf.undefine("HAVE_CONFIG_H") 225 while "HAVE_CONFIG_H=1" in conf.env.CCDEFINES: 226 conf.env.CCDEFINES.remove("HAVE_CONFIG_H=1") 227 try: 228 check_system_heimdal_lib("wind", "wind_stringprep", "wind.h", onlyif="roken") 229 check_system_heimdal_lib("hx509", "hx509_bitstring_print", "hx509.h", onlyif="roken wind") 230 check_system_heimdal_lib("asn1", "initialize_asn1_error_table", "asn1_err.h", onlyif="roken com_err") 231 check_system_heimdal_lib("heimbase", "heim_cmp", "heimbase.h", onlyif="roken") 232 check_system_heimdal_lib("hcrypto", "MD4_Init", "hcrypto/md4.h", 233 onlyif="asn1 roken com_err") 234 if check_system_heimdal_lib("krb5", "krb5_anyaddr", "krb5.h", 235 onlyif="roken wind asn1 hx509 hcrypto com_err heimbase"): 236 conf.CHECK_FUNCS_IN('krb5_free_unparsed_name', 'krb5', headers="krb5.h") 237 check_system_heimdal_lib("gssapi", "gss_oid_to_name", "gssapi.h", 238 onlyif="hcrypto asn1 roken krb5 com_err wind") 239 check_system_heimdal_lib("heimntlm", "heim_ntlm_ntlmv2_key", "heimntlm.h", 240 onlyif="roken hcrypto krb5") 241 if check_system_heimdal_lib("hdb", "hdb_db_dir", "krb5.h hdb.h", 242 onlyif="roken krb5 hcrypto com_err wind"): 243 conf.CHECK_CODE(''' 244 #include <hdb.h> 245 int main(void) { hdb_enctype2key(NULL, NULL, NULL, 0, NULL); } 246 ''', 247 define='HDB_ENCTYPE2KEY_TAKES_KEYSET', 248 addmain=False, 249 lib='hdb', 250 msg='Checking whether hdb_enctype2key takes a keyset argument', 251 local_include=False) 252 253 check_system_heimdal_lib("kdc", "kdc_log", "kdc.h", 254 onlyif="roken krb5 hdb asn1 heimntlm hcrypto com_err wind heimbase") 255 finally: 256 conf.env.CCDEFINES = CCDEFINES 118 257 119 258 # With the proper checks in place we should be able to build against the system libtommath. 120 # conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h')121 # conf.define('USING_SYSTEM_TOMMATH', 1)259 #if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'): 260 # conf.define('USING_SYSTEM_TOMMATH', 1) 122 261 123 262 check_system_heimdal_binary("compile_et")
Note:
See TracChangeset
for help on using the changeset viewer.