Author: gd Date: 2007-11-06 01:39:47 +0000 (Tue, 06 Nov 2007) New Revision: 25849
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25849 Log: Add test for dfs FlushFtTable. Guenther Modified: branches/SAMBA_4_0/source/torture/rpc/dfs.c Changeset: Modified: branches/SAMBA_4_0/source/torture/rpc/dfs.c =================================================================== --- branches/SAMBA_4_0/source/torture/rpc/dfs.c 2007-11-06 01:24:07 UTC (rev 25848) +++ branches/SAMBA_4_0/source/torture/rpc/dfs.c 2007-11-06 01:39:47 UTC (rev 25849) @@ -596,6 +596,47 @@ return true; } +static bool test_FlushFtTable(struct dcerpc_pipe *p, + TALLOC_CTX *mem_ctx, + const char *host, + const char *sharename) +{ + NTSTATUS status; + struct dfs_FlushFtTable r; + enum dfs_ManagerVersion version; + + printf("Testing FlushFtTable\n"); + + if (!test_GetManagerVersion(p, mem_ctx, &version)) { + return false; + } + + r.in.servername = host; + r.in.rootshare = sharename; + + status = dcerpc_dfs_FlushFtTable(p, mem_ctx, &r); + if (!NT_STATUS_IS_OK(status)) { + printf("FlushFtTable failed - %s\n", nt_errstr(status)); + return false; + } else if (!W_ERROR_IS_OK(r.out.result)) { + printf("dfs_FlushFtTable failed - %s\n", + win_errstr(r.out.result)); + IS_DFS_VERSION_UNSUPPORTED_CALL_W2K3(version, r.out.result); + return false; + } + + return true; +} + +static bool test_FtRoot(struct dcerpc_pipe *p, + TALLOC_CTX *mem_ctx, + const char *host) +{ + const char *sharename = SMBTORTURE_DFS_SHARENAME; + + return test_FlushFtTable(p, mem_ctx, host, sharename); +} + bool torture_rpc_dfs(struct torture_context *torture) { NTSTATUS status; @@ -612,6 +653,7 @@ ret &= test_Enum(p, torture); ret &= test_EnumEx(p, torture, host); ret &= test_StdRoot(p, torture, host); + ret &= test_FtRoot(p, torture, host); ret &= test_DcAddress(p, torture, host); return ret;