Commit Graph

250 Commits

Author SHA1 Message Date
Rob Shearman 0871ab9130 rpcrt4: Implement encapsulated union NDR functions. 2007-06-18 13:58:09 +02:00
Andrew Talbot d5d056ef75 rpcrt4: Exclude unused headers. 2007-05-18 14:11:22 +02:00
Andrew Talbot 67813450b9 rpcrt4: Replace inline static with static inline. 2007-03-23 12:29:52 +01:00
Rob Shearman b6d8b27be5 rpcrt4: The format structures used in the marshaling code should have 1-byte alignment. 2007-02-12 15:20:52 +01:00
Huw Davies e3abd2b3ff rpcrt4: Implement NdrSimpleType{Marshall,Unmarshall}. 2007-01-24 11:59:01 +01:00
Francois Gouget 5962cf6e4f rpcrt4: Add some stub documentation headers to make winapi_check happy.
Also fix some headers that identified internal APIs as external.
2006-11-13 13:00:53 +01:00
Michael Stefaniuc de21efbadd rpcrt4: Win64 printf format warning fixes. 2006-11-10 11:31:59 +01:00
Michael Stefaniuc 718f3c3505 rpcrt4: More "unsigned long" to "ULONG" changes in preparation of the removal of WINE_NO_LONG_AS_INT. 2006-11-10 11:31:45 +01:00
Michael Stefaniuc 0628fb5098 rpcrt4/ndr_marshall.c: Bring the function definitions in sync with their declaration.
Those got out of sync due to the unsigned long to ULONG migration in the headers.
2006-11-10 11:31:26 +01:00
Andrew Talbot 7147f79153 rpcrt4: Cast-qual warnings fix. 2006-09-26 11:40:33 +02:00
Huw Davies 59be6e0600 rpcrt4: Remember to skip over the conformance description. 2006-08-18 11:34:26 +02:00
Phil Lodwick dd000074fe rpcrt4: Support for SMVARRAY in EmbeddedComplexSize. 2006-07-25 11:31:59 +02:00
Robert Shearman 5700fe8a61 rpcrt4: Set BufferMark before calling EmbeddedPointerMarshall, EmbeddedPointerUnmarshall or EmbeddedPointerMemorySize. 2006-07-24 13:47:40 +02:00
Robert Shearman a8531067c4 rpcrt4: Support small fixed arrays in EmbeddedComplexSize. 2006-07-24 13:47:31 +02:00
Robert Shearman 4c4fc14fe9 rpcrt4: Allocate memory based on MaxCount, not ActualCount in NdrConformantStringUnmarshall. 2006-07-24 13:47:25 +02:00
Robert Shearman 98c26a81fe rpcrt4: Add support for marshaling the FC_HYPER base type in complex types.
Change the FIXME messages to print out unrecognised format characters in 
hex rather than decimal.
2006-07-24 13:47:13 +02:00
Robert Shearman 9318cb0fbc rpcrt4: Handle more structure padding values. 2006-07-18 11:12:47 +02:00
Robert Shearman 2cb3b22c26 rpcrt4: Fix Variance Callback Functions.
A callback function for computing the variance puts the computed value 
into the same field as a conformance, so make sure to copy the value 
into pCount before returning from ComputeConformanceOrVariance.
2006-07-14 12:38:53 +02:00
Michael Stefaniuc 00e779370f janitorial: Put "inline static" at the beginning of a declaration. 2006-07-07 14:30:35 +02:00
Huw Davies 85ed9a5905 rpcrt4: Don't advance the buffer for FC_STRUCTPAD2. 2006-07-05 11:44:19 +02:00
Robert Shearman 35982d72f5 rpcrt4: Initialise pStubMsg->MemorySize to zero before calling
ComplexStructMemorySize from NdrComplexArrayUnmarshall.
2006-06-12 13:21:46 +02:00
Robert Shearman 539b48bff4 rpcrt4: Use safe_mutiply in conformant array functions. 2006-06-12 13:21:46 +02:00
Robert Shearman 8dea3c2aa8 rpcrt4: Pass in a maximum variance value to ReadVariance to allow us
to validate the conformance values being read from the wire.
2006-06-12 13:21:46 +02:00
Robert Shearman 613ee6d01c rpcrt4: Check that strings are null-terminated on unmarshaling of conformant-varying structs. 2006-06-12 13:21:46 +02:00
Robert Shearman a946eb420b rpcrt4: Use safe_multiply when multiplying anything by pStubMsg->ActualCount or pStubMsg->MaxCount. 2006-06-12 13:21:46 +02:00
Robert Shearman cec6092aa2 rpcrt4: Raise an exception during unmarshaling if a conformant string isn't null-terminated. 2006-06-12 13:21:46 +02:00
Robert Shearman 6e95bfe85a rpcrt4: Introduce a new function, safe_multiply, which will raise an
exception if a multiply overflows a 4-byte integer.

