summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-03-07 02:14:38 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:10:59 -0500
commitd892500e733fa2c85f950b69f11546c0f037a25a (patch)
treed6fc1108c26b0f7fdfaf709393d8e2aaf0f188ef /source4
parentdd2aefd56b0968da8b1c4d055bc8c2f30382fb23 (diff)
downloadsamba-d892500e733fa2c85f950b69f11546c0f037a25a.tar.gz
samba-d892500e733fa2c85f950b69f11546c0f037a25a.tar.bz2
samba-d892500e733fa2c85f950b69f11546c0f037a25a.zip
r5676: Fix some alignment issues and IRemoteActivation
(This used to be commit a9b13f67012d235d98920e639f59411d57a79bd7)
Diffstat (limited to 'source4')
-rw-r--r--source4/lib/com/dcom/main.c10
-rw-r--r--source4/librpc/idl/orpc.idl5
-rw-r--r--source4/librpc/idl/remact.idl8
-rw-r--r--source4/torture/com/simple.c1
4 files changed, 20 insertions, 4 deletions
diff --git a/source4/lib/com/dcom/main.c b/source4/lib/com/dcom/main.c
index 853af4c739..7c9c3b4394 100644
--- a/source4/lib/com/dcom/main.c
+++ b/source4/lib/com/dcom/main.c
@@ -30,6 +30,16 @@
#define DCOM_NEGOTIATED_PROTOCOLS { EPM_PROTOCOL_TCP, EPM_PROTOCOL_SMB, EPM_PROTOCOL_NCALRPC }
+struct dcom_client_context *dcom_client_init(struct com_context *ctx, const char *domain, const char *user, const char *password)
+{
+ ctx->dcom = talloc(ctx, struct dcom_client_context);
+ ctx->dcom->domain = domain;
+ ctx->dcom->user = user;
+ ctx->dcom->password = password;
+
+ return ctx->dcom;
+}
+
static NTSTATUS dcerpc_binding_from_STRINGBINDING(TALLOC_CTX *mem_ctx, struct dcerpc_binding *b, struct STRINGBINDING *bd)
{
char *host, *endpoint;
diff --git a/source4/librpc/idl/orpc.idl b/source4/librpc/idl/orpc.idl
index 34ef41377b..0e407a4d13 100644
--- a/source4/librpc/idl/orpc.idl
+++ b/source4/librpc/idl/orpc.idl
@@ -99,7 +99,7 @@ interface ObjectRpcBaseTypes
/* DUALSTRINGARRAYS are the return type for arrays of network addresses, */
/* arrays of endpoints and arrays of both used in many ORPC interfaces */
- typedef [public] struct
+ typedef [public,flag(NDR_NOALIGN)] struct
{
uint16 wTowerId; /* Cannot be zero. */
nstring NetworkAddr;
@@ -107,9 +107,10 @@ interface ObjectRpcBaseTypes
const uint16 COM_C_AUTHZ_NONE = 0xffff;
- typedef [public] struct
+ typedef [public,flag(NDR_NOALIGN)] struct
{
uint16 wAuthnSvc; /* Cannot be zero. */
+ uint16 wAuthzSvc;
nstring PrincName;
} SECURITYBINDING;
diff --git a/source4/librpc/idl/remact.idl b/source4/librpc/idl/remact.idl
index ca1b228d4c..7a879e717f 100644
--- a/source4/librpc/idl/remact.idl
+++ b/source4/librpc/idl/remact.idl
@@ -21,7 +21,11 @@ interface IRemoteActivation
RPC_C_IMP_LEVEL_IMPERSONATE = 3,
RPC_C_IMP_LEVEL_DELEGATE = 4
} imp_levels;
-
+
+ typedef struct {
+ MInterfacePointer *ip;
+ } pMInterfacePointer;
+
const uint32 MODE_GET_CLASS_OBJECT = 0xffffffff;
WERROR RemoteActivation (
[in] ORPCTHIS this,
@@ -41,7 +45,7 @@ interface IRemoteActivation
[out] uint32 AuthnHint,
[out] COMVERSION ServerVersion,
[out] WERROR hr,
- [out,size_is(Interfaces)] MInterfacePointer *ifaces[],
+ [out,size_is(Interfaces)] pMInterfacePointer ifaces[],
[out,size_is(Interfaces)] WERROR results[]
);
}
diff --git a/source4/torture/com/simple.c b/source4/torture/com/simple.c
index 4eceb6a948..dfc3beff4e 100644
--- a/source4/torture/com/simple.c
+++ b/source4/torture/com/simple.c
@@ -39,6 +39,7 @@ static BOOL test_readwrite(TALLOC_CTX *mem_ctx, const char *host)
int i;
com_init(&ctx);
+ dcom_client_init(ctx, lp_parm_string(-1, "torture", "userdomain"), lp_parm_string(-1, "torture", "username"), lp_parm_string(-1, "torture", "password"));
GUID_from_string(COM_ISTREAM_UUID, &IID[0]);
GUID_from_string(COM_IUNKNOWN_UUID, &IID[1]);