Author: jelmer
Date: 2004-11-02 19:52:51 +0000 (Tue, 02 Nov 2004)
New Revision: 3490

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=3490

Log:
All tests work against NT4 now

Modified:
   branches/SAMBA_4_0/source/librpc/idl/dcom.idl
   branches/SAMBA_4_0/source/librpc/idl/oxidresolver.idl
   branches/SAMBA_4_0/source/torture/rpc/oxidresolve.c
   branches/SAMBA_4_0/source/utils/ndrdump.c


Changeset:
Modified: branches/SAMBA_4_0/source/librpc/idl/dcom.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/dcom.idl       2004-11-02 17:38:11 UTC (rev 
3489)
+++ branches/SAMBA_4_0/source/librpc/idl/dcom.idl       2004-11-02 19:52:51 UTC (rev 
3490)
@@ -262,7 +262,8 @@
        typedef [public] struct 
        {
                uint32 size;
-               [subcontext(4)] OBJREF obj;
+               uint32 sizex;
+               [subcontext(4),align(1)] OBJREF obj;
        } MInterfacePointer;
 }
 
@@ -504,3 +505,19 @@
                [helpstring("method MakeCoffee")] HRESULT MakeCoffee(BSTR *flavor);
        }
 }
+
+[
+       object,
+       uuid("0000000C-0000-0000-C000-000000000046"),
+       helpstring("Stream")
+]
+interface IStream : IUnknown
+{
+       WERROR Read([in] uint32 num_requested, 
+                               [out,size_is(*num_read)] uint8 *data, 
+                               [out] uint32 *num_read);
+
+       WERROR Write([in,size_is(num_requested)] uint8 *data,
+                                [in] uint32 num_requested,
+                                [out] uint32 *num_written);
+}

Modified: branches/SAMBA_4_0/source/librpc/idl/oxidresolver.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/oxidresolver.idl       2004-11-02 17:38:11 
UTC (rev 3489)
+++ branches/SAMBA_4_0/source/librpc/idl/oxidresolver.idl       2004-11-02 19:52:51 
UTC (rev 3490)
@@ -29,17 +29,13 @@
        /* Method to get the protocol sequences, string bindings */
        /* and machine id for an object server given its OXID. */
 
-       typedef [public] struct {
-               DUALSTRINGARRAY *ppdsaOxidBindings;
-       } ppdsaOxidBindingsArray;
-
        [idempotent] WERROR ResolveOxid (
-                [in] OXID *pOxid,
+                [in] OXID pOxid,
                 [in] uint16 cRequestedProtseqs,
                 [in, size_is(cRequestedProtseqs)] uint16 arRequestedProtseqs[],
-                [out, ref] ppdsaOxidBindingsArray *ppdsaOxidBindings,
-                [out, ref] IPID *pipidRemUnknown,
-                [out, ref] uint32 *pAuthnHint
+                [out] DUALSTRINGARRAY *ppdsaOxidBindings,
+                [out] IPID pipidRemUnknown,
+                [out] uint32 pAuthnHint
                         );
 
        /* Simple ping is used to ping a Set. Client machines use this */
@@ -55,15 +51,16 @@
        /* whole set can subsequently be pinged using SimplePing, */
        /* thus reducing network traffic. */
        [idempotent] WERROR ComplexPing (
-               [in, out, ref] SETID *SetId, /* In of 0 on first call for new set. */
-                [in] uint16 SequenceNum,
-                [in] uint16 cAddToSet,
-                [in] uint16 cDelFromSet,
+               [in] SETID *SetId, /* In of 0 on first call for new set. */
+               [out] SETID SetId,
+               [in] uint16 SequenceNum,
+               [in] uint16 cAddToSet,
+               [in] uint16 cDelFromSet,
                /* add these OIDs to the set */
-                [in, size_is(cAddToSet)] OID AddToSet[],
+               [in, size_is(cAddToSet)] OID AddToSet[],
                /*remove these OIDs from the set */
-                [in, size_is(cDelFromSet)] OID DelFromSet[],
-               [out] uint16 pPingBackoffFactor/* 2^factor = multipler */
+               [in, size_is(cDelFromSet)] OID DelFromSet[],
+               [out] uint16 PingBackoffFactor/* 2^factor = multipler */
                         );
 
        /* In some cases the client maybe unsure that a particular */
@@ -79,16 +76,15 @@
        /* version 5.2 and above. Looks like that means 
         * Windows 2003/XP and above */
        [idempotent] WERROR ResolveOxid2 (
-                                                                                      
   [in] OXID *pOxid,
+                                                                                      
   [in] OXID pOxid,
                                                                                       
   [in] uint16 cRequestedProtseqs,
-                                                                                      
   [in, size_is(cRequestedProtseqs)]
-                                                                                      
   uint16 arRequestedProtseqs[],
-                                                                                      
   [out, ref] ppdsaOxidBindingsArray *ppdsaOxidBindings,
-                                                                                      
   [out, ref] IPID *pipidRemUnknown,
-                                                                                      
   [out, ref] uint32 *pAuthnHint,
-                                                                                      
   [out, ref] COMVERSION *pComVersion
+                                                                                      
   [in, size_is(cRequestedProtseqs)] uint16 arRequestedProtseqs[],
+                                                                                      
   [out] DUALSTRINGARRAY *pdsaOxidBindings,
+                                                                                      
   [out] IPID ipidRemUnknown,
+                                                                                      
   [out] uint32 AuthnHint,
+                                                                                      
   [out] COMVERSION ComVersion
                                                                                       
  );
-                                                                                      
  typedef struct {
+       typedef struct {
                COMVERSION version;
                uint32 unknown1;
        } COMINFO;

Modified: branches/SAMBA_4_0/source/torture/rpc/oxidresolve.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/oxidresolve.c 2004-11-02 17:38:11 UTC (rev 
3489)
+++ branches/SAMBA_4_0/source/torture/rpc/oxidresolve.c 2004-11-02 19:52:51 UTC (rev 
3490)
@@ -150,7 +150,7 @@
        NTSTATUS status;
        uint16 protseq[2] = { EPM_PROTOCOL_TCP, EPM_PROTOCOL_SMB };     
 
-       r.in.pOxid = &oxid;
+       r.in.pOxid = oxid;
        r.in.cRequestedProtseqs = 2;
        r.in.arRequestedProtseqs = protseq;
 
@@ -189,7 +189,7 @@
                return 0;
        }
        
-       printf("Remote server versions: %d, %d\n", r.out.pComVersion->MajorVersion, 
r.out.pComVersion->MinorVersion);
+       printf("Remote server versions: %d, %d\n", r.out.ComVersion.MajorVersion, 
r.out.ComVersion.MinorVersion);
 
        return 1;
 }

Modified: branches/SAMBA_4_0/source/utils/ndrdump.c
===================================================================
--- branches/SAMBA_4_0/source/utils/ndrdump.c   2004-11-02 17:38:11 UTC (rev 3489)
+++ branches/SAMBA_4_0/source/utils/ndrdump.c   2004-11-02 19:52:51 UTC (rev 3490)
@@ -216,7 +216,7 @@
        pr = talloc_p(NULL, struct ndr_print);
        pr->print = ndr_print_debug_helper;
        pr->depth = 1;
-       f->ndr_print(pr, function, flags | NDR_IN, st);
+       f->ndr_print(pr, function, flags, st);
 
        if (!NT_STATUS_IS_OK(status) ||
            ndr->offset != ndr->data_size) {

Reply via email to