)
bld.SAMBA_SUBSYSTEM('NDR_DNS',
- source='gen_ndr/ndr_dns.c ndr/ndr_dns.c',
+ source='gen_ndr/ndr_dns.c ndr/ndr_dns.c ndr/ndr_dns_utils.c',
public_deps='ndr NDR_DNSP'
)
bld.SAMBA_SUBSYSTEM('NDR_FRSRPC',
source='ndr/ndr_frsrpc.c gen_ndr/ndr_frsrpc.c',
- public_deps='ndr'
+ public_deps='ndr NDR_FSCC'
)
bld.SAMBA_SUBSYSTEM('NDR_FRSAPI',
bld.SAMBA_SUBSYSTEM('NDR_BKUPBLOBS',
source='ndr/ndr_bkupblobs.c gen_ndr/ndr_bkupblobs.c',
- public_deps='ndr'
+ public_deps='ndr NDR_SECURITY NDR_FSCC'
)
bld.SAMBA_SUBSYSTEM('NDR_FSCC',
public_deps='ndr'
)
-bld.SAMBA_SUBSYSTEM('NDR_OXIDRESOLVER',
- source='gen_ndr/ndr_oxidresolver.c',
- public_deps='ndr NDR_ORPC'
- )
-
-bld.SAMBA_SUBSYSTEM('NDR_REMACT',
- source='gen_ndr/ndr_remact.c',
- public_deps='ndr NDR_ORPC'
- )
-
-bld.SAMBA_SUBSYSTEM('NDR_DCOM',
- source='gen_ndr/ndr_dcom.c',
- public_deps='ndr NDR_SECURITY NDR_ORPC'
- )
-
-bld.SAMBA_SUBSYSTEM('NDR_WMI',
- source='ndr/ndr_wmi.c gen_ndr/ndr_wmi.c',
- public_deps='ndr NDR_SECURITY NDR_DCOM'
- )
-
bld.SAMBA_SUBSYSTEM('NDR_WZCSVC',
source='gen_ndr/ndr_wzcsvc.c',
public_deps='ndr'
bld.SAMBA_SUBSYSTEM('NDR_BROWSER',
source='gen_ndr/ndr_browser.c',
- public_deps='ndr'
+ public_deps='ndr NDR_SRVSVC'
)
bld.SAMBA_SUBSYSTEM('NDR_W32TIME',
public_deps='ndr NDR_SECURITY NDR_LSA'
)
+bld.SAMBA_SUBSYSTEM('NDR_EVENTLOG6',
+ source='gen_ndr/ndr_eventlog6.c',
+ public_deps='ndr'
+ )
+
bld.SAMBA_SUBSYSTEM('NDR_NTSVCS',
source='gen_ndr/ndr_ntsvcs.c',
public_deps='ndr'
bld.SAMBA_SUBSYSTEM('NDR_WKSSVC',
source='gen_ndr/ndr_wkssvc.c',
- public_deps='ndr NDR_SECURITY'
+ public_deps='ndr NDR_SECURITY NDR_SRVSVC NDR_LSA'
)
bld.SAMBA_SUBSYSTEM('NDR_ECHO',
public_deps='ndr'
)
+bld.SAMBA_GENERATOR('gen_wsp_props',
+ source='../source4/scripting/bin/gen_wsp_props.py wsp/allprops-from-ms-wsp-spec.csv wsp/extra-props.csv',
+target='wsp/wsp_props_gen.c',
+ group='build_source',
+ rule='${PYTHON} ${SRC[0].abspath(env)} ${SRC[1].abspath(env)} ${TGT[0].abspath(env)} ${SRC[2].abspath(env)}'
+ )
+
+bld.SAMBA_SUBSYSTEM('NDR_WSP',
+ source='gen_ndr/ndr_wsp.c wsp/wsp_helper.c wsp/wsp_props_gen.c',
+ public_deps='ndr gen_wsp_props'
+ )
+
+bld.SAMBA_SUBSYSTEM('NDR_WSP_DATA',
+ source='gen_ndr/ndr_wsp_data.c',
+ public_deps='ndr'
+ )
+
+bld.SAMBA_SUBSYSTEM('WSP_UTIL',
+ source='wsp/wsp_util.c wsp/wsp_props_gen.c',
+ public_deps='ndr gen_wsp_props'
+ )
+
bld.SAMBA_SUBSYSTEM('NDR_WITNESS',
source='gen_ndr/ndr_witness.c ndr/ndr_witness.c',
public_deps='ndr'
bld.SAMBA_SUBSYSTEM('NDR_CLUSAPI',
source='gen_ndr/ndr_clusapi.c',
- public_deps='ndr'
+ public_deps='ndr NDR_WINREG'
)
bld.SAMBA_SUBSYSTEM('NDR_MDSSVC',
header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')]
)
+bld.SAMBA_SUBSYSTEM('NDR_ODJ',
+ source='gen_ndr/ndr_ODJ.c ndr/ndr_ODJ.c',
+ public_deps='NDR_LSA NDR_NETLOGON NDR_SECURITY',
+ deps='ndr')
+
+bld.SAMBA_SUBSYSTEM('NDR_KRB5PAC',
+ source='',
+ deps='ndr-krb5pac')
+
bld.SAMBA_LIBRARY('ndr-krb5pac',
source='ndr/ndr_krb5pac.c gen_ndr/ndr_krb5pac.c',
- public_deps='ndr ndr-standard NDR_SECURITY',
+ public_deps='ndr ndr-standard NDR_SECURITY NDR_CLAIMS',
public_headers='gen_ndr/krb5pac.h gen_ndr/ndr_krb5pac.h ndr/ndr_krb5pac.h',
header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')],
pc_files='ndr_krb5pac.pc',
vnum='0.0.1'
)
+bld.SAMBA_SUBSYSTEM('NDR_KRB5CCACHE',
+ source='gen_ndr/ndr_krb5ccache.c',
+ deps='ndr NDR_SECURITY ndr-standard asn1util'
+ )
+
+bld.SAMBA_SUBSYSTEM('NDR_CLAIMS',
+ source='gen_ndr/ndr_claims.c ndr/ndr_claims.c',
+ deps='ndr NDR_COMPRESSION LZXPRESS')
+
+bld.SAMBA_SUBSYSTEM('NDR_GKDI',
+ source='gen_ndr/ndr_gkdi.c',
+ deps='ndr')
+
+bld.SAMBA_SUBSYSTEM('NDR_GMSA',
+ source='gen_ndr/ndr_gmsa.c',
+ deps='ndr')
+
bld.SAMBA_LIBRARY('ndr-standard',
- source='gen_ndr/ndr_eventlog6.c',
+ source='',
vnum='0.0.1',
pc_files='ndr_standard.pc',
- deps='''NDR_SECURITY NDR_LSA NDR_SAMR NDR_NETLOGON NDR_EVENTLOG NDR_DFS
+ deps='''NDR_SECURITY NDR_LSA NDR_SAMR NDR_NETLOGON
+ NDR_EVENTLOG NDR_EVENTLOG6 NDR_DFS
NDR_NTSVCS NDR_SVCCTL NDR_INITSHUTDOWN NDR_WKSSVC NDR_SRVSVC NDR_WINREG
NDR_ECHO security NDR_DNS NDR_DNSP NDR_ATSVC NDR_SPOOLSS NDR_DSSETUP
NDR_SERVER_ID NDR_NOTIFY''',
public_deps='ndr',
- public_headers='gen_ndr/samr.h gen_ndr/ndr_samr.h gen_ndr/lsa.h gen_ndr/netlogon.h gen_ndr/atsvc.h gen_ndr/ndr_atsvc.h gen_ndr/ndr_svcctl.h gen_ndr/svcctl.h',
+ public_headers='gen_ndr/samr.h gen_ndr/ndr_samr.h gen_ndr/lsa.h gen_ndr/netlogon.h gen_ndr/atsvc.h gen_ndr/ndr_atsvc.h gen_ndr/ndr_svcctl.h gen_ndr/svcctl.h gen_ndr/claims.h',
header_path='gen_ndr'
)
public_deps='ndr NDR_SECURITY'
)
+bld.SAMBA_SUBSYSTEM('NDR_SMB3POSIX',
+ source='gen_ndr/ndr_smb3posix.c',
+ public_deps='ndr',
+ public_headers='gen_ndr/smb3posix.h')
+
bld.SAMBA_SUBSYSTEM('NDR_SMB2_LEASE_STRUCT',
source='gen_ndr/ndr_smb2_lease_struct.c',
public_deps='ndr',
public_deps='ndr ndr_nbt'
)
+bld.SAMBA_SUBSYSTEM('NDR_NBT',
+ source='',
+ deps='ndr_nbt')
+
bld.SAMBA_LIBRARY('ndr_nbt',
source='gen_ndr/ndr_nbt.c ndr/ndr_nbt.c',
- public_deps='ndr NDR_NBT_BUF NDR_SECURITY',
+ public_deps='ndr NDR_NBT_BUF NDR_SECURITY NDR_DNS',
public_headers='gen_ndr/nbt.h gen_ndr/ndr_nbt.h ndr/ndr_nbt.h',
header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')],
pc_files='ndr_nbt.pc',
bld.SAMBA_SUBSYSTEM('NDR_BACKUPKEY',
source='ndr/ndr_backupkey.c gen_ndr/ndr_backupkey.c',
- public_deps='ndr'
+ public_deps='ndr NDR_SECURITY'
)
bld.SAMBA_SUBSYSTEM('NDR_PREG',
gen_ndr/ndr_cab.c
ndr/ndr_cab.c
''',
- public_deps='ndr')
+ public_deps='ndr NDR_COMPRESSION')
bld.SAMBA_SUBSYSTEM('NDR_FILE_ID',
source='gen_ndr/ndr_file_id.c',
public_deps='ndr NDR_SERVER_ID'
)
+bld.SAMBA_SUBSYSTEM('NDR_WINSTATION',
+ source='gen_ndr/ndr_winstation.c',
+ public_deps='ndr'
+ )
+
+bld.SAMBA_SUBSYSTEM('NDR_CONDITIONAL_ACE',
+ source='gen_ndr/ndr_conditional_ace.c',
+ public_deps='ndr'
+ )
+
bld.SAMBA_SUBSYSTEM('RPC_NDR_ATSVC',
source='gen_ndr/ndr_atsvc_c.c',
public_deps='dcerpc-binding NDR_ATSVC'
deps='tevent NDR_MGMT'
)
-bld.SAMBA_SUBSYSTEM('RPC_NDR_OXIDRESOLVER',
- source='gen_ndr/ndr_oxidresolver_c.c',
- public_deps='dcerpc-binding NDR_OXIDRESOLVER'
- )
-
-bld.SAMBA_SUBSYSTEM('RPC_NDR_REMACT',
- source='gen_ndr/ndr_remact_c.c',
- public_deps='dcerpc-binding NDR_REMACT'
- )
-
bld.SAMBA_SUBSYSTEM('RPC_NDR_NTSVCS',
source='gen_ndr/ndr_ntsvcs_c.c',
public_deps='dcerpc-binding ndr-standard'
public_deps='dcerpc-binding NDR_MDSSVC'
)
+bld.SAMBA_SUBSYSTEM('RPC_NDR_GKDI',
+ source='gen_ndr/ndr_gkdi_c.c',
+ public_deps='dcerpc-binding NDR_GKDI'
+ )
+
# a grouping library for NDR subsystems that may be used by more than one target
bld.SAMBA_LIBRARY('ndr-samba',
source=[],
deps='''NDR_DRSBLOBS NDR_DRSUAPI NDR_IDMAP NDR_NTLMSSP NDR_NEGOEX NDR_SCHANNEL NDR_MGMT
- NDR_DNSSERVER NDR_EPMAPPER NDR_XATTR NDR_UNIXINFO NDR_NAMED_PIPE_AUTH NDR_DCOM
- NDR_NTPRINTING NDR_FSRVP NDR_WITNESS NDR_MDSSVC NDR_OPEN_FILES NDR_SMBXSRV''',
+ NDR_DNSSERVER NDR_EPMAPPER NDR_XATTR NDR_UNIXINFO NDR_NAMED_PIPE_AUTH
+ NDR_NTPRINTING NDR_FSRVP NDR_WITNESS NDR_MDSSVC NDR_OPEN_FILES NDR_SMBXSRV
+ NDR_SMB3POSIX
+ NDR_KRB5CCACHE NDR_WSP NDR_GKDI NDR_GMSA''',
private_library=True,
grouping_library=True
)
deps='''RPC_NDR_LSA RPC_NDR_SAMR RPC_NDR_NETLOGON RPC_NDR_EVENTLOG
RPC_NDR_DFS RPC_NDR_NTSVCS RPC_NDR_SVCCTL RPC_NDR_INITSHUTDOWN
RPC_NDR_WKSSVC RPC_NDR_SRVSVC RPC_NDR_WINREG RPC_NDR_ECHO RPC_NDR_EPMAPPER
- RPC_NDR_ATSVC RPC_NDR_SPOOLSS RPC_NDR_DNSSERVER''',
+ RPC_NDR_ATSVC RPC_NDR_SPOOLSS RPC_NDR_DNSSERVER RPC_NDR_GKDI''',
public_deps='ndr-standard',
private_library=True,
grouping_library=True
)
+bld.SAMBA_SUBSYSTEM('NDR_MISC',
+ source='',
+ deps='ndr')
+
bld.SAMBA_LIBRARY('ndr',
source='ndr/ndr_string.c ndr/ndr_basic.c ndr/uuid.c ndr/ndr.c ndr/ndr_misc.c gen_ndr/ndr_misc.c ndr/util.c',
pc_files='ndr.pc',
public_deps='samba-errors talloc samba-util util_str_hex',
public_headers='gen_ndr/misc.h gen_ndr/ndr_misc.h ndr/libndr.h:ndr.h',
header_path= [('*gen_ndr*', 'gen_ndr')],
- vnum='1.0.0',
+ vnum='4.0.0',
abi_directory='ABI',
- abi_match='!ndr_table_* ndr_* GUID_* _ndr_pull_error _ndr_push_error',
+ abi_match='!ndr_table_* ndr_* GUID_* _ndr_pull_error* _ndr_push_error*',
)
bld.SAMBA_LIBRARY('dcerpc-binding',
- source='rpc/dcerpc_error.c rpc/binding.c rpc/dcerpc_util.c rpc/binding_handle.c',
- deps='ndr tevent NDR_DCERPC LIBTSOCKET tevent-util gensec',
+ source='''
+ rpc/dcerpc_error.c
+ rpc/binding.c
+ rpc/dcerpc_util.c
+ rpc/binding_handle.c
+ ''',
+ deps='ndr tevent NDR_DCERPC LIBTSOCKET tevent-util',
pc_files=[],
public_headers='rpc/rpc_common.h',
vnum='0.0.1')
+bld.SAMBA_LIBRARY('dcerpc-pkt-auth',
+ private_library=True,
+ source='''
+ rpc/dcerpc_pkt_auth.c
+ ''',
+ deps='dcerpc-binding gensec')
+
+bld.SAMBA_SUBSYSTEM('DCERPC_SERVER_NETLOGON',
+ source='''
+ rpc/server/netlogon/schannel_util.c
+ ''',
+ deps='''
+ talloc
+ util_str_escape
+ samba-hostconfig
+ NDR_NETLOGON
+ dcerpc-server-core
+ ''')
+
bld.SAMBA_LIBRARY('dcerpc-server-core',
source='''
rpc/dcesrv_core.c
rpc/dcesrv_auth.c
rpc/dcesrv_mgmt.c
rpc/dcesrv_reply.c
+ rpc/dcesrv_handles.c
''',
- deps='ndr dcerpc-binding samba-util-core gnutls GNUTLS_HELPERS',
+ deps='''
+ ndr
+ dcerpc-binding
+ samba-util-core
+ gnutls
+ GNUTLS_HELPERS
+ dcerpc-pkt-auth
+ ''',
pc_files=[],
public_headers='rpc/dcesrv_core.h',
autoproto='rpc/dcesrv_core_proto.h',
vnum='0.0.1')
+bld.SAMBA_SUBSYSTEM('DCERPC_HELPER',
+ source='rpc/dcerpc_helper.c',
+ public_deps='''
+ samba-hostconfig
+ samba-security
+ gnutls
+ GNUTLS_HELPERS
+ ''')
+
bld.SAMBA_SUBSYSTEM('NDR_WINBIND',
source='gen_ndr/ndr_winbind.c',
public_deps='ndr NDR_LSA'
public_deps='dcerpc NDR_WINBIND'
)
-bld.SAMBA3_SUBSYSTEM('SRV_NDR_WINBIND',
- source='gen_ndr/srv_winbind.c',
- public_deps='NDR_WINBIND'
- )
-
bld.SAMBA_SUBSYSTEM('NDR_FSRVP_STATE',
source='gen_ndr/ndr_fsrvp_state.c',
public_deps='ndr'
#
# Cmocka tests
#
+
+bld.SAMBA_BINARY('test_ndr_macros',
+ source='tests/test_ndr_macros.c',
+ deps='''
+ cmocka
+ ndr
+ ''',
+ for_selftest=True)
+
bld.SAMBA_BINARY('test_ndr_string',
source='tests/test_ndr_string.c',
deps='''
ndr
''',
for_selftest=True)
+
+bld.SAMBA_BINARY('test_ndr',
+ source='tests/test_ndr.c',
+ deps='''
+ cmocka
+ ndr
+ ''',
+ for_selftest=True)
+
+bld.SAMBA_BINARY('test_ndr_dns_nbt',
+ source='tests/test_ndr_dns_nbt.c',
+ deps='''
+ cmocka
+ ndr
+ ndr_nbt
+ ''',
+ for_selftest=True)
+
+bld.SAMBA_BINARY(
+ 'test_ndr_gmsa',
+ source='tests/test_ndr_gmsa.c',
+ deps='''
+ cmocka
+ talloc
+ NDR_GMSA
+ ''',
+ for_selftest=True,
+)