r5676: Fix some alignment issues and IRemoteActivation
authorJelmer Vernooij <jelmer@samba.org>
Mon, 7 Mar 2005 02:14:38 +0000 (02:14 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:10:59 +0000 (13:10 -0500)
source/lib/com/dcom/main.c
source/librpc/idl/orpc.idl
source/librpc/idl/remact.idl
source/torture/com/simple.c

index 853af4c739897a40fcddcdac5b29beca979a2e07..7c9c3b4394962f41a5462247e369be1c54de59b4 100644 (file)
 
 #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;
index 34ef41377b951c5484aa0695d0c1f4efdd03b56f..0e407a4d13a9708a3dbc802b7a3bd17064080984 100644 (file)
@@ -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;
 
index ca1b228d4c08abacc0142c9651750f33facd2ae7..7a879e717fe30b0e0b37460b3ba0b5f904304141 100644 (file)
@@ -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[]
                        );
 }
index 4eceb6a948344040acbb3aeb1ee24abcb3ea19d7..dfc3beff4ef7c3e819c9c94c2b29495dc9cff333 100644 (file)
@@ -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]);