dsdb: Audit group membership changes
[nivanova/samba-autobuild/.git] / source4 / dsdb / samdb / ldb_modules / wscript_build
index 056204ce6f79ba04bad1f0356ff63a2e69f4a98c..1216a1fd99fcfbaaf813dde468bcd4bbcc0cf298 100644 (file)
@@ -1,9 +1,15 @@
 #!/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',
@@ -12,341 +18,70 @@ 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")