Robert Shearman
d2cb9ec567
rpcrt4: Display a big message box if the user tries to use typelib
...
marshaling in native oleaut32 with builtin rpcrt4 to tell them what is
wrong.
2006-07-18 11:13:36 +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
Robert Shearman
a02034a609
rpcrt4: Add the threading model and a description when registering a CLSID for the PSFactoryBuffer.
2006-07-14 12:38:48 +02:00
Robert Shearman
2538490d0b
rpcrt4: Add a stub for I_RpcMapWin32Status.
2006-07-13 16:25:33 +02:00
Alexandre Julliard
eb8a40c368
libs: Merged libwine_unicode into libwine.
...
Most dlls use libwine_unicode at this point, so there's nothing to
gain by having two separate libraries.
2006-07-11 19:33:22 +02:00
Alexandre Julliard
0fa8baafcb
make_dlls: Recursively ignore .ok files in all tests directories.
2006-07-10 21:26:50 +02:00
Alexandre Julliard
edd100b899
make_dlls: Recursively ignore testlist.c in all tests directories.
2006-07-10 21:19:42 +02:00
Alexandre Julliard
5258e061dc
make_dlls: Ignore generated import libraries from the top-level .gitignore.
2006-07-10 20:55:58 +02:00
Alexandre Julliard
cc2b3b48e6
Take advantage of the recursive nature of .gitignore for Makefile entries.
...
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +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
e7df38c27f
rpcrt4: Add a stub for RpcMgmtSetServerStackSize.
2006-06-30 20:43:53 +02:00
Huw Davies
93fb9d10f5
rpcrt4: Calculate size of FC_STRUCT arguments correctly.
2006-06-26 12:36:10 +02:00
Robert Shearman
7d92b89abf
rpcrt4: Stubs for RpcRevertToSelf and RpcMgmtSetComTimeout.
2006-06-21 13:39:52 +02:00
Robert Shearman
45d42528a0
rpcrt4: Add stub for RpcMgmtEnableIdleCleanup.
2006-06-21 13:39:38 +02:00
Huw Davies
3a56eca1c7
rpcrt4: Don't use a short to hold the packet length, since it can
...
result in premature termination of the send.
2006-06-20 20:35:38 +02:00
Robert Shearman
0da8836ff7
rpcrt4: Move the packet manipulation from the exception filter to the exception handler.
...
Remove the unused server_sem variable.
2006-06-19 23:04:19 +02:00
Robert Shearman
1437f8bd8c
rpcrt4: Use the thread pool in the RPC server for processing packets.
2006-06-19 10:28:50 +02:00
Huw Davies
26c2953e58
rpcrt4: Fix the argument size of conformant arrays.
2006-06-16 14:42:36 +02:00
Robert Shearman
b3c04e032d
rpcrt4: getaddrinfo returns any non-zero value on failure, not just negative values.
2006-06-14 12:47:05 +02:00
Alexandre Julliard
2a91838f0c
rpcrt4: Don't use sizeof in traces to avoid printf format warnings.
2006-06-13 14:11:28 +02:00
Alexandre Julliard
d90f68166c
rpcrt4/tests: Don't use sizeof in ok() to avoid printf format warnings.
2006-06-13 14:03:44 +02:00
Robert Shearman
1c04d9ab20
rpcrt4: Add an exception handler for CStdStubBuffer_Invoke.
...
This is needed because IRpcStubBuffer::Invoke should not allow RPC
exceptions to be passed to the caller.
2006-06-12 13:21:46 +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
e3df112a39
rpcrt4: Don't raise an exception if there is no freer function - not all types have a freer.
2006-06-09 21:07:37 +02:00
Robert Shearman
21673d03f9
rpcrt4: Implement more base types for complex types.
2006-06-09 21:07:22 +02:00
Robert Shearman
0b1e51ca25
rpcrt4: Now that there's a process-wide pool of connections we don't
...
need to copy the FromConn field when copying bindings.
2006-06-09 21:07:11 +02:00
Robert Shearman
56386bd88c
rpcrt4: Return the status received from RPCRT4_Send in I_RpcSend instead of always returning RPC_S_OK.
2006-06-09 21:07:02 +02:00
Alexandre Julliard
c32dc6744c
rpcrt4: Make the protseq_ops structure constant.
2006-06-09 13:12:58 +02:00
Alexandre Julliard
c0fcba798b
rpcrt4: Avoid potential redefinition of uuid_t.
2006-06-08 11:29:26 +02:00
Robert Shearman
58ec282bfb
rpcrt4: Implement a process-wide connection pool for client connections,
...
rather than relying on the restriction of one connection per
binding. This also avoids the problem of two threads using the same
connection at the same time.
2006-06-08 10:16:00 +02:00
Robert Shearman
1412c47a50
rpcrt4: Fix the retrieval of This for interpreted proxies.
2006-06-08 10:15:36 +02:00
Robert Shearman
7ef5c3c772
rpcrt4: Implement full-pointer support for interpreted stubs.
...
Move the calls to the full pointer init functions before
NdrClient/ServerInitializeNew, like in MIDL-generated code.
2006-06-08 10:15: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
0fad0895d7
rpcrt4: Don't try to resolve the name when constructing a protocol tower.
...
Instead just fill it in with all zeros.
2006-06-03 11:42:54 +02:00
Robert Shearman
ebcd6b6a24
rpcrt4: Change ComputeConformance and ComputeVariance from macros to
...
inline functions. Clear pStubMsg->Offset in ComputeVariance since it
isn't set by ComputeConformanceOrVariance and so could be left filled
with garbage.
2006-06-03 11:42:36 +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
6a11aba526
rpcrt4: Skip over the right-hand-side data for the protocol floor so
...
that we can parse the towers received from native rpcrt4.
2006-06-03 11:42:03 +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
Robert Shearman
423e7e3089
rpcrt4: Print some more informative error messages when getaddrinfo fails.
2006-06-03 11:40:42 +02:00
Robert Shearman
efc974d1f5
rpcrt4: All of the parameters to TowerExplode are optional.
2006-06-02 11:24:29 +02:00
Robert Shearman
e15e60b9f9
rpcrt4: Implement TowerConstruct and TowerExplode.
...
Add some tests for these undocumented functions.
2006-06-02 11:24:20 +02:00
Robert Shearman
37364b836f
rpcrt4: Add functions for generating and parsing the upper floors in endpoint-mapper towers for different transports.
2006-06-02 11:24:03 +02:00
Robert Shearman
84ab2e78a4
rpcrt4: Implement I_RpcAllocate and I_RpcFree.
2006-06-02 11:22:56 +02:00
Robert Shearman
cc9baf364e
rpcrt4: Don't send the unused part of the allocated buffer.
2006-06-02 11:22:44 +02:00
Robert Shearman
11da87d098
rpcrt4: NdrClientInitializeNew shouldn't clear all of the stub message, only selected fields.
2006-06-02 11:22:38 +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
11eb8ee042
rpcrt4: If the number of pointers is 0 for NdrFullPointerXlatInit then
...
set the number of pointers to a large default, so that NumberOfBuckets
doesn't end up less than zero.
2006-05-30 12:24:53 +02:00
Robert Shearman
ff9fd9c430
rpcrt4: Handle marshaling/unmarshaling full pointers.
2006-05-30 12:24:41 +02:00
Robert Shearman
bf985900e2
rpcrt4: For full pointers the state consists of flags, so or new flags into the field instead of assigning.
...
The return value of all full pointer functions that return an int
depends on the passed in query type being a flag in the state.
2006-05-30 12:24:22 +02:00
Robert Shearman
63307241dd
rpcrt4: Store the QueryType in the state table in NdrFullPointerQueryRefId.
...
Implement NdrFullPointerFree.
2006-05-27 10:54:39 +02:00
Robert Shearman
7af506b2b4
rpcrt4: Fix NdrFullPointerQueryRefId to make more tests pass.
2006-05-27 10:54:21 +02:00
Robert Shearman
767631d853
rpcrt4: Implement remaining part of NdrFullPointerQueryPointer and implement NdrFullPointerInsertRefId.
2006-05-27 10:53:48 +02:00
Robert Shearman
eb0fe9e6e3
rpcrt4: Implement some full pointer functions and add stubs for others.
...
Add some tests.
2006-05-27 10:53:29 +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
Robert Shearman
8b56e88276
rpcrt4: Return the actual status code sent back by the server, rather than RPC_S_CALL_FAILED.
2006-05-26 20:15:44 +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
Robert Shearman
4e85273086
rpcrt4: Implement explicit generic binding handles.
2006-05-25 10:40:23 +02:00
Robert Shearman
0030b6dacd
rpcrt4: Move the getting of the client binding handle to a separate function.
2006-05-25 10:40:09 +02:00
Robert Shearman
fdda17deea
rpcrt4: Move the initialising of the stub message structure nearer to the top of NdrClientCall2.
...
Set stubMsg.StackTop after calling the initialise function.
2006-05-25 10:39:50 +02:00
Robert Shearman
9d87447455
rpcrt4: Store the arguments exclusively in stubMsg.StackTop.
2006-05-25 10:39:22 +02:00
Robert Shearman
b9f36c3fa2
rpcrt4: Implement RpcBindingCopy.
2006-05-25 10:39:02 +02:00
Alexandre Julliard
9ca8a86914
Link against libwine_unicode everywhere we use Unicode functions.
2006-05-24 18:05:40 +02:00
Alexandre Julliard
23f9e358ad
Tests should not use wine/unicode.h.
2006-05-24 18:05:09 +02:00
Mike McCormack
4def9cc022
rpcrt4: Add stub implementations for NDRCContext(Un)Marshall.
2006-05-24 14:38:14 +02:00
Huw Davies
00598e49cf
rpcrt4: Uncomment test now that it works correctly.
2006-05-23 17:51:50 +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
dd362a62a1
rpcrt4: Fix copying too much data from the buffer by not taking into account the fact that auth_pad_len has been included in the fragment length.
2006-05-23 11:36:37 +02:00
Robert Shearman
e91da1458d
rpcrt4: Authentication padding should only be generated if there is authentication data.
2006-05-23 11:36:26 +02:00
Robert Shearman
6e7d06ad34
rpcrt4: Handle pointers to context handles in the stubless code.
...
Implement check for NULL context handles if requested.
2006-05-20 17:37:36 +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
Robert Shearman
0592210bcd
rpcrt4: Add the definition of RpcAuthVerifier to rpc_defs.h from the DCE/RPC spec.
...
Use it in RPCRT4_SendAuth instead of writing out the data byte-by-byte.
2006-05-20 17:31:16 +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