mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
08abd1f5e8
Introduce a new flag, LIBNDR_FLAG_STR_RAW8, which indicates that libndr should not attempt to convert the corresponding byte sequence, and place the responsibility on the caller to do so later. This is needed in cases where the string is known to be 8-bit and either NULL terminated or of known length, but in an unspecified character set. For example, when pulling PT_STRING8 properties from an exchange server via libmapi + libndr, the codepage is neither known nor in the control of the caller, and is determined by subsequent properties requested from the server. Therefore the client would like to fetch all properties in one large batch, and convert the resulting strings locally. This commit also includes some (basic) tests of each of the flags' respective behaviors with the ndr push/pull string functions, in a new source4 torture test suite ndr.ndr_string. Signed-off-by: Sean Finney <seanius@seanius.net>
181 lines
7.0 KiB
Python
181 lines
7.0 KiB
Python
#!/usr/bin/env python
|
|
|
|
|
|
bld.SAMBA_SUBSYSTEM('TORTURE_UTIL',
|
|
source='util_smb.c',
|
|
public_deps='torture POPT_CREDENTIALS',
|
|
deps='LIBCLI_RAW'
|
|
)
|
|
|
|
|
|
bld.SAMBA_MODULE('TORTURE_BASIC',
|
|
source='basic/base.c basic/misc.c basic/scanner.c basic/utable.c basic/charset.c basic/mangle_test.c basic/denytest.c basic/aliases.c basic/locking.c basic/secleak.c basic/rename.c basic/dir.c basic/delete.c basic/unlink.c basic/disconnect.c basic/delaywrite.c basic/attr.c basic/properties.c',
|
|
subsystem='smbtorture',
|
|
deps='LIBCLI_SMB POPT_CREDENTIALS TORTURE_UTIL LIBCLI_RAW TORTURE_RAW',
|
|
internal_module=True,
|
|
autoproto='basic/proto.h',
|
|
init_function='torture_base_init'
|
|
)
|
|
|
|
|
|
bld.SAMBA_MODULE('TORTURE_RAW',
|
|
source='raw/qfsinfo.c raw/qfileinfo.c raw/setfileinfo.c raw/search.c raw/close.c raw/open.c raw/mkdir.c raw/oplock.c raw/notify.c raw/mux.c raw/ioctl.c raw/chkpath.c raw/unlink.c raw/read.c raw/context.c raw/write.c raw/lock.c raw/pingpong.c raw/lockbench.c raw/lookuprate.c raw/tconrate.c raw/openbench.c raw/rename.c raw/eas.c raw/streams.c raw/acls.c raw/seek.c raw/samba3hide.c raw/samba3misc.c raw/composite.c raw/raw.c raw/offline.c',
|
|
autoproto='raw/proto.h',
|
|
subsystem='smbtorture',
|
|
init_function='torture_raw_init',
|
|
deps='LIBCLI_SMB LIBCLI_LSA LIBCLI_SMB_COMPOSITE POPT_CREDENTIALS TORTURE_UTIL',
|
|
internal_module=True
|
|
)
|
|
|
|
bld.RECURSE('smb2')
|
|
bld.RECURSE('winbind')
|
|
bld.RECURSE('libnetapi')
|
|
bld.RECURSE('libsmbclient')
|
|
|
|
bld.SAMBA_SUBSYSTEM('TORTURE_NDR',
|
|
source='ndr/ndr.c ndr/winreg.c ndr/atsvc.c ndr/lsa.c ndr/epmap.c ndr/dfs.c ndr/netlogon.c ndr/drsuapi.c ndr/spoolss.c ndr/samr.c ndr/dfsblob.c ndr/drsblobs.c ndr/nbt.c ndr/ntlmssp.c ndr/backupkey.c ndr/string.c',
|
|
autoproto='ndr/proto.h',
|
|
deps='torture'
|
|
)
|
|
|
|
|
|
bld.SAMBA_MODULE('torture_rpc',
|
|
source='rpc/join.c rpc/lsa.c rpc/forest_trust.c rpc/lsa_lookup.c rpc/session_key.c rpc/echo.c rpc/dfs.c rpc/drsuapi.c rpc/drsuapi_cracknames.c rpc/dsgetinfo.c rpc/spoolss.c rpc/spoolss_notify.c rpc/spoolss_win.c rpc/spoolss_access.c rpc/unixinfo.c rpc/samr.c rpc/samr_accessmask.c rpc/wkssvc.c rpc/srvsvc.c rpc/svcctl.c rpc/atsvc.c rpc/eventlog.c rpc/epmapper.c rpc/winreg.c rpc/initshutdown.c rpc/oxidresolve.c rpc/remact.c rpc/mgmt.c rpc/scanner.c rpc/autoidl.c rpc/countcalls.c rpc/testjoin.c rpc/schannel.c rpc/netlogon.c rpc/remote_pac.c rpc/samlogon.c rpc/samsync.c rpc/multi_bind.c rpc/dssetup.c rpc/alter_context.c rpc/bench.c rpc/samba3rpc.c rpc/rpc.c rpc/async_bind.c rpc/handles.c rpc/frsapi.c rpc/object_uuid.c rpc/ntsvcs.c rpc/browser.c rpc/bind.c rpc/backupkey.c',
|
|
autoproto='rpc/proto.h',
|
|
subsystem='smbtorture',
|
|
init_function='torture_rpc_init',
|
|
deps='ndr-table RPC_NDR_UNIXINFO dcerpc-samr RPC_NDR_WINREG RPC_NDR_INITSHUTDOWN RPC_NDR_OXIDRESOLVER RPC_NDR_EVENTLOG RPC_NDR_ECHO RPC_NDR_SVCCTL RPC_NDR_NETLOGON dcerpc-atsvc RPC_NDR_DRSUAPI RPC_NDR_LSA RPC_NDR_EPMAPPER RPC_NDR_DFS RPC_NDR_FRSAPI RPC_NDR_SPOOLSS RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_ROT RPC_NDR_DSSETUP RPC_NDR_REMACT RPC_NDR_OXIDRESOLVER RPC_NDR_NTSVCS WB_HELPER samba-net LIBCLI_AUTH POPT_CREDENTIALS TORTURE_LDAP TORTURE_UTIL TORTURE_RAP dcerpc_server service process_model ntvfs RPC_NDR_BROWSER LIBCLI_DRSUAPI TORTURE_DFS SMB_SERVER RPC_NDR_BACKUPKEY',
|
|
internal_module=True
|
|
)
|
|
|
|
bld.RECURSE('drs')
|
|
|
|
bld.SAMBA_MODULE('TORTURE_RAP',
|
|
source='rap/rap.c rap/rpc.c rap/printing.c rap/sam.c',
|
|
autoproto='rap/proto.h',
|
|
subsystem='smbtorture',
|
|
init_function='torture_rap_init',
|
|
deps='TORTURE_UTIL LIBCLI_SMB NDR_RAP LIBCLI_RAP',
|
|
internal_module=True
|
|
)
|
|
|
|
bld.SAMBA_MODULE('TORTURE_DFS',
|
|
source='dfs/domaindfs.c dfs/common.c',
|
|
autoproto='dfs/proto.h',
|
|
subsystem='smbtorture',
|
|
init_function='torture_dfs_init',
|
|
deps='TORTURE_UTIL LIBCLI_SMB',
|
|
internal_module=True
|
|
)
|
|
|
|
|
|
bld.SAMBA_MODULE('TORTURE_AUTH',
|
|
source='auth/ntlmssp.c auth/pac.c auth/smbencrypt.c',
|
|
autoproto='auth/proto.h',
|
|
subsystem='smbtorture',
|
|
deps='LIBCLI_SMB gensec auth4 authkrb5 POPT_CREDENTIALS smbpasswdparser torture com_err gensec_ntlmssp',
|
|
internal_module=True
|
|
)
|
|
|
|
bld.RECURSE('local')
|
|
|
|
bld.SAMBA_MODULE('TORTURE_NBENCH',
|
|
source='nbench/nbio.c nbench/nbench.c',
|
|
autoproto='nbench/proto.h',
|
|
subsystem='smbtorture',
|
|
init_function='torture_nbench_init',
|
|
deps='TORTURE_UTIL',
|
|
internal_module=True
|
|
)
|
|
|
|
|
|
bld.SAMBA_MODULE('TORTURE_UNIX',
|
|
source='unix/unix.c unix/whoami.c unix/unix_info2.c',
|
|
autoproto='unix/proto.h',
|
|
subsystem='smbtorture',
|
|
init_function='torture_unix_init',
|
|
deps='TORTURE_UTIL',
|
|
internal_module=True
|
|
)
|
|
|
|
|
|
bld.SAMBA_MODULE('TORTURE_LDAP',
|
|
source='ldap/common.c ldap/basic.c ldap/schema.c ldap/uptodatevector.c ldap/cldap.c ldap/cldapbench.c ldap/ldap_sort.c ldap/nested_search.c',
|
|
subsystem='smbtorture',
|
|
deps='cli-ldap LIBCLI_CLDAP samdb POPT_CREDENTIALS torture ldbsamba',
|
|
internal_module=True,
|
|
autoproto='ldap/proto.h',
|
|
init_function='torture_ldap_init'
|
|
)
|
|
|
|
|
|
bld.SAMBA_MODULE('TORTURE_NBT',
|
|
source='nbt/query.c nbt/register.c nbt/wins.c nbt/winsbench.c nbt/winsreplication.c nbt/dgram.c nbt/nbt.c',
|
|
autoproto='nbt/proto.h',
|
|
subsystem='smbtorture',
|
|
init_function='torture_nbt_init',
|
|
deps='LIBCLI_SMB cli-nbt LIBCLI_DGRAM LIBCLI_WREPL torture_rpc',
|
|
internal_module=True
|
|
)
|
|
|
|
|
|
bld.SAMBA_MODULE('TORTURE_NET',
|
|
source='libnet/libnet.c libnet/utils.c libnet/userinfo.c libnet/userman.c libnet/groupinfo.c libnet/groupman.c libnet/domain.c libnet/libnet_lookup.c libnet/libnet_user.c libnet/libnet_group.c libnet/libnet_share.c libnet/libnet_rpc.c libnet/libnet_domain.c libnet/libnet_BecomeDC.c',
|
|
autoproto='libnet/proto.h',
|
|
subsystem='smbtorture',
|
|
init_function='torture_net_init',
|
|
deps='samba-net POPT_CREDENTIALS torture_rpc PROVISION',
|
|
internal_module=True
|
|
)
|
|
|
|
|
|
bld.SAMBA_MODULE('TORTURE_NTP',
|
|
source='ntp/ntp_signd.c',
|
|
autoproto='ntp/proto.h',
|
|
subsystem='smbtorture',
|
|
init_function='torture_ntp_init',
|
|
deps='POPT_CREDENTIALS torture_rpc',
|
|
internal_module=True
|
|
)
|
|
|
|
TORTURE_MODULES = 'TORTURE_BASIC TORTURE_RAW torture_rpc TORTURE_RAP TORTURE_AUTH TORTURE_NBENCH TORTURE_UNIX TORTURE_LDAP TORTURE_NBT TORTURE_NET TORTURE_NTP torture_registry'
|
|
|
|
bld.SAMBA_SUBSYSTEM('torturemain',
|
|
source='smbtorture.c torture.c shell.c',
|
|
subsystem_name='smbtorture',
|
|
deps='torture popt POPT_SAMBA POPT_CREDENTIALS dcerpc LIBCLI_SMB SMBREADLINE ' + TORTURE_MODULES,
|
|
)
|
|
|
|
bld.SAMBA_BINARY('smbtorture',
|
|
source=[],
|
|
manpages='man/smbtorture.1',
|
|
public_headers='smbtorture.h',
|
|
deps='torturemain torture popt POPT_SAMBA POPT_CREDENTIALS dcerpc LIBCLI_SMB SMBREADLINE ' + TORTURE_MODULES,
|
|
pyembed=True
|
|
)
|
|
|
|
bld.SAMBA_BINARY('gentest',
|
|
source='gentest.c',
|
|
manpages='man/gentest.1',
|
|
deps='samba-hostconfig samba-util popt POPT_SAMBA POPT_CREDENTIALS LIBCLI_SMB LIBCLI_RAW'
|
|
)
|
|
|
|
|
|
bld.SAMBA_BINARY('masktest',
|
|
source='masktest.c',
|
|
manpages='man/masktest.1',
|
|
deps='samba-hostconfig samba-util popt POPT_SAMBA POPT_CREDENTIALS LIBCLI_SMB'
|
|
)
|
|
|
|
|
|
bld.SAMBA_BINARY('locktest',
|
|
source='locktest.c',
|
|
# COV_TARGET='test',
|
|
#ldflags='--coverage',
|
|
#cflags='--coverage',
|
|
# GCOV='1',
|
|
manpages='man/locktest.1',
|
|
deps='popt POPT_SAMBA POPT_CREDENTIALS samba-util LIBCLI_SMB samba-hostconfig',
|
|
)
|
|
|