This will protect the unmarshaling code against attacks specifying a 
large variance.
Use this new function in the conformant string functions to harden them 
against attack.
2006-06-12 13:20:30 +02:00
Robert Shearman d98b73a17a rpcrt4: Clear an object pointer during unmarshaling, otherwise we
could end up using the previously allocated memory even if it isn't
the right size, causing heap corruption.
2006-06-09 21:07:57 +02:00
Robert Shearman 578df90d6d rpcrt4: Initialise pStubMsg->MemorySize to zero before calling ComplexStructMemorySize from NdrComplexArrayUnmarshall. 2006-06-09 21:07:44 +02:00
Robert Shearman 21673d03f9 rpcrt4: Implement more base types for complex types. 2006-06-09 21:07:22 +02:00
Robert Shearman c9779ca16b rpcrt4: Implement varying array NDR functions. 2006-06-05 13:25:09 +02:00
Robert Shearman cd19c99284 rpcrt4: Don't call NdrBaseTypeMemorySize from within NdrBaseTypeUnmarshall. 2006-06-05 13:24:54 +02:00
Robert Shearman a48433453b rpcrt4: The lifetime of the binding handle stored in the context
handle is independent of the binding handle used in the call that
unmarshaled it, so we should use RpcBindingCopy to make a copy of it
and then call RpcBindingFree later to free it.
2006-06-03 11:42:25 +02:00
Robert Shearman a4fff73ba3 rpcrt4: Fix an incorrect format string pointer being passed in to
ComputeVariance in NdrConformantVaryingStructBufferSize.
2006-06-03 11:42:13 +02:00
Robert Shearman da44126395 rpcrt4: Align the buffer correctly when marshaling and unmarshaling context handles. 2006-06-03 11:41:51 +02:00
Robert Shearman ec5b3c3ea6 rpcrt4: Freeing a NULL context handle is allowed. 2006-06-03 11:41:42 +02:00
Robert Shearman 1a346a4a13 rpcrt4: NdrClientContextMarshall/Unmarshall should both increment the buffer pointer. 2006-06-03 11:41:33 +02:00
Robert Shearman dc6c640cd2 rpcrt4: Fix the unmarshaling of pointers in conformant varying arrays,
by passing the correct type format string to ReadConformance.
2006-06-03 11:41:22 +02:00
Robert Shearman 972ce2f635 rpcrt4: CContext can be NULL in NDRCContextMarshall, in which case we should marshall all-zeros. 2006-06-03 11:41:07 +02:00
Robert Shearman 678ad6286c rpcrt4: Fix the pointer count used when handling embedded pointers in varying arrays. 2006-06-03 11:40:45 +02:00
Mike McCormack 7f98594f75 rpcrt4: Implement NDRCContext(Un)marshall and NDRCContextBinding. 2006-06-01 11:48:33 +02:00
Huw Davies bb835ae438 rpcrt4: Add ENUM32 support to ComplexStructMemorySize. 2006-05-31 15:48:11 +02:00
Robert Shearman 115525f3c4 rpcrt4: Make UserMarshalFlags static. 2006-05-30 12:25:22 +02:00
Robert Shearman df57b025c6 rpcrt4: We should never pass an fMustAlloc value of TRUE into the
unmarshaler routines of embedded complexes in complex struct and array
unmarshaling.

