diff options
-rw-r--r-- | source4/librpc/idl/srvsvc.idl | 22 | ||||
-rw-r--r-- | source4/torture/rpc/srvsvc.c | 30 |
2 files changed, 51 insertions, 1 deletions
diff --git a/source4/librpc/idl/srvsvc.idl b/source4/librpc/idl/srvsvc.idl index 2f1a85be50..16827bb324 100644 --- a/source4/librpc/idl/srvsvc.idl +++ b/source4/librpc/idl/srvsvc.idl @@ -1119,9 +1119,29 @@ WERROR srvsvc_NETRSERVERTRANSPORTDEL( ); +/**************************/ +/* srvsvc_NetRemoteTOD */ +/**************************/ + typedef struct { + uint32 elapsed; + uint32 msecs; + uint32 hours; + uint32 mins; + uint32 secs; + uint32 hunds; + uint32 timezone; + uint32 tinterval; + uint32 day; + uint32 month; + uint32 year; + uint32 weekday; + } srvsvc_NetRemoteTODInfo; + /******************/ /* Function: 0x1c */ - WERROR srvsvc_NET_REMOTE_TOD( + WERROR srvsvc_NetRemoteTOD( + [in] unistr *server_unc, + [out] srvsvc_NetRemoteTODInfo *info ); /**************************/ diff --git a/source4/torture/rpc/srvsvc.c b/source4/torture/rpc/srvsvc.c index daa4e96386..91ceebdc28 100644 --- a/source4/torture/rpc/srvsvc.c +++ b/source4/torture/rpc/srvsvc.c @@ -642,6 +642,32 @@ static BOOL test_NetTransportEnum(struct dcerpc_pipe *p, return ret; } +/**************************/ +/* srvsvc_NetRemoteTOD */ +/**************************/ +static BOOL test_NetRemoteTOD(struct dcerpc_pipe *p, + TALLOC_CTX *mem_ctx) +{ + NTSTATUS status; + struct srvsvc_NetRemoteTOD r; + BOOL ret = True; + + r.in.server_unc = talloc_asprintf(mem_ctx,"\\\\%s",dcerpc_server_name(p)); + + ZERO_STRUCT(r.out); + printf("testing NetRemoteTOD\n"); + status = dcerpc_srvsvc_NetRemoteTOD(p, mem_ctx, &r); + if (!NT_STATUS_IS_OK(status)) { + printf("NetRemoteTOD failed - %s\n", nt_errstr(status)); + ret = False; + } + if (!W_ERROR_IS_OK(r.out.result)) { + printf("NetRemoteTOD failed - %s\n", win_errstr(r.out.result)); + } + + return ret; +} + BOOL torture_rpc_srvsvc(int dummy) { NTSTATUS status; @@ -695,6 +721,10 @@ BOOL torture_rpc_srvsvc(int dummy) ret = False; } + if (!test_NetRemoteTOD(p, mem_ctx)) { + ret = False; + } + if (!test_NetShareEnum(p, mem_ctx)) { ret = False; } |