#!/usr/bin/env python
+bld.SAMBA_LIBRARY('dsdb-module',
+ source=[],
+ deps='DSDB_MODULE_HELPERS DSDB_MODULE_HELPER_RIDALLOC',
+ private_library=True,
+ grouping_library=True)
+
bld.SAMBA_SUBSYSTEM('DSDB_MODULE_HELPERS',
- source='util.c acl_util.c',
+ source='util.c acl_util.c schema_util.c netlogon.c audit_util.c',
autoproto='util_proto.h',
- deps='ldb LIBNDR SAMDB_COMMON'
+ deps='ldb ndr samdb-common samba-security audit_logging'
)
bld.SAMBA_SUBSYSTEM('DSDB_MODULE_HELPER_RIDALLOC',
deps='MESSAGING',
)
-bld.SAMBA_SUBSYSTEM('DSDB_MODULE_HELPER_SCHEMA',
- source='schema.c',
- autoproto='schema.h',
- deps='SAMDB_SCHEMA'
- )
-
-bld.SAMBA_MODULE('ldb_samba_dsdb',
- source='samba_dsdb.c',
- subsystem='ldb',
- init_function='LDB_MODULE(samba_dsdb)',
- deps='SAMDB talloc LIBEVENTS LIBNDR DSDB_MODULE_HELPERS',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- )
-
-
-bld.SAMBA_MODULE('ldb_samba_secrets',
- source='samba_secrets.c',
- subsystem='ldb',
- init_function='LDB_MODULE(samba_secrets)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='SAMDB talloc LIBEVENTS LIBNDR'
- )
-
-
-bld.SAMBA_MODULE('ldb_objectguid',
- source='objectguid.c',
- subsystem='ldb',
- init_function='LDB_MODULE(objectguid)',
- internal_module=False,
- deps='SAMDB talloc LIBEVENTS LIBNDR'
- )
-
-
-bld.SAMBA_MODULE('ldb_repl_meta_data',
- source='repl_meta_data.c',
- subsystem='ldb',
- init_function='LDB_MODULE(repl_meta_data)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='SAMDB talloc LIBEVENTS LIBNDR NDR_DRSUAPI NDR_DRSBLOBS LIBNDR DSDB_MODULE_HELPERS'
- )
-
-
-bld.SAMBA_MODULE('ldb_dsdb_cache',
- source='dsdb_cache.c',
- subsystem='ldb',
- init_function='LDB_MODULE(dsdb_cache)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='SAMDB talloc LIBEVENTS'
- )
-
-
-bld.SAMBA_MODULE('ldb_schema_load',
- source='schema_load.c',
- subsystem='ldb',
- init_function='LDB_MODULE(schema_load)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='SAMDB talloc LIBEVENTS DSDB_MODULE_HELPERS'
- )
-
-
-bld.SAMBA_MODULE('ldb_schema_data',
- source='schema_data.c',
- subsystem='ldb',
- init_function='LDB_MODULE(schema_data)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='SAMDB talloc LIBEVENTS DSDB_MODULE_HELPERS'
- )
-
-
-bld.SAMBA_MODULE('ldb_naming_fsmo',
- source='naming_fsmo.c',
- subsystem='ldb',
- init_function='LDB_MODULE(naming_fsmo)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='SAMDB talloc LIBEVENTS DSDB_MODULE_HELPERS'
- )
-
-
-bld.SAMBA_MODULE('ldb_pdc_fsmo',
- source='pdc_fsmo.c',
- subsystem='ldb',
- init_function='LDB_MODULE(pdc_fsmo)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='SAMDB talloc LIBEVENTS DSDB_MODULE_HELPERS'
- )
-
-
-bld.SAMBA_MODULE('ldb_samldb',
- source='samldb.c',
- subsystem='ldb',
- init_function='LDB_MODULE(samldb)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='talloc LIBEVENTS SAMDB DSDB_MODULE_HELPERS DSDB_MODULE_HELPER_RIDALLOC'
- )
-
-
-bld.SAMBA_MODULE('ldb_samba3sam',
- source='samba3sam.c',
- subsystem='ldb',
- init_function='LDB_MODULE(samba3sam)',
- internal_module=False,
- deps='talloc LIBEVENTS ldb SMBPASSWD NSS_WRAPPER LIBSECURITY NDR_SECURITY'
- )
-
-
-bld.SAMBA_MODULE('ldb_samba3sid',
- source='samba3sid.c',
- subsystem='ldb',
- init_function='LDB_MODULE(samba3sid)',
- internal_module=False,
- deps='talloc LIBEVENTS ldb SMBPASSWD NSS_WRAPPER LIBSECURITY NDR_SECURITY LDBSAMBA DSDB_MODULE_HELPERS'
- )
-
-
-bld.SAMBA_MODULE('ldb_simple_ldap_map',
- source='simple_ldap_map.c',
- aliases='entryuuid nsuniqueid',
- subsystem='ldb',
- init_function='LDB_MODULE(entryuuid),LDB_MODULE(nsuniqueid)',
- internal_module=False,
- deps='talloc LIBEVENTS ldb LIBNDR'
- )
-
-
-bld.SAMBA_MODULE('ldb_rootdse',
- source='rootdse.c',
- subsystem='ldb',
- init_function='LDB_MODULE(rootdse)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='talloc LIBEVENTS SAMDB MESSAGING'
- )
-
-
-bld.SAMBA_MODULE('ldb_password_hash',
- source='password_hash.c',
- subsystem='ldb',
- init_function='LDB_MODULE(password_hash)',
- internal_module=False,
- deps='talloc LIBEVENTS SAMDB LIBCLI_AUTH NDR_DRSBLOBS KERBEROS HEIMDAL_HDB_KEYS krb5 com_err'
- )
-
-
-bld.SAMBA_MODULE('ldb_local_password',
- source='local_password.c',
- subsystem='ldb',
- init_function='LDB_MODULE(local_password)',
- internal_module=False,
- deps='talloc LIBEVENTS LIBNDR SAMDB'
- )
-
-bld.SAMBA_MODULE('ldb_extended_dn_in',
- source='extended_dn_in.c',
- subsystem='ldb',
- init_function='LDB_MODULE(extended_dn_in)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='talloc LIBEVENTS LIBSAMBA-UTIL'
- )
-
-
-bld.SAMBA_MODULE('ldb_extended_dn_out',
- source='extended_dn_out.c',
- aliases='extended_dn_out_ldb extended_dn_out_openldap extended_dn_out_fds',
- subsystem='ldb',
- deps='talloc LIBEVENTS LIBNDR LIBSAMBA-UTIL SAMDB',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- init_function='LDB_MODULE(extended_dn_out_ldb),LDB_MODULE(extended_dn_out_openldap),LDB_MODULE(extended_dn_out_fds)'
- )
-
-
-bld.SAMBA_MODULE('ldb_extended_dn_store',
- source='extended_dn_store.c',
- subsystem='ldb',
- init_function='LDB_MODULE(extended_dn_store)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='talloc LIBEVENTS LIBSAMBA-UTIL SAMDB DSDB_MODULE_HELPERS'
- )
-
-
-bld.SAMBA_MODULE('ldb_show_deleted',
- source='show_deleted.c',
- subsystem='ldb',
- init_function='LDB_MODULE(show_deleted)',
- internal_module=False,
- deps='talloc LIBEVENTS LIBSAMBA-UTIL DSDB_MODULE_HELPERS'
- )
-
-
-bld.SAMBA_MODULE('ldb_partition',
- source='partition.c partition_init.c',
- autoproto='partition_proto.h',
- subsystem='ldb',
- init_function='LDB_MODULE(partition)',
- internal_module=False,
- deps='talloc LIBEVENTS SAMDB DSDB_MODULE_HELPERS'
- )
-
-
-bld.SAMBA_MODULE('ldb_new_partition',
- source='new_partition.c',
- subsystem='ldb',
- init_function='LDB_MODULE(new_partition)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='talloc LIBEVENTS SAMDB DSDB_MODULE_HELPERS'
- )
-
-
-bld.SAMBA_MODULE('ldb_update_keytab',
- source='update_keytab.c',
- subsystem='ldb',
- init_function='LDB_MODULE(update_keytab)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='talloc LIBEVENTS CREDENTIALS ldb com_err KERBEROS_UTIL'
- )
-
-
-bld.SAMBA_MODULE('ldb_objectclass',
- source='objectclass.c',
- subsystem='ldb',
- init_function='LDB_MODULE(objectclass)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='talloc LIBEVENTS LIBSECURITY NDR_SECURITY SAMDB DSDB_MODULE_HELPERS LIBSAMBA-UTIL DSDB_MODULE_HELPER_SCHEMA'
- )
-
-
-bld.SAMBA_MODULE('ldb_objectclass_attrs',
- source='objectclass_attrs.c',
- subsystem='ldb',
- init_function='LDB_MODULE(objectclass_attrs)',
- deps='talloc SAMDB LIBSAMBA-UTIL',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- )
-
-
-bld.SAMBA_MODULE('ldb_subtree_rename',
- source='subtree_rename.c',
- subsystem='ldb',
- init_function='LDB_MODULE(subtree_rename)',
- internal_module=False,
- deps='talloc LIBEVENTS LIBSAMBA-UTIL ldb SAMDB_COMMON'
- )
-
-
-bld.SAMBA_MODULE('ldb_subtree_delete',
- source='subtree_delete.c',
- subsystem='ldb',
- init_function='LDB_MODULE(subtree_delete)',
- internal_module=False,
- deps='talloc LIBEVENTS LIBSAMBA-UTIL DSDB_MODULE_HELPERS'
- )
-
-
-bld.SAMBA_MODULE('ldb_linked_attributes',
- source='linked_attributes.c',
- subsystem='ldb',
- init_function='LDB_MODULE(linked_attributes)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='talloc LIBEVENTS SAMDB DSDB_MODULE_HELPERS'
- )
-
-
-bld.SAMBA_MODULE('ldb_ranged_results',
- source='ranged_results.c',
- subsystem='ldb',
- init_function='LDB_MODULE(ranged_results)',
- internal_module=False,
- deps='talloc LIBEVENTS LIBSAMBA-UTIL ldb'
- )
-
-
-bld.SAMBA_MODULE('ldb_anr',
- source='anr.c',
- subsystem='ldb',
- init_function='LDB_MODULE(anr)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='talloc LIBEVENTS LIBSAMBA-UTIL SAMDB'
- )
-
-
-bld.SAMBA_MODULE('ldb_instancetype',
- source='instancetype.c',
- subsystem='ldb',
- init_function='LDB_MODULE(instancetype)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='talloc LIBEVENTS LIBSAMBA-UTIL SAMDB'
- )
-
-
-bld.SAMBA_MODULE('ldb_operational',
- source='operational.c',
- subsystem='ldb',
- init_function='LDB_MODULE(operational)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='talloc tevent LIBSAMBA-UTIL SAMDB_COMMON DSDB_MODULE_HELPERS auth auth_session'
- )
-
-
-bld.SAMBA_MODULE('ldb_descriptor',
- source='descriptor.c',
- subsystem='ldb',
- init_function='LDB_MODULE(descriptor)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='talloc LIBEVENTS LIBSECURITY NDR_SECURITY SAMDB DSDB_MODULE_HELPERS DSDB_MODULE_HELPER_SCHEMA'
- )
-
-
-bld.SAMBA_MODULE('ldb_resolve_oids',
- source='resolve_oids.c',
- subsystem='ldb',
- init_function='LDB_MODULE(resolve_oids)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
- deps='SAMDB talloc LIBEVENTS LIBNDR'
- )
-
-
-bld.SAMBA_MODULE('ldb_acl',
- source='acl.c',
- subsystem='ldb',
- init_function='LDB_MODULE(acl)',
- internal_module=False,
- deps='talloc LIBEVENTS LIBSECURITY SAMDB DSDB_MODULE_HELPERS DSDB_MODULE_HELPER_SCHEMA'
- )
-
-
-bld.SAMBA_MODULE('ldb_lazy_commit',
- source='lazy_commit.c',
- subsystem='ldb',
- internal_module=False,
- init_function='LDB_MODULE(lazy_commit)',
- deps='SAMDB'
- )
-
-bld.SAMBA_MODULE('ldb_aclread',
- source='acl_read.c',
- subsystem='ldb',
- init_function='LDB_MODULE(aclread)',
- internal_module=False,
- deps='talloc LIBEVENTS LIBSECURITY SAMDB',
- )
+# Build the cmocka unit tests
+bld.SAMBA_BINARY('test_unique_object_sids',
+ source='tests/test_unique_object_sids.c',
+ deps='''
+ talloc
+ samdb
+ cmocka
+ DSDB_MODULE_HELPERS
+ ''',
+ install=False)
+bld.SAMBA_BINARY('test_encrypted_secrets',
+ source='tests/test_encrypted_secrets.c',
+ deps='''
+ talloc
+ samba-util
+ samdb-common
+ samdb
+ cmocka
+ gnutls
+ DSDB_MODULE_HELPERS
+ ''',
+ install=False)
+
+#
+# These tests require JANSSON, so we only build them if we are doing a selftest
+# build.
+#
+if bld.CONFIG_GET('ENABLE_SELFTEST'):
+ bld.SAMBA_BINARY('test_audit_util',
+ source='tests/test_audit_util.c',
+ deps='''
+ talloc
+ samba-util
+ samdb-common
+ samdb
+ cmocka
+ audit_logging
+ DSDB_MODULE_HELPERS
+ ''',
+ install=False)
+ bld.SAMBA_BINARY('test_audit_log',
+ source='tests/test_audit_log.c',
+ deps='''
+ talloc
+ samba-util
+ samdb-common
+ samdb
+ cmocka
+ audit_logging
+ DSDB_MODULE_HELPERS
+ ''',
+ install=False)
+ bld.SAMBA_BINARY('test_group_audit',
+ source='tests/test_group_audit.c',
+ deps='''
+ talloc
+ samba-util
+ samdb-common
+ samdb
+ cmocka
+ audit_logging
+ DSDB_MODULE_HELPERS
+ ''',
+ install=False)
+
+if bld.AD_DC_BUILD_IS_ENABLED():
+ bld.PROCESS_SEPARATE_RULE("server")