#!/usr/bin/env python # We do this because we do not want to depend on the KDC, only find and use it's header files. We do not want if not bld.CONFIG_SET("USING_SYSTEM_KDC"): kdc_include = "../../third_party/heimdal/kdc ../../third_party/heimdal/lib/gssapi" else: kdc_include = getattr(bld.env, "CPPPATH_KDC") if bld.CONFIG_SET('SAMBA4_USES_HEIMDAL'): bld.SAMBA_MODULE('service_kdc', source='kdc-heimdal.c', subsystem='service', init_function='server_service_kdc_init', deps=''' kdc HDB_SAMBA4 WDC_SAMBA4 samba-hostconfig com_err samba_server_gensec PAC_GLUE KDC-GLUE KDC-SERVER KPASSWD-SERVICE KPASSWD_GLUE ''', internal_module=False) if bld.CONFIG_GET('SAMBA_USES_MITKDC'): bld.SAMBA_MODULE('service_kdc', source='kdc-service-mit.c', cflags_end='-Wno-strict-prototypes', subsystem='service', init_function='server_service_mitkdc_init', deps=''' samba-hostconfig service talloc UTIL_RUNCMD MIT_KDC_IRPC KDC-SERVER KPASSWD-SERVICE com_err kadm5srv_mit kdb5 ''', internal_module=False) bld.SAMBA_LIBRARY('HDB_SAMBA4', source='hdb-samba4.c hdb-samba4-plugin.c', deps='ldb auth4_sam common_auth samba-credentials hdb kdc db-glue samba-hostconfig com_err sdb_hdb RPC_NDR_WINBIND', includes=kdc_include, private_library=True, enabled=bld.CONFIG_SET('SAMBA4_USES_HEIMDAL') ) # A plugin for Heimdal's kadmin for users who need to operate that tool bld.SAMBA_LIBRARY('HDB_SAMBA4_PLUGIN', source='hdb-samba4-plugin.c', deps='hdb HDB_SAMBA4 samba-util samba-hostconfig ', link_name='modules/hdb/hdb_samba4.so', realname='hdb_samba4.so', install_path='${MODULESDIR}/hdb', enabled = (bld.CONFIG_SET("USING_SYSTEM_KRB5") and bld.CONFIG_SET("USING_SYSTEM_HDB")) ) bld.SAMBA_SUBSYSTEM('KDC-SERVER', source='kdc-server.c kdc-proxy.c', deps=''' krb5samba ldb LIBTSOCKET LIBSAMBA_TSOCKET ''') kpasswd_flavor_src = 'kpasswd-service.c kpasswd-helper.c' if bld.CONFIG_SET('SAMBA4_USES_HEIMDAL'): kpasswd_flavor_src = kpasswd_flavor_src + ' kpasswd-service-heimdal.c' elif bld.CONFIG_GET('SAMBA_USES_MITKDC'): kpasswd_flavor_src = kpasswd_flavor_src + ' kpasswd-service-mit.c' bld.SAMBA_SUBSYSTEM('KPASSWD-SERVICE', source=kpasswd_flavor_src, deps=''' krb5samba samba_server_gensec KPASSWD_GLUE ''') bld.SAMBA_SUBSYSTEM('KDC-GLUE', source='kdc-glue.c', includes=kdc_include, deps='hdb PAC_GLUE', enabled=bld.CONFIG_SET('SAMBA4_USES_HEIMDAL') ) bld.SAMBA_SUBSYSTEM('WDC_SAMBA4', source='wdc-samba4.c', includes=kdc_include, deps='ldb auth4_sam common_auth samba-credentials hdb PAC_GLUE samba-hostconfig com_err KDC-GLUE', enabled=bld.CONFIG_SET('SAMBA4_USES_HEIMDAL') ) bld.SAMBA_SUBSYSTEM('sdb', source='sdb.c', deps='talloc krb5', ) bld.SAMBA_SUBSYSTEM('sdb_hdb', source='sdb_to_hdb.c', deps='talloc sdb hdb', autoproto='sdb_hdb.h', enabled=bld.CONFIG_SET('SAMBA4_USES_HEIMDAL') ) bld.SAMBA_SUBSYSTEM('sdb_kdb', source='sdb_to_kdb.c', deps='sdb kdb5', autoproto='sdb_kdb.h', enabled=bld.CONFIG_SET('HAVE_KDB_H') ) bld.SAMBA_SUBSYSTEM('PAC_GLUE', source='pac-glue.c', deps='ldb auth4_sam common_auth samba-credentials samba-hostconfig com_err' ) bld.SAMBA_LIBRARY('pac', source=[], deps='PAC_GLUE', private_library=True, grouping_library=True) bld.SAMBA_LIBRARY('db-glue', source='db-glue.c', deps='ldb auth4_sam common_auth samba-credentials sdb samba-hostconfig com_err RPC_NDR_IRPC MESSAGING PAC_GLUE', private_library=True, ) bld.SAMBA_SUBSYSTEM('KPASSWD_GLUE', source='kpasswd_glue.c', deps='ldb com_err') bld.SAMBA_SUBSYSTEM('MIT_KDC_IRPC', source='mit_kdc_irpc.c', deps=''' ldb auth4_sam samba-credentials db-glue samba-hostconfig com_err kdb5 ''', enabled=(bld.CONFIG_SET('SAMBA_USES_MITKDC') and bld.CONFIG_SET('HAVE_KDB_H')) ) bld.SAMBA_SUBSYSTEM('MIT_SAMBA', source='mit_samba.c', deps=''' ldb auth4_sam common_auth samba-credentials db-glue PAC_GLUE KPASSWD_GLUE samba-hostconfig com_err sdb_kdb kdb5 ''', enabled=(not bld.CONFIG_SET('SAMBA4_USES_HEIMDAL') and bld.CONFIG_SET('HAVE_KDB_H')) ) bld.SAMBA_BINARY('samba4ktutil', 'ktutil.c', deps='krb5samba', install=False) bld.RECURSE('mit-kdb')