summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/librpc/idl/oxidresolver.idl7
-rw-r--r--source4/librpc/idl/remact.idl1
-rw-r--r--source4/librpc/idl/rot.idl7
-rw-r--r--source4/librpc/idl/unixinfo.idl8
-rw-r--r--source4/librpc/idl/winbind.idl4
-rw-r--r--source4/librpc/idl/winreg.idl2
-rw-r--r--source4/librpc/idl/winsrepl.idl4
-rw-r--r--source4/librpc/idl/winstation.idl2
-rw-r--r--source4/torture/rpc/unixinfo.c9
9 files changed, 18 insertions, 26 deletions
diff --git a/source4/librpc/idl/oxidresolver.idl b/source4/librpc/idl/oxidresolver.idl
index 3bf7b33334..872a01d544 100644
--- a/source4/librpc/idl/oxidresolver.idl
+++ b/source4/librpc/idl/oxidresolver.idl
@@ -16,8 +16,7 @@ import "dcom.idl", "orpc.idl";
uuid("99fcfec4-5260-101b-bbcb-00aa0021347a"),
helpstring("Object Exporter ID Resolver"),
endpoint("ncacn_np:[\\pipe\\epmapper]", "ncacn_ip_tcp:[135]", "ncalrpc:"),
- pointer_default(unique),
- pointer_default_top(unique)
+ pointer_default(unique)
]
interface IOXIDResolver
{
@@ -33,7 +32,7 @@ interface IOXIDResolver
[in] OXID pOxid,
[in] uint16 cRequestedProtseqs,
[in, size_is(cRequestedProtseqs)] uint16 arRequestedProtseqs[],
- [out] DUALSTRINGARRAY *ppdsaOxidBindings,
+ [out] DUALSTRINGARRAY **ppdsaOxidBindings,
[out,ref] IPID *pipidRemUnknown,
[out,ref] uint32 *pAuthnHint
);
@@ -78,7 +77,7 @@ interface IOXIDResolver
[in] OXID pOxid,
[in] uint16 cRequestedProtseqs,
[in, size_is(cRequestedProtseqs)] uint16 arRequestedProtseqs[],
- [out] DUALSTRINGARRAY *pdsaOxidBindings,
+ [out] DUALSTRINGARRAY **pdsaOxidBindings,
[out,ref] IPID *ipidRemUnknown,
[out,ref] uint32 *AuthnHint,
[out,ref] COMVERSION *ComVersion
diff --git a/source4/librpc/idl/remact.idl b/source4/librpc/idl/remact.idl
index 26917fd715..57a8d14fa2 100644
--- a/source4/librpc/idl/remact.idl
+++ b/source4/librpc/idl/remact.idl
@@ -8,7 +8,6 @@ import "dcom.idl", "orpc.idl";
[
uuid("4d9f4ab8-7d1c-11cf-861e-0020af6e7c57"),
pointer_default(unique),
- pointer_default_top(unique),
endpoint("ncalrpc:", "ncacn_ip_tcp:[135]", "ncacn_np:[\\pipe\\epmapper]")
]
interface IRemoteActivation
diff --git a/source4/librpc/idl/rot.idl b/source4/librpc/idl/rot.idl
index 0ba616259d..78eee48807 100644
--- a/source4/librpc/idl/rot.idl
+++ b/source4/librpc/idl/rot.idl
@@ -4,7 +4,6 @@ import "orpc.idl";
uuid("b9e79e60-3d52-11ce-aaa1-00006901293f"),
version(0.2),
pointer_default(unique),
- pointer_default_top(unique),
endpoint("ncacn_np:[\\pipe\\epmapper]", "ncacn_ip_tcp:[135]",
"ncalrpc:[EPMAPPER]")
] interface rot
@@ -13,7 +12,7 @@ import "orpc.idl";
[in] uint32 flags,
[in] MInterfacePointer *unk,
[in] MInterfacePointer *moniker,
- [out,ref] uint32 *rotid
+ [out] uint32 *rotid
);
WERROR rot_remove (
@@ -26,7 +25,7 @@ import "orpc.idl";
WERROR rot_get_interface_pointer (
[in] MInterfacePointer *moniker,
- [out,ref] MInterfacePointer *ip
+ [out] MInterfacePointer *ip
);
WERROR rot_set_modification_time (
@@ -36,7 +35,7 @@ import "orpc.idl";
WERROR rot_get_modification_time (
[in] MInterfacePointer *moniker,
- [out,ref] NTTIME *t
+ [out] NTTIME *t
);
WERROR rot_enum (
diff --git a/source4/librpc/idl/unixinfo.idl b/source4/librpc/idl/unixinfo.idl
index c674329e52..48bc565fff 100644
--- a/source4/librpc/idl/unixinfo.idl
+++ b/source4/librpc/idl/unixinfo.idl
@@ -16,28 +16,28 @@ import "security.idl";
/* Function: 0x00 */
NTSTATUS unixinfo_SidToUid (
[in] dom_sid sid,
- [out,ref] hyper *uid
+ [out] hyper *uid
);
/******************/
/* Function: 0x01 */
NTSTATUS unixinfo_UidToSid (
[in] hyper uid,
- [out,unique] dom_sid *sid
+ [out] dom_sid *sid
);
/******************/
/* Function: 0x02 */
NTSTATUS unixinfo_SidToGid (
[in] dom_sid sid,
- [out,ref] hyper *gid
+ [out] hyper *gid
);
/******************/
/* Function: 0x03 */
NTSTATUS unixinfo_GidToSid (
[in] hyper gid,
- [out,unique] dom_sid *sid
+ [out] dom_sid *sid
);
typedef struct {
diff --git a/source4/librpc/idl/winbind.idl b/source4/librpc/idl/winbind.idl
index ad66090401..a6b8173aef 100644
--- a/source4/librpc/idl/winbind.idl
+++ b/source4/librpc/idl/winbind.idl
@@ -9,10 +9,8 @@ import "netlogon.idl";
[
uuid("245f3e6b-3c5d-6e21-3a2d-2a3d645b7221"),
version(1.0),
- pointer_default(unique),
- pointer_default_top(unique)
+ pointer_default(unique)
]
-
interface winbind
{
declare [switch_type(uint16)] union netr_LogonLevel;
diff --git a/source4/librpc/idl/winreg.idl b/source4/librpc/idl/winreg.idl
index 2804b19964..00288640de 100644
--- a/source4/librpc/idl/winreg.idl
+++ b/source4/librpc/idl/winreg.idl
@@ -210,7 +210,7 @@ import "lsa.idl", "initshutdown.idl", "security.idl";
WERROR winreg_QueryInfoKey(
[in,ref] policy_handle *handle,
[in] winreg_String class_in,
- [out] winreg_String *class_out,
+ [out,unique] winreg_String *class_out,
[out,ref] uint32 *num_subkeys,
[out,ref] uint32 *max_subkeylen,
[out,ref] uint32 *max_subkeysize,
diff --git a/source4/librpc/idl/winsrepl.idl b/source4/librpc/idl/winsrepl.idl
index fb590d27c9..13432d86f6 100644
--- a/source4/librpc/idl/winsrepl.idl
+++ b/source4/librpc/idl/winsrepl.idl
@@ -11,10 +11,6 @@
import "nbt.idl";
-[
- pointer_default(unique),
- pointer_default_top(unique)
-]
interface wrepl
{
const int WINS_REPLICATION_PORT = 42;
diff --git a/source4/librpc/idl/winstation.idl b/source4/librpc/idl/winstation.idl
index 64860db717..fb02fa73df 100644
--- a/source4/librpc/idl/winstation.idl
+++ b/source4/librpc/idl/winstation.idl
@@ -6,8 +6,6 @@
[ uuid("5ca4a760-ebb1-11cf-8611-00a0245420ed"),
version(1.0),
- pointer_default(unique),
- pointer_default_top(unique),
helpstring("Terminal Services remote management")
] interface winstation
{
diff --git a/source4/torture/rpc/unixinfo.c b/source4/torture/rpc/unixinfo.c
index 567a85fd44..d6f1793644 100644
--- a/source4/torture/rpc/unixinfo.c
+++ b/source4/torture/rpc/unixinfo.c
@@ -25,8 +25,7 @@
#include "librpc/gen_ndr/ndr_unixinfo_c.h"
#include "libcli/security/security.h"
-
-/*
+/**
test the SidToUid interface
*/
static BOOL test_sidtouid(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
@@ -41,7 +40,7 @@ static BOOL test_sidtouid(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
status = dcerpc_unixinfo_SidToUid(p, mem_ctx, &r);
if (NT_STATUS_EQUAL(NT_STATUS_NONE_MAPPED, status)) {
} else if (!NT_STATUS_IS_OK(status)) {
- printf("UidToSid failed == %s\n", nt_errstr(status));
+ printf("SidToUid failed == %s\n", nt_errstr(status));
return False;
}
@@ -55,8 +54,10 @@ static bool test_uidtosid(struct torture_context *tctx,
struct dcerpc_pipe *p)
{
struct unixinfo_UidToSid r;
+ struct dom_sid sid;
r.in.uid = 1000;
+ r.out.sid = &sid;
torture_assert_ntstatus_ok(tctx, dcerpc_unixinfo_UidToSid(p, tctx, &r),
"UidToSid failed");
@@ -118,8 +119,10 @@ static BOOL test_gidtosid(struct torture_context *tctx, struct dcerpc_pipe *p)
{
NTSTATUS status;
struct unixinfo_GidToSid r;
+ struct dom_sid sid;
r.in.gid = 1000;
+ r.out.sid = &sid;
status = dcerpc_unixinfo_GidToSid(p, tctx, &r);
if (NT_STATUS_EQUAL(NT_STATUS_NO_SUCH_GROUP, status)) {