Fixes a regression caused by commit
19fad8e710, reported by Ulrich
Dobramysl.
2006-05-30 12:25:17 +02:00
Robert Shearman cafd2ab37e rpcrt4: Make sure to set a unique pointer with an id of 0 to NULL when unmarshaling. 2006-05-30 12:25:03 +02:00
Robert Shearman ff9fd9c430 rpcrt4: Handle marshaling/unmarshaling full pointers. 2006-05-30 12:24:41 +02:00
Mike McCormack a534fdec32 rpcrt4: Implement NdrClientContext(Un)Marshall. 2006-05-26 20:21:00 +02:00
Robert Shearman 013d00f094 rpcrt4: Even though FC_DEREFERENCE conformance is handled elsewhere in
ComputeConformanceOrVariance it is still necessary to set the count
variable to the value retrieved.
2006-05-26 20:15:49 +02:00
Mike McCormack 42bf8254c0 rpcrt4: Stub implementations for NDRS marshalling functions. 2006-05-25 10:45:01 +02:00
Robert Shearman ec2a9cef3a rpcrt4: Set the Memory field of the stub message structure to the
start of the memory that an embedded pointer is embedded in so that
FC_POINTER conformance works correctly.
2006-05-25 10:40:35 +02:00
Mike McCormack 4def9cc022 rpcrt4: Add stub implementations for NDRCContext(Un)Marshall. 2006-05-24 14:38:14 +02:00
Huw Davies 69d18c48b1 rpcrt4: Add another static. 2006-05-23 17:51:44 +02:00
Huw Davies 9ba57efc18 rpcrt4: Fix some comments and move the NdrSimpleType* functions out from amongst the NdrSimpleStruct* ones. 2006-05-23 17:51:19 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman 9c885c9185 rpcrt4: We don't need to free object pointers if we are told we must allocate. 2006-05-20 17:37:25 +02:00
Robert Shearman a2767e8d71 rpcrt4: Use macros to generate the code for unmarshaling base types. 2006-05-20 17:37:13 +02:00
Robert Shearman 19fad8e710 rpcrt4: Don't set the memory pointer to NULL before calling PointerUnmarshall.
Call it with fMustAlloc set to TRUE instead to achieve the same result
without side-effects.
2006-05-20 17:36:42 +02:00
Robert Shearman 87ecf526b3 rpcrt4: Make more internal functions static. 2006-05-20 17:36:15 +02:00
Huw Davies f151ecb0d1 rpcrt4: Use IsClient to determine whether we can use the Buffer memory or not.
Add simple struct tests.
2006-05-20 14:03:56 +02:00
Robert Shearman a2d2d4db63 rpcrt4: Update the todo lists and copyrights. 2006-05-20 14:02:24 +02:00
Robert Shearman 855535af62 rpcrt4: Handle interface pointers in EmbeddedComplexSize. 2006-05-18 10:35:16 +02:00
Robert Shearman c1d00c547b rpcrt4: Implement NdrNonEncapsulatedUnionMemorySize. 2006-05-18 10:34:21 +02:00
Robert Shearman 62bbaf70b3 rpcrt4: Fix the wire protocol of the user marshal functions to match MS/RPC. 2006-05-18 10:34:09 +02:00
Robert Shearman 4fae04b2f5 rpcrt4: Fix NdrConformantArrayMemorySize. 2006-05-18 10:33:39 +02:00
Robert Shearman c4fbad1d11 rpcrt4: Implement NdrUserMarshalMemorySize. 2006-05-18 10:33:00 +02:00
Huw Davies effac656bb rpcrt4: Don't update StubMsg->MemorySize while unmarshaling.
Add a bunch of marshaling tests (based on a program by Rob Shearman).
2006-05-17 21:46:43 +02:00
Robert Shearman 45ee17899a rpcrt4: Make some functions that aren't used outside of the file static. 2006-05-17 21:01:02 +02:00
Robert Shearman b52ae402ad rpcrt4: Fill out more of the function tables with functions that already exist. 2006-05-17 21:00:42 +02:00
Robert Shearman ecd3780cc0 rpcrt4: Raise an exception if there is no default handler for a union. 2006-05-17 21:00:35 +02:00
Robert Shearman 0f7e4a877a rpcrt4: Implement fixed array functions. 2006-05-16 12:51:30 +02:00
Robert Shearman c27db4cde6 rpcrt4: Remove the BUFFER_PARANOIA overestimates for string memory sizes. 2006-05-16 12:51:19 +02:00
Robert Shearman 4c0b0e0069 rpcrt4: Implement computing of conformance from a correlation descriptor for conformant strings. 2006-05-16 12:51:09 +02:00
Robert Shearman 124acc9b67 rpcrt4: Fix conformant varying structs to comply to the DCE/RPC spec. 2006-05-16 12:50:54 +02:00
Robert Shearman e6120f2029 rpcrt4: Don't duplicate the conformance calculating code, just use the
common ComputeConformance function to store the result in
pStubMsg->MaxCount (as this is what callback function store the
conformance value into anyway).
2006-05-16 12:50:42 +02:00
Robert Shearman ecdd09b1b2 rpcrt4: Implement conformant varying struct functions. 2006-05-16 12:50:27 +02:00
Robert Shearman 63aaf8dbd7 rpcrt4: Implement more conformance operations and more types. 2006-05-16 12:50:19 +02:00
Robert Shearman b96d630022 rpcrt4: Implement NdrSimpleStructMemorySize. 2006-05-15 16:08:45 +02:00
Robert Shearman 2aff761dfd rpcrt4: Fix the conformant struct functions to not call conformant array functions.
The conformance has to be the first thing in the buffer, in accordance 
with the DCE/RPC spec and to be compatible with the pointer layout 
format strings that MIDL generates.
2006-05-15 16:08:36 +02:00
Robert Shearman 4af0a6b805 rpcrt4: In NdrConformantBufferSize, SizeConformance should be called, not SizeVariance. 2006-05-15 16:08:28 +02:00
Robert Shearman 2479aec4af rpcrt4: Save pStubMsg->ActualCount in a local variable in the complex
array functions, before calling a function that could change it and
cause the wrong number of loop iterations.
2006-05-15 16:08:19 +02:00
Robert Shearman 345c92643e rpcrt4: Dereference the memory for pointers in NdrNonEncapsulatedUnionUnmarshall.
Pointers in a non-encapsulated union behave like embedded pointers, so 
don't rely on the NdrPointer* functions doing the right thing in this 
case and call the Pointer* functions directly.
2006-05-15 16:08:04 +02:00
Robert Shearman f0aea2d5ee rpcrt4: Rename ComplexStructSize to ComplexStructMemorySize to reflect the fact that it increments the buffer.
Replace the code in EmbeddedComplexSize that sizes non-encapsulated 
unions without using a memory sizer routine, since this function 
shouldn't touch the buffer.

