1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
samba-mirror/source4/dsdb/wscript_build
Stefan Metzmacher b058b39f38 s4:dsdb: let dsdb_check_and_update_fl() also operatingSystem[Version]
Some clients (e.g. an exchange server) check operatingSystemVersion
in order to check if a domain controller is new enough.

So we better use a value matching the dc functional level.

While we also fixed operatingSystem[Version] at provision time,
we do it also in dsdb_check_and_update_fl() in order to
handle old provisions and systems joined to an existing domain.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2023-07-19 03:31:30 +00:00

84 lines
3.6 KiB
Python

#!/usr/bin/env python
bld.RECURSE('samdb/ldb_modules')
bld.SAMBA_LIBRARY('samdb',
source='samdb/samdb.c samdb/samdb_privilege.c samdb/cracknames.c repl/replicated_objects.c',
pc_files='samdb.pc',
autoproto='samdb/samdb_proto.h',
public_deps='krb5',
public_headers='',
vnum='0.0.1',
deps='ndr NDR_DRSUAPI NDR_DRSBLOBS auth_system_session LIBCLI_AUTH ndr SAMDB_SCHEMA ldbsamba samdb-common LIBCLI_DRSUAPI cli-ldap-common samba-util com_err authkrb5 samba-credentials ldbwrap samba-errors krb5samba ldb',
)
bld.SAMBA_LIBRARY('samdb-common',
source='common/util.c common/util_trusts.c common/util_groups.c common/util_samr.c common/dsdb_dn.c common/dsdb_access.c common/util_links.c common/rodc_helper.c',
autoproto='common/proto.h',
private_library=True,
deps='ldb NDR_DRSBLOBS util_ldb LIBCLI_AUTH samba-hostconfig samba_socket cli-ldap-common flag_mapping UTIL_RUNCMD SAMBA_VERSION'
)
bld.SAMBA_SUBSYSTEM('SAMDB_SCHEMA',
source='schema/schema_init.c schema/schema_set.c schema/schema_query.c schema/schema_syntax.c schema/schema_description.c schema/schema_convert_to_ol.c schema/schema_inferiors.c schema/schema_prefixmap.c schema/schema_info_attr.c schema/schema_filtered.c schema/dsdb_dn.c',
autoproto='schema/proto.h',
deps='samdb-common NDR_DRSUAPI NDR_DRSBLOBS ldbsamba tevent'
)
bld.SAMBA_MODULE('service_drepl',
source='repl/drepl_service.c repl/drepl_periodic.c repl/drepl_partitions.c repl/drepl_out_pull.c repl/drepl_out_helpers.c repl/drepl_notify.c repl/drepl_ridalloc.c repl/drepl_extended.c repl/drepl_fsmo.c repl/drepl_secret.c repl/drepl_replica.c',
autoproto='repl/drepl_service_proto.h',
subsystem='service',
init_function='server_service_drepl_init',
deps='samdb process_model RPC_NDR_DRSUAPI',
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_LIBRARY('dsdb_garbage_collect_tombstones',
source='kcc/garbage_collect_tombstones.c',
deps='samdb RPC_NDR_DRSUAPI',
private_library=True,
enabled=bld.AD_DC_BUILD_IS_ENABLED())
bld.SAMBA_LIBRARY('scavenge_dns_records',
source='kcc/scavenge_dns_records.c',
deps='samdb RPC_NDR_DRSUAPI dnsserver_common',
private_library=True,
enabled=bld.AD_DC_BUILD_IS_ENABLED())
bld.SAMBA_MODULE('service_kcc',
source='kcc/kcc_service.c kcc/kcc_connection.c kcc/kcc_periodic.c kcc/kcc_drs_replica_info.c',
autoproto='kcc/kcc_service_proto.h',
subsystem='service',
init_function='server_service_kcc_init',
deps='samdb process_model RPC_NDR_IRPC RPC_NDR_DRSUAPI UTIL_RUNCMD dsdb_garbage_collect_tombstones scavenge_dns_records',
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_MODULE('service_dns_update',
source='dns/dns_update.c',
subsystem='service',
init_function='server_service_dnsupdate_init',
deps='samdb UTIL_RUNCMD samba-util ldb samdb-common samba-errors talloc auth_system_session samba-hostconfig',
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
pyldb_util = bld.pyembed_libname('pyldb-util')
pyrpc_util = bld.pyembed_libname('pyrpc_util')
pyparam_util = bld.pyembed_libname('pyparam_util')
bld.SAMBA_PYTHON('python_dsdb',
source='pydsdb.c',
# the dependency on dcerpc here is because gensec
# depends on dcerpc but the waf circular dependency finder
# removes it so we end up with unresolved symbols.
deps='samdb %s dcerpc com_err %s %s dsdb_garbage_collect_tombstones scavenge_dns_records' %\
(pyldb_util, pyrpc_util, pyparam_util),
realname='samba/dsdb.so'
)