Author: gd Date: 2006-09-21 06:06:59 +0000 (Thu, 21 Sep 2006) New Revision: 18776
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18776 Log: Fill in and test dfs_ManagerInitialize(). Guenther Modified: branches/SAMBA_4_0/source/librpc/idl/dfs.idl branches/SAMBA_4_0/source/torture/rpc/dfs.c Changeset: Modified: branches/SAMBA_4_0/source/librpc/idl/dfs.idl =================================================================== --- branches/SAMBA_4_0/source/librpc/idl/dfs.idl 2006-09-21 05:44:39 UTC (rev 18775) +++ branches/SAMBA_4_0/source/librpc/idl/dfs.idl 2006-09-21 06:06:59 UTC (rev 18776) @@ -327,7 +327,10 @@ ); /* Function 0x0e */ - WERROR dfs_ManagerInitialize(); + WERROR dfs_ManagerInitialize( + [in] [string,charset(UTF16)] uint16 *servername, + [in] uint32 flags + ); /* Function 0x0f */ WERROR dfs_AddStdRootForced( Modified: branches/SAMBA_4_0/source/torture/rpc/dfs.c =================================================================== --- branches/SAMBA_4_0/source/torture/rpc/dfs.c 2006-09-21 05:44:39 UTC (rev 18775) +++ branches/SAMBA_4_0/source/torture/rpc/dfs.c 2006-09-21 06:06:59 UTC (rev 18776) @@ -155,6 +155,34 @@ return True; } +static BOOL test_ManagerInitialize(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, const char *host) +{ + NTSTATUS status; + enum dfs_ManagerVersion version; + struct dfs_ManagerInitialize r; + + printf("Testing ManagerInitialize\n"); + + if (!test_GetManagerVersion(p, mem_ctx, &version)) { + return False; + } + + r.in.servername = host; + r.in.flags = 0; + + status = dcerpc_dfs_ManagerInitialize(p, mem_ctx, &r); + if (!NT_STATUS_IS_OK(status)) { + printf("ManagerInitialize failed - %s\n", nt_errstr(status)); + return False; + } else if (!W_ERROR_IS_OK(r.out.result)) { + printf("dfs_ManagerInitialize 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_GetInfoLevel(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, uint16_t level, const char *root) { @@ -170,10 +198,10 @@ status = dcerpc_dfs_GetInfo(p, mem_ctx, &r); if (!NT_STATUS_IS_OK(status)) { - printf("Info failed - %s\n", nt_errstr(status)); + printf("GetInfo failed - %s\n", nt_errstr(status)); return False; } else if (!W_ERROR_IS_OK(r.out.result)) { - printf("GetInfo failed - %s\n", win_errstr(r.out.result)); + printf("dfs_GetInfo failed - %s\n", win_errstr(r.out.result)); return False; } @@ -355,7 +383,7 @@ printf("AddStdRootForced failed - %s\n", nt_errstr(status)); return False; } else if (!W_ERROR_IS_OK(r.out.result)) { - printf("AddStdRootForced failed - %s\n", win_errstr(r.out.result)); + printf("dfs_AddStdRootForced failed - %s\n", win_errstr(r.out.result)); IS_DFS_VERSION_UNSUPPORTED_CALL_W2K3(version, r.out.result); return False; } @@ -471,6 +499,7 @@ } ret &= test_GetManagerVersion(p, mem_ctx, &version); + ret &= test_ManagerInitialize(p, mem_ctx, host); ret &= test_Enum(p, mem_ctx); ret &= test_EnumEx(p, mem_ctx, host); ret &= test_StdRoot(p, mem_ctx, host);