Add a new function EmbeddedComplexMemorySize and use it in some memory 
sizer routines where EmbeddedComplexSize was previously used.
2006-05-15 16:07:54 +02:00
Robert Shearman 788ce20dea rpcrt4: Fix embedded pointers in arrays by taking into account the iteration when calculating the appropriate memory and buffer pointers. 2006-05-15 16:07:42 +02:00
Robert Shearman 07d032b24b rpcrt4: The arm type mask should be comparing the highest byte against 0x80, as documented on MSDN.
Fix base type arm handling on little-endian machines, as the current
code would always pass in the address to the format char of 0x80
instead of the base type format char.
2006-05-15 14:07:59 +02:00
Robert Shearman 5cdfeeeed3 rpcrt4: Make ComplexStructSize increment the buffer. 2006-05-15 14:07:36 +02:00
Robert Shearman 3e988bfc4f rpcrt4: Pass in the buffer value before incrementing to PointerMarshall in NdrPointerMarshall. 2006-05-15 14:07:25 +02:00
Robert Shearman 22bf15049c rpcrt4: Implement NdrComplexStructMemorySize. 2006-05-15 14:07:13 +02:00
Robert Shearman cedbddbfde rpcrt4: Implement NdrComplexArrayMemorySize. 2006-05-15 14:06:55 +02:00
Robert Shearman 628c5e9baf rpcrt4: The NDR memory sizing functions should increment the buffer pointer, so make sure to save it before calling one of these and restore it afterwards. 2006-05-15 14:06:41 +02:00
Robert Shearman dcd0a39d4c rpcrt4: Make NdrBaseTypeMemorySize increment the buffer and memory size fields of MIDL_STUB_MESSAGE. 2006-05-15 14:06:31 +02:00
Robert Shearman 4d65110b90 rpcrt4: Make NdrConformantStringUnmarshall use the new Read{Variance,Conformance}
functions and adapt them to be callable without having a correlation
descriptor.
2006-05-15 14:06:05 +02:00
Robert Shearman ababfdef82 rpcrt4: Use the buffer passed in as an argument and don't increment
the buffer in the MIDL_STUB_MESSAGE in the inner pointer
marshalling/unmarshalling routines as these can be used for embedded
pointers, which handle the allocating or finding of the buffer
themselves. Do the incrementing in the outer
NdrPointerMarshall/Unmarshall/BufferSize routines instead.
2006-05-10 19:26:10 +02:00
Robert Shearman c3a087eb45 rpcrt4: Align conformances and variances correctly, according the the DCE/RPC spec. 2006-05-10 19:25:45 +02:00
Robert Shearman 265045d251 rpcrt4: Move the writing and sizing of variances and conformances to common functions. 2006-05-10 19:25:37 +02:00
Robert Shearman 4b4192f3a5 rpcrt4: Correctly align the buffer to read/write array data to. 2006-05-10 19:25:26 +02:00
Robert Shearman 95d79e2c58 rpcrt4: Correctly align the buffer before reading/writing structure data. 2006-05-10 19:25:16 +02:00
Robert Shearman 5616c4150c rpcrt4: Rename NonEncapsulatedUnionSize to NdrNonEncapsulatedUnionMemorySize. 2006-05-10 19:25:06 +02:00
Robert Shearman 75fe824e89 rpcrt4: Remove unintuitive requirement to pass the required alignment boundary minus one into the alignment macros. 2006-05-10 19:24:50 +02:00
Robert Shearman 772eb9bdf9 rpcrt4: Implement NdrConformantVaryingArrayFree. 2006-05-07 10:03:01 +02:00
Robert Shearman b43e799486 rpcrt4: Dereference the pointer if necessary only after doing the
pointer checks and writing the pointer ID to the wire.
2006-05-07 10:02:05 +02:00
Robert Shearman 9519004b1a rpcrt4: Improve the traces in the pointer functions. 2006-05-07 10:01:37 +02:00
Huw Davies b1d5158980 rpcrt4: Support for non-encapsulated unions. 2006-05-05 16:55:49 +02:00
Robert Shearman 0ced865aa1 rpcrt4: Don't apply the offset to the pointer passed to callback conformance functions. 2006-04-20 15:12:20 +02:00
Robert Shearman 8d36337644 rpcrt4: Free all pointers by default, except for conformant strings.
Free all pointers by default, except for conformant strings.
Conformant arrays should always be freed.
Add FC_CVARRAY to list of known types to avoid a FIXME.
2006-04-20 15:12:07 +02:00
Dmitry Timoshkov 590f6faee1 rpcrt4: Constify NDR function tables. 2006-04-14 19:36:09 +02:00
Robert Shearman e8877ede80 rpcrt4: Implement marshaling and unmarshaling for enum types. 2006-03-01 19:53:35 +01:00
Robert Shearman 5b629e9509 rpc: Skip over the right number of bytes in new correlation descriptors.
Skip over 6 bytes of the format descriptor if new correlation
descriptors are being used, instead of 4.
2006-01-20 16:15:11 +01:00
Robert Shearman 68b9225022 rpcrt4: Clear the newly allocated memory used for complex arrays and structs. 2006-01-18 11:29:50 +01:00
Robert Shearman 1926b6da63 rpcrt4: Improve ReadVariance.
Extend ReadVariance to read the offset as well as the actual count,
since these always come in pairs.
Handle the variance not being present in ReadVariance and always call
it from the unmarshalling functions to simplify the code there and
also to fix a bug where the format pointer wasn't advanced properly
for complex arrays (introduced in the previous patch when implementing
variance).
2006-01-09 17:21:01 +01:00
Robert Shearman 2e875d5d35 rpcrt4: Validate complex array format string.
Verify that the format string being passed into the complex array
functions is a complex array one.
2006-01-09 17:20:19 +01:00
Robert Shearman c96e102fff rpcrt4: Compute variance for complex arrays 2006-01-06 21:07:27 +01:00
Robert Shearman 03060551d6 rpcrt4: Implement callback conformance. 2006-01-03 12:07:17 +01:00
Robert Shearman 552f18211d Fix the overflow check to not depend on pStubMsg->BufferStart and
pStubMsg->BufferEnd being valid, because they aren't filled in when
using MIDL-generated server stubs.
Don't set the pointer to NULL on unmarshaling because we may want to
unmarshal the value to an existing pointer instead of allocating a new
one.
2005-11-29 10:41:17 +01:00
Robert Shearman d9896dec47 Implement conformant varying array functions. 2005-11-28 11:30:32 +01:00
Robert Shearman bc16c66736 Implement conformant struct functions. 2005-11-28 11:30:12 +01:00
Robert Shearman d42ff35087 Implement FC_STRUCTPAD2 for complex types. 2005-11-28 11:28:45 +01:00
Robert Shearman 5ed6dc2c1b Add functions for marshaling base types (ints, floats, etc.). 2005-11-28 11:24:21 +01:00
Robert Shearman fc17683f7d Extend conformance computation function to also compute variances.
MSDN suggests that conformance and variance are pretty much the same,
but there may be some subtleties to it.
2005-11-28 11:16:44 +01:00
Robert Shearman b73a4a9528 Fix NdrConformantArrayBufferSize to include the size of the
conformance value.
Make NdrConformantArrayMemorySize do something more useful, like
actually return the required memory.
Conformance offset can be negative and should only be two bytes.
2005-11-28 10:58:40 +01:00
Robert Shearman a1758ed6e0 We should always allocate in NdrConformantStringUnmarshal if the
memory pointer is NULL.
2005-11-28 10:39:10 +01:00
Huw Davies c7462e431f Marshal enums. 2005-10-31 21:05:00 +00:00
Ge van Geldorp 94dc00c558 Fix NdrServerContextMarshall prototype. 2005-09-08 11:02:38 +00:00
Robert Shearman 0aef679535 - Implement most of the details around unmarshalling of an object
pointer.
- Fix allocation scheme in NdrConformantArrayUnmarshal to allocate if
  *ppMemory is NULL, like complex struct and user type unmarshalling.
