mirror of
https://github.com/samba-team/samba.git
synced 2025-01-25 06:04:04 +03:00
911a8d590c
The problem was that the simple "uint_t ref_count;" in a talloc chunk did not give enough information. It told us that a pointer was referenced more than once, but it didn't say who it was referenced by. This means that when the pointer was freed we had no sane way to clean up the reference. I have now replaced ref_count with a "refs" list, which means that references point to the pointer, and the pointer has a linked list of references. So now we can cleanup from either direction without losing track of anything. I've also added a LOCAL-TALLOC smbtorture test that tests talloc behaviour for some common uses.
189 lines
4.1 KiB
Makefile
189 lines
4.1 KiB
Makefile
# TORTURE subsystem
|
|
|
|
#################################
|
|
# Start SUBSYSTEM TORTURE_BASIC
|
|
[SUBSYSTEM::TORTURE_BASIC]
|
|
ADD_OBJ_FILES = \
|
|
torture/basic/scanner.o \
|
|
torture/basic/utable.o \
|
|
torture/basic/charset.o \
|
|
torture/basic/mangle_test.o \
|
|
torture/basic/denytest.o \
|
|
torture/basic/aliases.o \
|
|
torture/basic/secleak.o
|
|
REQUIRED_SUBSYSTEMS = \
|
|
LIBSMB
|
|
# End SUBSYSTEM TORTURE_BASIC
|
|
#################################
|
|
|
|
#################################
|
|
# Start SUBSYSTEM TORTURE_BASIC
|
|
[SUBSYSTEM::TORTURE_RAW]
|
|
ADD_OBJ_FILES = \
|
|
torture/raw/qfsinfo.o \
|
|
torture/raw/qfileinfo.o \
|
|
torture/raw/setfileinfo.o \
|
|
torture/raw/search.o \
|
|
torture/raw/close.o \
|
|
torture/raw/open.o \
|
|
torture/raw/mkdir.o \
|
|
torture/raw/oplock.o \
|
|
torture/raw/notify.o \
|
|
torture/raw/mux.o \
|
|
torture/raw/ioctl.o \
|
|
torture/raw/chkpath.o \
|
|
torture/raw/unlink.o \
|
|
torture/raw/read.o \
|
|
torture/raw/context.o \
|
|
torture/raw/write.o \
|
|
torture/raw/lock.o \
|
|
torture/raw/rename.o \
|
|
torture/raw/seek.o
|
|
REQUIRED_SUBSYSTEMS = \
|
|
LIBSMB
|
|
# End SUBSYSTEM TORTURE_RAW
|
|
#################################
|
|
|
|
#################################
|
|
# Start SUBSYSTEM TORTURE_RPC
|
|
[SUBSYSTEM::TORTURE_RPC]
|
|
ADD_OBJ_FILES = \
|
|
torture/rpc/lsa.o \
|
|
torture/rpc/echo.o \
|
|
torture/rpc/dcom.o \
|
|
torture/rpc/dfs.o \
|
|
torture/rpc/drsuapi.o \
|
|
torture/rpc/spoolss.o \
|
|
torture/rpc/samr.o \
|
|
torture/rpc/wkssvc.o \
|
|
torture/rpc/srvsvc.o \
|
|
torture/rpc/svcctl.o \
|
|
torture/rpc/atsvc.o \
|
|
torture/rpc/eventlog.o \
|
|
torture/rpc/epmapper.o \
|
|
torture/rpc/winreg.o \
|
|
torture/rpc/mgmt.o \
|
|
torture/rpc/scanner.o \
|
|
torture/rpc/autoidl.o \
|
|
torture/rpc/testjoin.o \
|
|
torture/rpc/schannel.o \
|
|
torture/rpc/netlogon.o \
|
|
torture/rpc/bind.o
|
|
REQUIRED_SUBSYSTEMS = \
|
|
LIBSMB
|
|
# End SUBSYSTEM TORTURE_RPC
|
|
#################################
|
|
|
|
#################################
|
|
# Start SUBSYSTEM TORTURE_RAP
|
|
[SUBSYSTEM::TORTURE_RAP]
|
|
ADD_OBJ_FILES = \
|
|
torture/rap/rap.o
|
|
REQUIRED_SUBSYSTEMS = \
|
|
LIBSMB
|
|
# End SUBSYSTEM TORTURE_RAP
|
|
#################################
|
|
|
|
#################################
|
|
# Start SUBSYSTEM TORTURE_AUTH
|
|
[SUBSYSTEM::TORTURE_AUTH]
|
|
ADD_OBJ_FILES = \
|
|
torture/auth/ntlmssp.o
|
|
REQUIRED_SUBSYSTEMS = \
|
|
LIBSMB
|
|
# End SUBSYSTEM TORTURE_AUTH
|
|
#################################
|
|
|
|
#################################
|
|
# Start SUBSYSTEM TORTURE_LOCAL
|
|
[SUBSYSTEM::TORTURE_LOCAL]
|
|
ADD_OBJ_FILES = \
|
|
torture/local/iconv.o \
|
|
torture/local/talloc.o
|
|
REQUIRED_SUBSYSTEMS = \
|
|
LIBSMB
|
|
# End SUBSYSTEM TORTURE_LOCAL
|
|
#################################
|
|
|
|
#################################
|
|
# Start SUBSYSTEM TORTURE_NBENCH
|
|
[SUBSYSTEM::TORTURE_NBENCH]
|
|
ADD_OBJ_FILES = \
|
|
torture/nbench/nbio.o \
|
|
torture/nbench/nbench.o
|
|
# End SUBSYSTEM TORTURE_NBENCH
|
|
#################################
|
|
|
|
#################################
|
|
# Start SUBSYSTEM TORTURE_LDAP
|
|
[SUBSYSTEM::TORTURE_LDAP]
|
|
ADD_OBJ_FILES = \
|
|
torture/ldap/common.o \
|
|
torture/ldap/basic.o
|
|
REQUIRED_SUBSYSTEMS = \
|
|
LIBCLI_LDAP
|
|
# End SUBSYSTEM TORTURE_LDAP
|
|
#################################
|
|
|
|
#################################
|
|
# Start BINARY smbtorture
|
|
[BINARY::smbtorture]
|
|
OBJ_FILES = \
|
|
torture/torture.o \
|
|
torture/torture_util.o
|
|
REQUIRED_SUBSYSTEMS = \
|
|
TORTURE_BASIC \
|
|
TORTURE_RAW \
|
|
TORTURE_RPC \
|
|
TORTURE_RAP \
|
|
TORTURE_AUTH \
|
|
TORTURE_LOCAL \
|
|
TORTURE_NBENCH \
|
|
TORTURE_LDAP \
|
|
CONFIG \
|
|
LIBCMDLINE \
|
|
LIBBASIC
|
|
# End BINARY smbtorture
|
|
#################################
|
|
|
|
#################################
|
|
# Start BINARY gentest
|
|
[BINARY::gentest]
|
|
OBJ_FILES = \
|
|
torture/gentest.o \
|
|
torture/torture_util.o
|
|
REQUIRED_SUBSYSTEMS = \
|
|
LIBSMB \
|
|
CONFIG \
|
|
LIBBASIC \
|
|
LIBCMDLINE
|
|
# End BINARY gentest
|
|
#################################
|
|
|
|
#################################
|
|
# Start BINARY masktest
|
|
[BINARY::masktest]
|
|
OBJ_FILES = \
|
|
torture/masktest.o
|
|
REQUIRED_SUBSYSTEMS = \
|
|
LIBSMB \
|
|
CONFIG \
|
|
LIBBASIC \
|
|
LIBCMDLINE
|
|
# End BINARY masktest
|
|
#################################
|
|
|
|
#################################
|
|
# Start BINARY locktest
|
|
[BINARY::locktest]
|
|
OBJ_FILES = \
|
|
torture/locktest.o \
|
|
torture/torture_util.o
|
|
REQUIRED_SUBSYSTEMS = \
|
|
LIBSMB \
|
|
CONFIG \
|
|
LIBBASIC \
|
|
LIBCMDLINE
|
|
# End BINARY locktest
|
|
#################################
|