The branch, master has been updated via 50d3baff heimdal_build: Support using system asn1 library. via 12fa110 heimdal_build: Skip some hx509 code when using system hx509. via 8db6453 heimdal_build: Add comment with stub for finding the system libtommath. via b244383 heimdal_build: Initial work on supporting an external heimdal library. via 471e57e heimdal_build: Support using system hx509 library when explicitly requested. via 3fe2bfd heimdal_build: Fix build with system roken. via 6852cc4 heimdal_build: Put version objects in a separate subsystem. via 2e038a7 heimdal: Support using system roken. via 7af5687 heimdal_build: Use existing functions for finding system libraries. from 06fc79f Add acl_xattr:ignore system acls boolean (normally false) to allow Samba ACL module to ignore mapping to lower POSIX layer. With this fix Samba 3.6.x now passes RAW-ACLs (with certain smb.conf parameters set).
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 50d3baffb223999bd264cfa957003cd6189d9a8c Author: Jelmer Vernooij <jel...@samba.org> Date: Sat Oct 16 03:27:02 2010 +0200 heimdal_build: Support using system asn1 library. Autobuild-User: Jelmer Vernooij <jel...@samba.org> Autobuild-Date: Sat Oct 16 02:14:32 UTC 2010 on sn-devel-104 commit 12fa11021916e32899fd4607be78d5cc7418fa04 Author: Jelmer Vernooij <jel...@samba.org> Date: Sat Oct 16 03:07:40 2010 +0200 heimdal_build: Skip some hx509 code when using system hx509. commit 8db6453ae2b8ebb2dda06f5970a1bd5512632e3c Author: Jelmer Vernooij <jel...@samba.org> Date: Sat Oct 16 02:57:57 2010 +0200 heimdal_build: Add comment with stub for finding the system libtommath. commit b244383e75a5d9a6dab4c3fb0595a703a7c762e7 Author: Jelmer Vernooij <jel...@samba.org> Date: Sat Oct 16 02:48:06 2010 +0200 heimdal_build: Initial work on supporting an external heimdal library. commit 471e57edf87373a352aca1d7b006360068b18274 Author: Jelmer Vernooij <jel...@samba.org> Date: Sat Oct 16 02:25:40 2010 +0200 heimdal_build: Support using system hx509 library when explicitly requested. commit 3fe2bfddda6149f6bf7402720226e9285f479fef Author: Jelmer Vernooij <jel...@samba.org> Date: Sat Oct 16 02:15:36 2010 +0200 heimdal_build: Fix build with system roken. commit 6852cc4a7a5601261ba31ee05388a4078e69c77c Author: Jelmer Vernooij <jel...@samba.org> Date: Sat Oct 16 01:49:41 2010 +0200 heimdal_build: Put version objects in a separate subsystem. commit 2e038a78fdcc9dc8a9f65de48176323ad68a3420 Author: Jelmer Vernooij <jel...@samba.org> Date: Sat Oct 16 00:58:56 2010 +0200 heimdal: Support using system roken. commit 7af56875040c0d170d3313bb0e0c126d3f19aed8 Author: Jelmer Vernooij <jel...@samba.org> Date: Sat Oct 16 00:41:34 2010 +0200 heimdal_build: Use existing functions for finding system libraries. ----------------------------------------------------------------------- Summary of changes: buildtools/wafsamba/samba_bundled.py | 2 +- source4/heimdal_build/replace.c | 4 - source4/heimdal_build/{gssapi-glue.c => version.c} | 21 +- source4/heimdal_build/wscript_build | 462 ++++++++++---------- source4/heimdal_build/wscript_configure | 30 +- 5 files changed, 266 insertions(+), 253 deletions(-) copy source4/heimdal_build/{gssapi-glue.c => version.c} (74%) Changeset truncated at 500 lines: diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py index 29b0a50..822e49c 100644 --- a/buildtools/wafsamba/samba_bundled.py +++ b/buildtools/wafsamba/samba_bundled.py @@ -104,7 +104,7 @@ def CHECK_BUNDLED_SYSTEM(conf, libname, minversion='0.0.0', '''helper function for CHECK_BUNDLED_SYSTEM''' if checkfunctions is None: return True - if require_headers and headers and not conf.CHECK_HEADERS(headers): + if require_headers and headers and not conf.CHECK_HEADERS(headers, lib=libname): return False return conf.CHECK_FUNCS_IN(checkfunctions, libname, headers=headers, empty_decl=False, set_target=False) diff --git a/source4/heimdal_build/replace.c b/source4/heimdal_build/replace.c index 8c3def7..51393f6 100644 --- a/source4/heimdal_build/replace.c +++ b/source4/heimdal_build/replace.c @@ -83,7 +83,3 @@ return -1; } #endif - -const char *heimdal_version = "samba-internal-heimdal"; -const char *heimdal_long_version = "samba-interal-heimdal"; - diff --git a/source4/heimdal_build/gssapi-glue.c b/source4/heimdal_build/version.c similarity index 74% copy from source4/heimdal_build/gssapi-glue.c copy to source4/heimdal_build/version.c index 0c27f51..8cceff1 100644 --- a/source4/heimdal_build/gssapi-glue.c +++ b/source4/heimdal_build/version.c @@ -1,28 +1,27 @@ -/* +/* Unix SMB/CIFS implementation. - provide glue functions between heimdal and samba + some replacement functions for parts of roken that don't fit easily into + our build system Copyright (C) Andrew Tridgell 2005 - + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "../replace/replace.h" -#include "heimdal/lib/gssapi/gssapi_mech.h" +#include "config.h" + +const char *heimdal_version = "samba-internal-heimdal"; +const char *heimdal_long_version = "samba-interal-heimdal"; -gssapi_mech_interface __gss_ntlm_initialize(void) -{ - return NULL; -} diff --git a/source4/heimdal_build/wscript_build b/source4/heimdal_build/wscript_build index 86e6aa9..0e08446 100644 --- a/source4/heimdal_build/wscript_build +++ b/source4/heimdal_build/wscript_build @@ -103,8 +103,8 @@ def HEIMDAL_ASN1(name, source, target = name, samba_cflags = CURRENT_CFLAGS(bld, name, ''), depends_on = '', - samba_deps = TO_LIST('roken'), - samba_includes = includes, + samba_deps = TO_LIST('roken replace'), + samba_includes = includes + ["/usr/include/heimdal"], local_include = True) @@ -324,16 +324,16 @@ def HEIMDAL_BINARY(binname, source, HEIMDAL_ASN1('HEIMDAL_SPNEGO_ASN1', - source='../heimdal/lib/gssapi/spnego/spnego.asn1', + source='../heimdal/lib/gssapi/spnego/spnego.asn1', options='--sequence=MechTypeList', - includes='../heimdal/lib/asn1', + includes='../heimdal/lib/asn1', directory='lib/gssapi' ) HEIMDAL_ASN1('HEIMDAL_GSSAPI_ASN1', '../heimdal/lib/gssapi/mech/gssapi.asn1', - includes='../heimdal/lib/asn1', + includes='../heimdal/lib/asn1', directory='lib/gssapi' ) @@ -351,24 +351,6 @@ HEIMDAL_ASN1('HEIMDAL_DIGEST_ASN1', ) -HEIMDAL_ASN1('HEIMDAL_PKCS8_ASN1', - '../heimdal/lib/asn1/pkcs8.asn1', - directory='lib/asn1' - ) - - -HEIMDAL_ASN1('HEIMDAL_PKCS9_ASN1', - '../heimdal/lib/asn1/pkcs9.asn1', - directory='lib/asn1' - ) - - -HEIMDAL_ASN1('HEIMDAL_PKCS12_ASN1', - '../heimdal/lib/asn1/pkcs12.asn1', - directory='lib/asn1' - ) - - HEIMDAL_ASN1('HEIMDAL_RFC2459_ASN1', '../heimdal/lib/asn1/rfc2459.asn1', options='--preserve-binary=TBSCertificate --preserve-binary=TBSCRLCertList --preserve-binary=Name --sequence=GeneralNames --sequence=Extensions --sequence=CRLDistributionPoints', @@ -382,35 +364,12 @@ HEIMDAL_ASN1('HEIMDAL_PKINIT_ASN1', ) -HEIMDAL_ASN1('HEIMDAL_CMS_ASN1', - '../heimdal/lib/asn1/cms.asn1', - option_file='../heimdal/lib/asn1/cms.opt', - directory='lib/asn1' - ) - - -HEIMDAL_ASN1('HEIMDAL_OCSP_ASN1', - '../heimdal/lib/hx509/ocsp.asn1', - options='--preserve-binary=OCSPTBSRequest --preserve-binary=OCSPResponseData', - includes='../heimdal/lib/asn1', - directory='lib/hx509' - ) - - HEIMDAL_ASN1('HEIMDAL_KX509_ASN1', '../heimdal/lib/asn1/kx509.asn1', directory='lib/asn1' ) -HEIMDAL_ASN1('HEIMDAL_PKCS10_ASN1', - '../heimdal/lib/hx509/pkcs10.asn1', - options='--preserve-binary=CertificationRequestInfo', - includes='../heimdal/lib/asn1', - directory='lib/hx509' - ) - - HEIMDAL_ASN1('HEIMDAL_HDB_ASN1', '../heimdal/lib/hdb/hdb.asn1', includes='../heimdal/lib/asn1') @@ -443,75 +402,106 @@ HEIMDAL_ERRTABLE('HEIMDAL_GKRB5_ERR_ET', '../heimdal/lib/gssapi/krb5/gkrb5_err.et') -HEIMDAL_ERRTABLE('HEIMDAL_HX509_ERR_ET', - '../heimdal/lib/hx509/hx509_err.et') - - -ROKEN_HOSTCC_SOURCE = ''' - ../heimdal/lib/roken/base64.c - ../heimdal/lib/roken/ct.c - ../heimdal/lib/roken/hex.c - ../heimdal/lib/roken/bswap.c - ../heimdal/lib/roken/dumpdata.c - ../heimdal/lib/roken/emalloc.c - ../heimdal/lib/roken/ecalloc.c - ../heimdal/lib/roken/getarg.c - ../heimdal/lib/roken/get_window_size.c - ../heimdal/lib/roken/getdtablesize.c - ../heimdal/lib/roken/h_errno.c - ../heimdal/lib/roken/issuid.c - ../heimdal/lib/roken/net_read.c - ../heimdal/lib/roken/net_write.c - ../heimdal/lib/roken/parse_time.c - ../heimdal/lib/roken/parse_units.c - ../heimdal/lib/roken/signal.c - ../heimdal/lib/roken/vis.c - ../heimdal/lib/roken/strlwr.c - ../heimdal/lib/roken/strsep_copy.c - ../heimdal/lib/roken/strsep.c - ../heimdal/lib/roken/strupr.c - ../heimdal/lib/roken/strpool.c - ../heimdal/lib/roken/estrdup.c - ../heimdal/lib/roken/erealloc.c - ../heimdal/lib/roken/simple_exec.c - ../heimdal/lib/roken/strcollect.c - ../heimdal/lib/roken/rtbl.c - ../heimdal/lib/roken/cloexec.c - ../heimdal/lib/roken/xfree.c - replace.c -''' - -if not bld.CONFIG_SET('HAVE_GETPROGNAME'): - ROKEN_HOSTCC_SOURCE += ''' - ../heimdal/lib/roken/getprogname.c - ../heimdal/lib/roken/setprogname.c +if not bld.CONFIG_SET('USING_SYSTEM_ROKEN'): + + if not bld.CONFIG_SET('HAVE_IFADDRS_H'): + HEIMDAL_GENERATOR( + name="HEIMDAL_IFADDRS_H", + rule="rm -f ${TGT} && ln ${SRC} ${TGT}", + source = 'ifaddrs.hin', + target = 'ifaddrs.h', + ) + + if not bld.CONFIG_SET('HAVE_ERR_H'): + HEIMDAL_GENERATOR( + group='build_compiler_source', + name="HEIMDAL_ERR_H", + rule="rm -f ${TGT} && ln ${SRC} ${TGT}", + source = '../heimdal/lib/roken/err.hin', + target = '../heimdal/lib/roken/err.h', + ) + + ROKEN_HOSTCC_SOURCE = ''' + ../heimdal/lib/roken/base64.c + ../heimdal/lib/roken/ct.c + ../heimdal/lib/roken/hex.c + ../heimdal/lib/roken/bswap.c + ../heimdal/lib/roken/dumpdata.c + ../heimdal/lib/roken/emalloc.c + ../heimdal/lib/roken/ecalloc.c + ../heimdal/lib/roken/getarg.c + ../heimdal/lib/roken/get_window_size.c + ../heimdal/lib/roken/getdtablesize.c + ../heimdal/lib/roken/h_errno.c + ../heimdal/lib/roken/issuid.c + ../heimdal/lib/roken/net_read.c + ../heimdal/lib/roken/net_write.c + ../heimdal/lib/roken/parse_time.c + ../heimdal/lib/roken/parse_units.c + ../heimdal/lib/roken/signal.c + ../heimdal/lib/roken/vis.c + ../heimdal/lib/roken/strlwr.c + ../heimdal/lib/roken/strsep_copy.c + ../heimdal/lib/roken/strsep.c + ../heimdal/lib/roken/strupr.c + ../heimdal/lib/roken/strpool.c + ../heimdal/lib/roken/estrdup.c + ../heimdal/lib/roken/erealloc.c + ../heimdal/lib/roken/simple_exec.c + ../heimdal/lib/roken/strcollect.c + ../heimdal/lib/roken/rtbl.c + ../heimdal/lib/roken/cloexec.c + ../heimdal/lib/roken/xfree.c + replace.c ''' -if not bld.CONFIG_SET('HAVE_CLOSEFROM'): - ROKEN_HOSTCC_SOURCE += ''' - ../heimdal/lib/roken/closefrom.c + if not bld.CONFIG_SET('HAVE_GETPROGNAME'): + ROKEN_HOSTCC_SOURCE += ''' + ../heimdal/lib/roken/getprogname.c + ../heimdal/lib/roken/setprogname.c + ''' + + if not bld.CONFIG_SET('HAVE_CLOSEFROM'): + ROKEN_HOSTCC_SOURCE += ''' + ../heimdal/lib/roken/closefrom.c + ''' + + ROKEN_SOURCE = ROKEN_HOSTCC_SOURCE + ''' + ../heimdal/lib/roken/resolve.c + ../heimdal/lib/roken/socket.c + ../heimdal/lib/roken/roken_gethostby.c ''' -ROKEN_SOURCE = ROKEN_HOSTCC_SOURCE + ''' - ../heimdal/lib/roken/resolve.c - ../heimdal/lib/roken/socket.c - ../heimdal/lib/roken/roken_gethostby.c -''' + HEIMDAL_LIBRARY('roken', + ROKEN_SOURCE, + includes='../heimdal/lib/roken ../heimdal/include ../../lib/socket_wrapper', + deps='resolv UID_WRAPPER util', + vnum='19.0.1', + ) -HEIMDAL_LIBRARY('roken', - ROKEN_SOURCE, - includes='../heimdal/lib/roken ../heimdal/include ../../lib/socket_wrapper', - deps='resolv UID_WRAPPER util', - vnum='19.0.1', - ) + HEIMDAL_SUBSYSTEM('ROKEN_HOSTCC', + ROKEN_HOSTCC_SOURCE, + use_hostcc=True, + use_global_deps=False, + includes='../heimdal/lib/roken', + cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_', + group='compiler_libraries', + deps='LIBREPLACE_HOSTCC', + ) + HEIMDAL_BINARY('rkpty', + '../heimdal/lib/roken/rkpty.c', + deps='roken OPENPTY', + cflags='-DPACKAGE="Samba"', + install=False + ) HEIMDAL_LIBRARY('kdc', source='../heimdal/kdc/default_config.c ../heimdal/kdc/kerberos5.c ../heimdal/kdc/krb5tgs.c ../heimdal/kdc/pkinit.c ../heimdal/kdc/log.c ../heimdal/kdc/misc.c ../heimdal/kdc/kaserver.c ../heimdal/kdc/digest.c ../heimdal/kdc/process.c ../heimdal/kdc/windc.c ../heimdal/kdc/kx509.c', includes='../heimdal/kdc', autoproto='../heimdal/kdc/kdc-protos.h', autoproto_private='../heimdal/kdc/kdc-private.h', - deps='roken krb5 hdb HEIMDAL_HEIM_ASN1 HEIMDAL_DIGEST_ASN1 HEIMDAL_KX509_ASN1 heimntlm HEIMDAL_HCRYPTO com_err wind', + deps='roken krb5 hdb asn1 HEIMDAL_DIGEST_ASN1 HEIMDAL_KX509_ASN1 heimntlm HEIMDAL_HCRYPTO com_err wind', vnum='2.0.0', ) @@ -587,32 +577,14 @@ HEIMDAL_LIBRARY('gssapi', ../heimdal/lib/gssapi/mech/gss_export_sec_context.c ../heimdal/lib/gssapi/mech/gss_inquire_context.c ../heimdal/lib/gssapi/mech/gss_release_name.c ../heimdal/lib/gssapi/mech/gss_set_cred_option.c ../heimdal/lib/gssapi/mech/gss_pseudo_random.c gssapi-glue.c''', includes='../heimdal/lib/gssapi ../heimdal/lib/gssapi/gssapi ../heimdal/lib/gssapi/spnego ../heimdal/lib/gssapi/krb5 ../heimdal/lib/gssapi/mech', - deps='HEIMDAL_HCRYPTO HEIMDAL_HEIM_ASN1 HEIMDAL_SPNEGO_ASN1 HEIMDAL_GSSAPI_ASN1 roken krb5 com_err wind', + deps='HEIMDAL_HCRYPTO asn1 HEIMDAL_SPNEGO_ASN1 HEIMDAL_GSSAPI_ASN1 roken krb5 com_err wind', vnum='2.0.0', ) - -if not bld.CONFIG_SET('HAVE_IFADDRS_H'): - HEIMDAL_GENERATOR( - name="HEIMDAL_IFADDRS_H", - rule="rm -f ${TGT} && ln ${SRC} ${TGT}", - source = 'ifaddrs.hin', - target = 'ifaddrs.h', - ) - -if not bld.CONFIG_SET('HAVE_ERR_H'): - HEIMDAL_GENERATOR( - group='build_compiler_source', - name="HEIMDAL_ERR_H", - rule="rm -f ${TGT} && ln ${SRC} ${TGT}", - source = '../heimdal/lib/roken/err.hin', - target = '../heimdal/lib/roken/err.h', - ) - # expand_path.c needs some of the install paths HEIMDAL_SUBSYSTEM('HEIMDAL_CONFIG', '../heimdal/lib/krb5/expand_path.c ../heimdal/lib/krb5/plugin.c', - includes='../heimdal/lib/krb5 ../heimdal/lib/asn1', + includes='../heimdal/lib/krb5 ../heimdal/lib/asn1 ../heimdal/include', cflags = bld.dynconfig_cflags('LIBDIR BINDIR LIBEXECDIR SBINDIR'), deps='HEIMDAL_HCRYPTO wind hx509' ) @@ -650,7 +622,7 @@ HEIMDAL_LIBRARY('krb5', store_mem.c ticket.c time.c transited.c v4_glue.c version.c warn.c krb5_err.c heim_err.c k524_err.c krb_err.c''') + ' krb5-glue.c', - includes='../heimdal/lib/krb5 ../heimdal/lib/asn1', + includes='../heimdal/lib/krb5 ../heimdal/lib/asn1 ../heimdal/include', autoproto='../heimdal/lib/krb5/krb5-protos.h', autoproto_options='-E KRB5_LIB -q -P comment -o', autoproto_extra='../heimdal/lib/krb5/expand_path.c ../heimdal/lib/krb5/plugin.c', @@ -659,12 +631,38 @@ HEIMDAL_LIBRARY('krb5', vnum='26.0.0', ) +if not bld.CONFIG_SET("USING_SYSTEM_ASN1"): + HEIMDAL_HEIM_ASN1_DER_SOURCE = ''' + ../heimdal/lib/asn1/der_get.c + ../heimdal/lib/asn1/der_put.c + ../heimdal/lib/asn1/der_free.c + ../heimdal/lib/asn1/der_format.c + ../heimdal/lib/asn1/der_length.c + ../heimdal/lib/asn1/der_copy.c + ../heimdal/lib/asn1/der_cmp.c + ''' + + HEIMDAL_AUTOPROTO('../heimdal/lib/asn1/der-protos.h', + HEIMDAL_HEIM_ASN1_DER_SOURCE, + group = 'compiler_prototypes', + options="-q -P comment -o") + -HEIMDAL_SUBSYSTEM('HEIMDAL_HEIM_ASN1', - '../heimdal/lib/asn1/der_get.c ../heimdal/lib/asn1/der_put.c ../heimdal/lib/asn1/der_free.c ../heimdal/lib/asn1/der_format.c ../heimdal/lib/asn1/der_length.c ../heimdal/lib/asn1/der_copy.c ../heimdal/lib/asn1/der_cmp.c ../heimdal/lib/asn1/extra.c ../heimdal/lib/asn1/timegm.c ../heimdal/lib/asn1/asn1_err.c', + HEIMDAL_AUTOPROTO('../heimdal/lib/asn1/der-private.h', + HEIMDAL_HEIM_ASN1_DER_SOURCE, + group = 'compiler_prototypes', + options="-q -P comment -p") + + HEIMDAL_SUBSYSTEM('HEIMDAL_HEIM_ASN1', + HEIMDAL_HEIM_ASN1_DER_SOURCE + '../heimdal/lib/asn1/extra.c ../heimdal/lib/asn1/timegm.c ../heimdal/lib/asn1/asn1_err.c', includes='../heimdal/lib/asn1', - deps='roken com_err' - ) + deps='roken com_err' + ) + + HEIMDAL_LIBRARY('asn1', + deps="HEIMDAL_HEIM_ASN1", + source='', + vnum='8.0.0') HEIMDAL_SUBSYSTEM('HEIMDAL_HCRYPTO_IMATH', @@ -672,25 +670,101 @@ HEIMDAL_SUBSYSTEM('HEIMDAL_HCRYPTO_IMATH', includes='../heimdal/lib/hcrypto/imath', deps='roken' ) -HEIMDAL_SUBSYSTEM('HEIMDAL_HCRYPTO_LTM', - '../heimdal/lib/hcrypto/libtommath/bncore.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init.c ../heimdal/lib/hcrypto/libtommath/bn_mp_clear.c ../heimdal/lib/hcrypto/libtommath/bn_mp_exch.c ../heimdal/lib/hcrypto/libtommath/bn_mp_grow.c ../heimdal/lib/hcrypto/libtommath/bn_mp_shrink.c ../heimdal/lib/hcrypto/libtommath/bn_mp_clamp.c ../heimdal/lib/hcrypto/libtommath/bn_mp_zero.c ../heimdal/lib/hcrypto/libtommath/bn_mp_zero_multi.c ../heimdal/lib/hcrypto/libtommath/bn_mp_set.c ../heimdal/lib/hcrypto/libtommath/bn_mp_set_int.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_size.c ../heimdal/lib/hcrypto/libtommath/bn_mp_copy.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_copy.c ../heimdal/lib/hcrypto/libtommath/bn_mp_abs.c ../heimdal/lib/hcrypto/libtommath/bn_mp_neg.c ../heimdal/lib/hcrypto/libtommath/bn_mp_cmp_mag.c ../heimdal/lib/hcrypto/libtommath/bn_mp_cmp.c ../heimdal/lib/hcrypto/libtommath/bn_mp_cmp_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_rshd.c ../heimdal/lib/hcrypto/li btommath/bn_mp_lshd.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mod_2d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div_2d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mul_2d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div_2.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mul_2.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_add.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_sub.c ../heimdal/lib/hcrypto/libtommath/bn_fast_s_mp_mul_digs.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_mul_digs.c ../heimdal/lib/hcrypto/libtommath/bn_fast_s_mp_mul_high_digs.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_mul_high_digs.c ../heimdal/lib/hcrypto/libtommath/bn_fast_s_mp_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_mp_add.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sub.c ../heimdal/lib/hcrypto/libtommath/bn_mp_karatsuba_mul.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mul.c ../heimdal/lib/hcrypto/libtommath/bn_mp_karatsuba_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_add_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sub_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mul_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mod_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_expt_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_addmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_submod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mulmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sqrmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_gcd.c ../heimdal/lib/hcrypto/libtommath/bn_mp_lcm.c ../heimdal/lib/hcrypto/libtommath/bn_fast_mp_invmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_invmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce.c ../heimdal/lib/hcrypto/libtommath/bn_mp_montgomery_setup.c ../heimdal/lib/hcrypto/libtommath/bn_fast_mp_montgomery_reduce.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mon tgomery_reduce.c ../heimdal/lib/hcrypto/libtommath/bn_mp_exptmod_fast.c ../heimdal/lib/hcrypto/libtommath/bn_mp_exptmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_2expt.c ../heimdal/lib/hcrypto/libtommath/bn_mp_n_root.c ../heimdal/lib/hcrypto/libtommath/bn_mp_jacobi.c ../heimdal/lib/hcrypto/libtommath/bn_reverse.c ../heimdal/lib/hcrypto/libtommath/bn_mp_count_bits.c ../heimdal/lib/hcrypto/libtommath/bn_mp_read_unsigned_bin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_read_signed_bin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_to_unsigned_bin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_to_signed_bin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_unsigned_bin_size.c ../heimdal/lib/hcrypto/libtommath/bn_mp_signed_bin_size.c ../heimdal/lib/hcrypto/libtommath/bn_mp_xor.c ../heimdal/lib/hcrypto/libtommath/bn_mp_and.c ../heimdal/lib/hcrypto/libtommath/bn_mp_or.c ../heimdal/lib/hcrypto/libtommath/bn_mp_rand.c ../heimdal/lib/hcrypto/libtommath/bn_mp_montgomery_calc_normalization.c ../heimdal/lib/ hcrypto/libtommath/bn_mp_prime_is_divisible.c ../heimdal/lib/hcrypto/libtommath/bn_prime_tab.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_fermat.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_miller_rabin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_is_prime.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_next_prime.c ../heimdal/lib/hcrypto/libtommath/bn_mp_find_prime.c ../heimdal/lib/hcrypto/libtommath/bn_mp_isprime.c ../heimdal/lib/hcrypto/libtommath/bn_mp_dr_reduce.c ../heimdal/lib/hcrypto/libtommath/bn_mp_dr_is_modulus.c ../heimdal/lib/hcrypto/libtommath/bn_mp_dr_setup.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_setup.c ../heimdal/lib/hcrypto/libtommath/bn_mp_toom_mul.c ../heimdal/lib/hcrypto/libtommath/bn_mp_toom_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div_3.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_exptmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_is_2k.c ../heimdal/lib/hcrypto/libtommath/bn _mp_reduce_2k_setup.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k_l.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_is_2k_l.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k_setup_l.c ../heimdal/lib/hcrypto/libtommath/bn_mp_radix_smap.c ../heimdal/lib/hcrypto/libtommath/bn_mp_read_radix.c ../heimdal/lib/hcrypto/libtommath/bn_mp_toradix.c ../heimdal/lib/hcrypto/libtommath/bn_mp_radix_size.c ../heimdal/lib/hcrypto/libtommath/bn_mp_fread.c ../heimdal/lib/hcrypto/libtommath/bn_mp_fwrite.c ../heimdal/lib/hcrypto/libtommath/bn_mp_cnt_lsb.c ../heimdal/lib/hcrypto/libtommath/bn_error.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_multi.c ../heimdal/lib/hcrypto/libtommath/bn_mp_clear_multi.c ../heimdal/lib/hcrypto/libtommath/bn_mp_exteuclid.c ../heimdal/lib/hcrypto/libtommath/bn_mp_toradix_n.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_random_ex.c ../heimdal/lib/hcrypto/libtommath/bn_mp_get_int.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sqrt.c ../heimdal/lib/hcrypto/libtom math/bn_mp_is_square.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_set.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_set_int.c ../heimdal/lib/hcrypto/libtommath/bn_mp_invmod_slow.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_rabin_miller_trials.c ../heimdal/lib/hcrypto/libtommath/bn_mp_to_signed_bin_n.c ../heimdal/lib/hcrypto/libtommath/bn_mp_to_unsigned_bin_n.c', - includes='../heimdal/lib/hcrypto/libtommath' - ) +if not bld.CONFIG_SET("USING_SYSTEM_TOMMATH"): + HEIMDAL_SUBSYSTEM('tommath', + '../heimdal/lib/hcrypto/libtommath/bncore.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init.c ../heimdal/lib/hcrypto/libtommath/bn_mp_clear.c ../heimdal/lib/hcrypto/libtommath/bn_mp_exch.c ../heimdal/lib/hcrypto/libtommath/bn_mp_grow.c ../heimdal/lib/hcrypto/libtommath/bn_mp_shrink.c ../heimdal/lib/hcrypto/libtommath/bn_mp_clamp.c ../heimdal/lib/hcrypto/libtommath/bn_mp_zero.c ../heimdal/lib/hcrypto/libtommath/bn_mp_zero_multi.c ../heimdal/lib/hcrypto/libtommath/bn_mp_set.c ../heimdal/lib/hcrypto/libtommath/bn_mp_set_int.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_size.c ../heimdal/lib/hcrypto/libtommath/bn_mp_copy.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_copy.c ../heimdal/lib/hcrypto/libtommath/bn_mp_abs.c ../heimdal/lib/hcrypto/libtommath/bn_mp_neg.c ../heimdal/lib/hcrypto/libtommath/bn_mp_cmp_mag.c ../heimdal/lib/hcrypto/libtommath/bn_mp_cmp.c ../heimdal/lib/hcrypto/libtommath/bn_mp_cmp_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_rshd.c ../heimdal/lib/hcrypt o/libtommath/bn_mp_lshd.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mod_2d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div_2d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mul_2d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div_2.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mul_2.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_add.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_sub.c ../heimdal/lib/hcrypto/libtommath/bn_fast_s_mp_mul_digs.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_mul_digs.c ../heimdal/lib/hcrypto/libtommath/bn_fast_s_mp_mul_high_digs.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_mul_high_digs.c ../heimdal/lib/hcrypto/libtommath/bn_fast_s_mp_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_mp_add.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sub.c ../heimdal/lib/hcrypto/libtommath/bn_mp_karatsuba_mul.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mul.c ../heimdal/lib/hcrypto/libtommath/bn_mp_karatsuba_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_mp_s qr.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_add_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sub_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mul_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mod_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_expt_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_addmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_submod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mulmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sqrmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_gcd.c ../heimdal/lib/hcrypto/libtommath/bn_mp_lcm.c ../heimdal/lib/hcrypto/libtommath/bn_fast_mp_invmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_invmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce.c ../heimdal/lib/hcrypto/libtommath/bn_mp_montgomery_setup.c ../heimdal/lib/hcrypto/libtommath/bn_fast_mp_montgomery_reduce.c ../heimdal/lib/hcrypto/libtommath/bn_mp _montgomery_reduce.c ../heimdal/lib/hcrypto/libtommath/bn_mp_exptmod_fast.c ../heimdal/lib/hcrypto/libtommath/bn_mp_exptmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_2expt.c ../heimdal/lib/hcrypto/libtommath/bn_mp_n_root.c ../heimdal/lib/hcrypto/libtommath/bn_mp_jacobi.c ../heimdal/lib/hcrypto/libtommath/bn_reverse.c ../heimdal/lib/hcrypto/libtommath/bn_mp_count_bits.c ../heimdal/lib/hcrypto/libtommath/bn_mp_read_unsigned_bin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_read_signed_bin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_to_unsigned_bin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_to_signed_bin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_unsigned_bin_size.c ../heimdal/lib/hcrypto/libtommath/bn_mp_signed_bin_size.c ../heimdal/lib/hcrypto/libtommath/bn_mp_xor.c ../heimdal/lib/hcrypto/libtommath/bn_mp_and.c ../heimdal/lib/hcrypto/libtommath/bn_mp_or.c ../heimdal/lib/hcrypto/libtommath/bn_mp_rand.c ../heimdal/lib/hcrypto/libtommath/bn_mp_montgomery_calc_normalization.c ../heimdal/ lib/hcrypto/libtommath/bn_mp_prime_is_divisible.c ../heimdal/lib/hcrypto/libtommath/bn_prime_tab.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_fermat.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_miller_rabin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_is_prime.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_next_prime.c ../heimdal/lib/hcrypto/libtommath/bn_mp_find_prime.c ../heimdal/lib/hcrypto/libtommath/bn_mp_isprime.c ../heimdal/lib/hcrypto/libtommath/bn_mp_dr_reduce.c ../heimdal/lib/hcrypto/libtommath/bn_mp_dr_is_modulus.c ../heimdal/lib/hcrypto/libtommath/bn_mp_dr_setup.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_setup.c ../heimdal/lib/hcrypto/libtommath/bn_mp_toom_mul.c ../heimdal/lib/hcrypto/libtommath/bn_mp_toom_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div_3.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_exptmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_is_2k.c ../heimdal/lib/hcrypto/libtommat h/bn_mp_reduce_2k_setup.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k_l.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_is_2k_l.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k_setup_l.c ../heimdal/lib/hcrypto/libtommath/bn_mp_radix_smap.c ../heimdal/lib/hcrypto/libtommath/bn_mp_read_radix.c ../heimdal/lib/hcrypto/libtommath/bn_mp_toradix.c ../heimdal/lib/hcrypto/libtommath/bn_mp_radix_size.c ../heimdal/lib/hcrypto/libtommath/bn_mp_fread.c ../heimdal/lib/hcrypto/libtommath/bn_mp_fwrite.c ../heimdal/lib/hcrypto/libtommath/bn_mp_cnt_lsb.c ../heimdal/lib/hcrypto/libtommath/bn_error.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_multi.c ../heimdal/lib/hcrypto/libtommath/bn_mp_clear_multi.c ../heimdal/lib/hcrypto/libtommath/bn_mp_exteuclid.c ../heimdal/lib/hcrypto/libtommath/bn_mp_toradix_n.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_random_ex.c ../heimdal/lib/hcrypto/libtommath/bn_mp_get_int.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sqrt.c ../heimdal/lib/hcrypto/li btommath/bn_mp_is_square.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_set.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_set_int.c ../heimdal/lib/hcrypto/libtommath/bn_mp_invmod_slow.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_rabin_miller_trials.c ../heimdal/lib/hcrypto/libtommath/bn_mp_to_signed_bin_n.c ../heimdal/lib/hcrypto/libtommath/bn_mp_to_unsigned_bin_n.c', + includes='../heimdal/lib/hcrypto/libtommath' + ) HEIMDAL_SUBSYSTEM('HEIMDAL_HCRYPTO', '../heimdal/lib/hcrypto/aes.c ../heimdal/lib/hcrypto/bn.c ../heimdal/lib/hcrypto/dh.c ../heimdal/lib/hcrypto/dh-ltm.c ../heimdal/lib/hcrypto/dh-imath.c ../heimdal/lib/hcrypto/des.c ../heimdal/lib/hcrypto/dsa.c ../heimdal/lib/hcrypto/engine.c ../heimdal/lib/hcrypto/md2.c ../heimdal/lib/hcrypto/md4.c ../heimdal/lib/hcrypto/md5.c ../heimdal/lib/hcrypto/rsa.c ../heimdal/lib/hcrypto/rsa-ltm.c ../heimdal/lib/hcrypto/rsa-imath.c ../heimdal/lib/hcrypto/rc2.c ../heimdal/lib/hcrypto/rc4.c ../heimdal/lib/hcrypto/rijndael-alg-fst.c ../heimdal/lib/hcrypto/rnd_keys.c ../heimdal/lib/hcrypto/sha.c ../heimdal/lib/hcrypto/sha256.c ../heimdal/lib/hcrypto/sha512.c ../heimdal/lib/hcrypto/ui.c ../heimdal/lib/hcrypto/evp.c ../heimdal/lib/hcrypto/evp-hcrypto.c ../heimdal/lib/hcrypto/pkcs5.c ../heimdal/lib/hcrypto/pkcs12.c ../heimdal/lib/hcrypto/rand.c ../heimdal/lib/hcrypto/rand-egd.c ../heimdal/lib/hcrypto/rand-unix.c ../heimdal/lib/hcrypto/rand-fortuna.c ../heimdal/lib/hcrypto/rand-timer.c .. /heimdal/lib/hcrypto/hmac.c ../heimdal/lib/hcrypto/camellia.c ../heimdal/lib/hcrypto/camellia-ntt.c ../heimdal/lib/hcrypto/common.c ../heimdal/lib/hcrypto/validate.c', - includes='../heimdal/lib/hcrypto ../heimdal/lib', - deps='roken HEIMDAL_HEIM_ASN1 HEIMDAL_HCRYPTO_IMATH HEIMDAL_RFC2459_ASN1 HEIMDAL_HCRYPTO_LTM' + includes='../heimdal/lib/hcrypto ../heimdal/lib ../heimdal/include', + deps='roken asn1 HEIMDAL_HCRYPTO_IMATH HEIMDAL_RFC2459_ASN1 tommath' ) -HEIMDAL_LIBRARY('hx509', - '../heimdal/lib/hx509/ca.c ../heimdal/lib/hx509/cert.c ../heimdal/lib/hx509/cms.c ../heimdal/lib/hx509/collector.c ../heimdal/lib/hx509/crypto.c ../heimdal/lib/hx509/error.c ../heimdal/lib/hx509/env.c ../heimdal/lib/hx509/file.c ../heimdal/lib/hx509/keyset.c ../heimdal/lib/hx509/ks_dir.c ../heimdal/lib/hx509/ks_file.c ../heimdal/lib/hx509/ks_keychain.c ../heimdal/lib/hx509/ks_mem.c ../heimdal/lib/hx509/ks_null.c ../heimdal/lib/hx509/ks_p11.c ../heimdal/lib/hx509/ks_p12.c ../heimdal/lib/hx509/lock.c ../heimdal/lib/hx509/name.c ../heimdal/lib/hx509/peer.c ../heimdal/lib/hx509/print.c ../heimdal/lib/hx509/req.c ../heimdal/lib/hx509/revoke.c ../heimdal/lib/hx509/sel.c ../heimdal/lib/hx509/hx509_err.c ../heimdal/lib/hx509/sel-lex.c ../heimdal/lib/hx509/sel-gram.c', - includes='../heimdal/lib/hx509', - deps='roken com_err HEIMDAL_HEIM_ASN1 HEIMDAL_HCRYPTO HEIMDAL_CMS_ASN1 HEIMDAL_RFC2459_ASN1 HEIMDAL_OCSP_ASN1 HEIMDAL_PKCS8_ASN1 HEIMDAL_PKCS9_ASN1 HEIMDAL_PKCS12_ASN1 HEIMDAL_PKINIT_ASN1 HEIMDAL_PKCS10_ASN1 wind HEIMDAL_KRB5_ASN1', - vnum='5.0.0', - ) +if not bld.CONFIG_SET("USING_SYSTEM_HX509"): + HEIMDAL_ASN1('HEIMDAL_OCSP_ASN1', + '../heimdal/lib/hx509/ocsp.asn1', + options='--preserve-binary=OCSPTBSRequest --preserve-binary=OCSPResponseData', + includes='../heimdal/lib/asn1', + directory='lib/hx509' + ) + + HEIMDAL_ASN1('HEIMDAL_PKCS8_ASN1', + '../heimdal/lib/asn1/pkcs8.asn1', + directory='lib/asn1' + ) + + + HEIMDAL_ASN1('HEIMDAL_PKCS9_ASN1', + '../heimdal/lib/asn1/pkcs9.asn1', + directory='lib/asn1' + ) + + + HEIMDAL_ASN1('HEIMDAL_PKCS12_ASN1', + '../heimdal/lib/asn1/pkcs12.asn1', + directory='lib/asn1' + ) + + HEIMDAL_ASN1('HEIMDAL_CMS_ASN1', + '../heimdal/lib/asn1/cms.asn1', + option_file='../heimdal/lib/asn1/cms.opt', + directory='lib/asn1' + ) + + HEIMDAL_ASN1('HEIMDAL_PKCS10_ASN1', + '../heimdal/lib/hx509/pkcs10.asn1', + options='--preserve-binary=CertificationRequestInfo', + includes='../heimdal/lib/asn1', + directory='lib/hx509' + ) + + HEIMDAL_ERRTABLE('HEIMDAL_HX509_ERR_ET', + '../heimdal/lib/hx509/hx509_err.et') + + HEIMDAL_HX509_OBJH_SOURCE = ''' + ../heimdal/lib/hx509/ca.c + ../heimdal/lib/hx509/cert.c + ../heimdal/lib/hx509/cms.c + ../heimdal/lib/hx509/collector.c + ../heimdal/lib/hx509/crypto.c + ../heimdal/lib/hx509/error.c + ../heimdal/lib/hx509/env.c + ../heimdal/lib/hx509/file.c + ../heimdal/lib/hx509/keyset.c + ../heimdal/lib/hx509/ks_dir.c + ../heimdal/lib/hx509/ks_file.c -- Samba Shared Repository