2005-09-02 11:19:26 +00:00
Mike McCormack 4a5378efcd Fix some gcc 4.0 warnings. 2005-08-30 08:56:35 +00:00
Robert Shearman 037bbdaf24 Add stubs for NdrMapCommAndFaultStatus, conformant string marshaling
and context handle functions.
2005-08-03 14:55:57 +00:00
Robert Shearman 8c02f6367e Add stubs for most of the NDR marshaling functions. 2005-07-18 13:14:05 +00:00
Robert Shearman acbb3f2f8d - Improve tracing.
- Implement FC_UP and partially FC_OP.
- Don't needlessly marshal 4 bytes in NdrPointer*.
2005-06-01 11:04:03 +00:00
Alexandre Julliard d0ee9f9309 Avoid spaces before preprocessor directives, that's not portable. 2005-03-02 12:23:20 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Ove Kaaven a3f6bb8294 Implemented "dereference" pointer flag.
Added NdrClearOutParameters stub.
2003-05-20 02:17:49 +00:00
Alexandre Julliard 056e4197f9 Added a few stubs needed by the generated oaidl_p.c. 2003-04-26 02:12:14 +00:00
Ove Kaaven cf2dea09af NDR marshalling fixes. 2003-02-17 01:48:24 +00:00
Marcus Meissner e1c7202716 Fixed undefined operation compiler warning. 2003-02-11 22:20:24 +00:00
Ove Kaaven 0e85f48f9d Implemented marshalling of pointers, simple and complex structures,
conformant and complex arrays, and user-marshalled types.
Improved marshalling of conformant strings and interface pointers a
bit.
2003-02-01 00:44:51 +00:00
Ove Kaaven 1f5315c80f Make sure that no files except unknwn.h include wine/obj_base.h
directly.
2002-12-05 20:33:07 +00:00
Greg Turner d4730de333 Fix stupid clone of broken macro, found by Marcus. 2002-11-01 01:47:04 +00:00
Greg Turner f71a83a1e9 - Use appropriate per-platform NDR_LOCAL Data Representation.
- Minor housekeeping changes.
2002-10-31 23:35:46 +00:00
Greg Turner 3eafbfcd56 - Fix offset bug in the conformant string unmarshall routine.
- Fix discrepancy between headers and implementation of
  I_RpcBindingSetAsync when compiling under WINNT.
- Eliminate race conditions in the relationship between "listen_count"
  and "std_listen" in rpc_server.h.
- Code-stubs for RpcServerUnregisterIf, RpcServerUnregisterIfEx.
- Attempt to implement RpcMgmtStopServerListening (definitely not
  happy just yet).
- RpcServerUnregisterIfEx wasn't xp-sepcific after all; this leads me to
  suspect there are more such mistakes in the spec-file comments, but I
  haven't looked into it or fixed them yet (coming soon).
- Cleanups, trace-enhancements, etc.
2002-10-31 22:45:12 +00:00
Greg Turner dc3e6c571b Rename the *_32_READ macros to *_UINT32_READ for clarity. 2002-10-31 22:04:08 +00:00
Marcus Meissner f99c03b972 Fixed LITTLE_ENDIAN_32_READ macro to at least compile. 2002-10-30 20:26:51 +00:00
Greg Turner 70bb478134 - more comments and comment-cleanup
- attempt to implement NdrConformantStringMemorySize
- fix NdrConformantStringUnMarshall
- w00t!
2002-10-29 23:07:33 +00:00
Greg Turner 7ac58a4dc9 - Pull the buffer from the rpc message into the midl stub message
during RpcServerInitializeNew.
- Attempt to implement NdrConformantStringUnmarshall.
- More assertions.
- Comments and cleanups.
2002-10-28 23:53:23 +00:00
Greg Turner a215f6b21a - Clean up and add some comments.
- Add NDR Data representation constants.
- Propagate DataRepresentation into and out of packet headers.
- Implement NdrServerInitializeNew
2002-10-28 21:14:16 +00:00
Greg Turner 6abd817d8e - Distinguish between actual paranoia and meaningful buffer space.
- No need to #undef BUFFER_PARANOIA here.
2002-10-28 20:40:59 +00:00
Greg Turner fc55077e52 - Clean up and enhance some traces.
- Stubs for NdrConvert, NdrConvert2, and NdrServerInitializeNew.
2002-10-28 20:07:01 +00:00
Greg Turner c36d63f436 Fix endianness dependency in the (there is only one :) ) marshall
function.
2002-10-28 18:47:41 +00:00
Greg Turner 461708c142 - Use memset instead of ZeroMemory, just to be consistent with Ove's
code.
- Add some assertions where assumptions are made (need way more).
- Plug the binding handle into the RPC_MESSAGE during NdrGetBuffer.
- Implement NdrSendReceive.
- Attempt to support client and server bindings in I_RpcSend[Receive].
2002-10-25 21:02:02 +00:00
Greg Turner 4a37d84a9d - Make explicit some missing include dependencies.
- Implement NdrGetBuffer, NdrFreeBuffer, NdrConformantStringBufferSize
  and NdrConformantStringMarshall.
- Define the RPC_FC_C_CSTRING constant.
- Perhaps I don't want those MIDL_*_FORMAT_STRING structs, after
  all. Removed.
- Add RPC todo list.
- MIDL_STUB_MESSAGE.uFlags aren't.
- Comment out the NdrClientCall2 mock-up since that stuff is in the
  process of being implemented and might cause problems.
2002-10-25 19:03:43 +00:00
Greg Turner 0e2bec0e70 - Use Ove-style macros for NdrConformantStringMarshall definition.
- Move NdrConformantStringMarshall to new ndr_marshall.c.
- Stubs for NdrConformantStringBufferSize,
  NdrConformantStringMemorySize, and NdrConformantStringUnmarshall.
2002-10-22 00:41:17 +00:00