Commit Graph

1122 Commits

Author SHA1 Message Date
Alexandre Julliard 2c1b94bde2 rpcrt4/tests: Fix a few more broken tests on NT4. 2009-06-01 16:16:05 +02:00
Alexandre Julliard 47d927f704 rpcrt4/tests: Disable some tests that crash on Windows. 2009-05-28 22:27:51 +02:00
Alexandre Julliard 05f57146c8 rpcrt4/tests: Remove tests for v1 memory list, the layout is wrong and we don't care about it anyway. 2009-05-28 20:30:05 +02:00
Alexandre Julliard 03b6dcb4a1 rpcrt4/tests: Mark some stub message tests broken for older Windows versions.
Group the common tests in a function shared between client and server.
2009-05-28 20:29:51 +02:00
Alexandre Julliard aded9e4091 rpcrt4: Fix compiler warnings on 64-bit. 2009-05-28 11:56:30 +02:00
Alexandre Julliard feeaf97c81 rpcrt4: Implement NdrPointerMemorySize and enable the corresponding tests. 2009-05-28 11:52:36 +02:00
Alexandre Julliard 49f1433cdc rpcrt4/tests: Enable some tests that no longer crash Wine. 2009-05-28 11:41:12 +02:00
Alexandre Julliard bb18c5ab07 rpcrt4/tests: Comment out a couple of tests that crash on older Windows versions. 2009-05-28 11:38:41 +02:00
Alexandre Julliard 7571c1fd53 rpcrt4: Fix the PSFactoryBuffer proxy refcounting, with tests. 2009-05-27 21:25:10 +02:00
Alexandre Julliard 36965f5726 rpcrt4/tests: Fix a number of 64-bit issues in the ndr_marshall test. 2009-05-27 21:18:35 +02:00
Alexandre Julliard 23e70e00ed rpcrt4: Internal functions don't need to be WINAPI. 2009-05-27 13:04:33 +02:00
Francois Gouget ef5f1f5065 rpcrt4: Make RPCRT4_NextHttpHeaderField() and RPCRT4_default_receive_fragment() static. 2009-05-13 12:45:37 +02:00
Francois Gouget 082147d906 rpcrt4: Remove WINAPI on static functions where not needed. 2009-05-06 12:20:10 +02:00
Michael Stefaniuc 3b803f5390 rpcrt4: Replace some usage of the long type. 2009-04-21 13:16:31 +02:00
Paul Vriens 90d3163aba rpcrt4: Fix NdrDllCanUnloadNow. 2009-04-20 14:14:03 +02:00
Rob Shearman 324b4d0243 rpcrt4: Add a Win32 implementation of ncacn_ip_tcp transport. 2009-04-08 16:01:42 +02:00
Rob Shearman 06c2982a39 rpcrt4: Factor out non-Win32 compatible parts of the ncacn_ip_tcp client code to allow it to be compiled in. 2009-04-08 16:01:34 +02:00
Rob Shearman ce747f3fac rpcrt4: Compile in RPC over HTTP support even if HAVE_SOCKETPAIR is not defined. 2009-04-07 14:53:34 +02:00
Rob Shearman b2a5bfdfc9 rpcrt4: Fix context handle test on Vista upwards.
Don't run tests that results in an ERROR_INVALID_HANDLE exception being raised.

Check for the context handle function pointers being non-NULL to
prevent exceptions being raised on platforms without these functions.
2009-04-07 14:22:35 +02:00
Nikolay Sivov fd3b57c53a rpcrt4: Implemented RpcEpRegisterW wrapping RpcEpRegisterA. 2009-03-31 12:41:11 +02:00
Rob Shearman 317edfd7da rpcrt4: Free the memory allocated for the protseq and endpoint strings allocated in RpcServerUseProtseq* functions.
Make a copy of the protseq string in alloc_serverprotoseq to simplify
memory management in higher-level functions.
2009-03-30 13:58:01 +02:00
Rob Shearman 4d8057ffef rpcrt4: RpcServerUseProtseqEp(..., NULL, ...) should return RPC_S_OK.
However, on some buggy platforms it returns
RPC_S_INVALID_ENDPOINT_FORMAT. Don't follow this behaviour our
implementation of the API.
2009-03-30 13:57:54 +02:00
Austin English f8f4c4ef43 rpcrt4/test: Change a skip to win_skip. 2009-03-26 16:13:33 +01:00
Rob Shearman 524a99a2da rpcrt4: Ensure that only the IP/IPv6 address families are considered in rpcrt4_protseq_ncacn_ip_tcp_open_endpoint/rpcrt4_ncacn_ip_tcp_open. 2009-03-26 16:11:07 +01:00
Rob Shearman a42d4dbfb6 rpcrt4: Allow listening on dynamically generated ncacn_ip_tcp endpoints. 2009-03-26 16:10:59 +01:00
Rob Shearman 375c68a043 rpcrt4: Re-use already registered endpoints for a protocol sequence.
Return RPC_S_INVALID_ENDPOINT_FORMAT if a NULL endpoint is passed into
RpcServerUseProtseqEp{,Ex}{A,W}.
2009-03-26 16:10:49 +01:00
Alexandre Julliard ce3ce9be8f rpcrt4: Disable HTTP support if we don't have socketpair and related networking functions. 2009-03-26 14:02:01 +01:00
Huw Davies eaf4492c70 rpcrt4: Dynamically allocate the buffer if the fixed size one isn't large enough. Don't return an inappropriate error if we fail to get the status text, it's only used for diagnostics. 2009-03-26 11:50:50 +01:00
Rob Shearman 5f6ae94ad0 rpcrt4: Implement RPC over HTTP support.
CodeWeavers did this work for supporting the optional HTTP connection
method of Outlook 2003/2007 (must be running with Windows versions set
to XP or higher to see this option).

This was written before Microsoft publicly released a specification
for the RPC over HTTP protocol and so was developed by examining
traffic flowing between a Windows client and an IIS server.
2009-03-25 15:20:52 +01:00
Rob Shearman 834c5b4275 rpcrt4: Implement stubless asynchronous NDR interpreter.
CodeWeavers did this work for supporting Outlook 2007.
2009-03-25 15:20:44 +01:00
Rob Shearman cdf509d71f rpcrt4: Fix crash when calling RpcServerUseProtseq for ncacn_np and ncalrpc.
Add tests for these protocol sequences and for ncacn_ip_tcp.
2009-03-24 13:12:11 +01:00
Rob Shearman ae5770d366 rpcrt4: Fix a memory leak in union unmarshall functions by never passing fMustAlloc=TRUE into union_arm_unmarshall. 2009-03-23 14:54:29 +01:00
Rob Shearman 1c8c45d0f6 rpcrt4: Implement NdrRangeUnmarshall for enum types. 2009-03-23 14:54:15 +01:00
Rob Shearman 7208067492 rpcrt4: Simplify some code in RpcServerInqBindings by changing while loops into for loops. 2009-03-23 14:54:07 +01:00
Rob Shearman 5e1d10d423 rpcrt4: Free the resources associated with server protocol sequences on DLL unload. 2009-03-23 14:54:01 +01:00
Michael Stefaniuc efbb4ebf3e widl: Output "LONG" instead of "long" for a 32bit integer.
long is always 32bit in IDL files but that's not true in C.
2009-03-13 11:15:21 +01:00
Alexandre Julliard 85f8f30a65 rpcrt4: Use RpcMsg->Buffer instead of BufferStart since the latter isn't always set. 2009-03-12 13:09:54 +01:00
Rob Shearman 689a49b52a rpcrt4: Add a check for a NULL ref pointer to NdrPointerUnmarshall. 2009-03-11 10:29:26 +01:00
Rob Shearman 86f79e3a55 rpcrt4: Fix use of uninitialised variable in NdrDllRegisterProxy.
It should be key, not subkey being passed into RegSetValueExW.
2009-02-24 16:57:31 +01:00
Francois Gouget bf855d8696 rpcrt4/tests: Use win_skip() to skip over unimplemented functionality. 2009-02-23 12:21:30 +01:00
Michael Stefaniuc e3bb1c8243 rpcrt4: Remove superfluous pointer casts. 2009-02-16 16:01:37 +01:00
Juan Lang 76f4b9b053 rpcrt4: Don't abort reading from a pipe if a single read is short. 2009-02-09 12:09:01 +01:00
Rob Shearman 7fe67b159d rpcrt4: Change the test of CStdStubBuffer->pPSFactory to only test for the field not being NULL.
The address varies on older versions of Windows and isn't really important.
2009-02-06 13:03:19 +01:00
Rob Shearman d3085abc08 Change parameter type from size_t to SIZE_T for MIDL_user_allocate. 2009-02-02 11:55:21 +01:00
Rob Shearman ff8bd24ec2 rpcrt4: Fix a cstub test failure on older versions of Windows. 2009-01-29 14:07:04 +01:00
Rob Shearman 47adeb0525 rpcrt4: Add tests for NdrGetUserMarshalInfo. 2009-01-28 14:16:19 +01:00
Rob Shearman 78ac42bb1c rpcrt4: Implement NdrGetUserMarshalInfo. 2009-01-28 14:16:13 +01:00
Rob Shearman b46f168650 rpcrt4: Don't test for a specific value for fBufferValid in test_client_init.
It's not consistent across different Windows versions.
2009-01-28 14:16:01 +01:00
Alexandre Julliard 9876c5433f rpcrt4: Don't align the buffer pointer in ComplexStructMemorySize for alignment formats. 2009-01-26 15:12:07 +01:00
Rob Shearman 2ec1e4a393 rpcrt4: Fix buffer overflow in UUID tests. 2009-01-26 14:30:47 +01:00
Rob Shearman bcca81f4f4 rpcrt4: Remove the NDR version check from NdrClientCall2 and NdrStubCall2.
It does more harm than good, since we can't get any information about
what new features are being used by the caller, if any, by bailing at
this early point.
2009-01-23 16:14:00 +01:00
Rob Shearman 05063ece28 rpcrt4: Don't declare functions that aren't exported by rpcrt4.dll in include/rpcndr.h.
NdrRangeMarshall, NdrRangeBufferSize, NdrRangeFree and
NdrByteCountPointerMemorySize should be declared static in
ndr_marshall.c instead.
2009-01-23 16:13:53 +01:00
Hans Leidekker 7df0a4ecb2 rpcrt4: Move NdrGetUserMarshalInfo stub near user marshal functions. Add documentation header. 2009-01-23 13:40:36 +01:00
Juan Lang 5e5b53666c rpcrt4: Use pseudo-random numbers to generate UUIDs rather than using the (old, deprecated) MAC-address-and-time generation algorithm. 2009-01-22 15:28:23 +01:00
Hans Leidekker 1de7f2d50c rpcrt4: Add a stub implementation of NdrGetUserMarshalInfo. 2009-01-21 13:07:30 +01:00
Andrew Talbot 273b40656b rpcrt4: Declare some functions static. 2009-01-19 13:36:26 +01:00
Francois Gouget 5656e41640 rpcrt4/tests: Add a trailing '\n' to ok() calls. 2009-01-14 14:52:18 +01:00
Ge van Geldorp a9950e3cee rpcrt4/tests: Remove NdrVaryingArrayUnmarshall() test, it is broken on Windows.
The failures in rpcrt4:server on Windows are caused by an access violation
thrown in NdrVaryingArrayUnmarshall() called from get_5numbers(). I've
created a minimum get_5numbers() test with Microsoft tools and that throws
the same access violation. The access violation disappears when zeroing
out the StubMsg before calling NdrClientInitializeNew(), so my guess is
Windows NdrVaryingArrayUnmarshall() uses an uninitialized member.
2009-01-13 16:39:30 +01:00
Michael Karcher 1c56d293f0 widl: Dereference operator in expr works on any declared pointer. 2009-01-12 16:53:18 +01:00
Rob Shearman 59158fb25c rpcrt4: Unmarshalling functions should always set fMustAlloc when allocating memory.
The memory is uninitialised and so further unmarshalling shouldn't try
to reuse any memory. fMustAlloc is always set to TRUE when allocating
memory so that it is clear that the unmarshalling is safe and to avoid
future problems with change or the code being copied.
2009-01-12 13:07:31 +01:00
Michael Stefaniuc c171379f47 include: Use ULONG in rpcdcep.h for Win64 compatibility. 2009-01-12 13:06:44 +01:00
Alexandre Julliard 450e9e3adf rpcrt4/tests: Fix an uninitialized pointer check for Win64. 2009-01-09 18:08:57 +01:00
Alexandre Julliard 9d09985ad1 rpcrt4: Fix an unused value warning on non-i386. 2009-01-08 17:30:09 +01:00
Alexandre Julliard 1639f1e507 rpcrt4/tests: Avoid printing pointer differences in traces. 2009-01-08 13:02:40 +01:00
Francois Gouget 581e390115 winapi_test: The tests don't support WIN64 yet so disable them there. 2009-01-08 12:47:22 +01:00
Francois Gouget 411f5d22c0 winapi_test: The real tests are done at compile time so use C_ASSERT() instead of ok(). Do only one test per line so one can know exactly what went wrong. 2009-01-08 12:46:39 +01:00
Francois Gouget 9f62c9b7a8 winapi_test: Fix TEST_FIELD() so it correctly tests the field size. 2009-01-08 12:44:49 +01:00
Francois Gouget 43c18c1321 winapi_test: FIELD_ALIGNMENT() is redundant so remove it. 2009-01-08 12:43:15 +01:00
Francois Gouget 2e668d2572 winapi_test: Updated so the generated tests work. 2009-01-08 12:42:12 +01:00
Francois Gouget ada97dc209 Assorted spelling fixes. 2009-01-07 14:41:24 +01:00
Michael Stefaniuc 57ab0cd9a6 include: sspi.h: Use the Win types as per MSDN.
This improves the Win64 compatibility.
2009-01-06 12:43:46 +01:00
Michael Stefaniuc 4c7a6694cd include: Change unsigned long to ULONG in rpcdce.h for Win64 compatibility.
Also fix the compiler warnings introduced by this change.
2009-01-04 13:34:51 +01:00
Michael Stefaniuc e86eb8efa6 include: Change RPC_STATUS from long to LONG for Win64 compatibility.
Also fix the compiler warnings introduced by this change.
2009-01-04 13:34:38 +01:00
Alexandre Julliard 8e1b59cb9a rpcrt4: Disable TCP/IP connection support if we don't have socketpair. 2008-12-22 19:55:05 +01:00
Francois Gouget 6e483affcf rpcrt4/tests: Fix the trailing '\n' in an ok() call. 2008-12-17 15:27:28 +01:00
Paul Vriens 5021965d2e rpcrt4/tests: Move function pointer initialization to the init function. 2008-12-16 12:51:16 +01:00
Paul Vriens 1aa9e3846c rpcrt4/tests: Use GetModuleHandle instead of LoadLibrary. 2008-12-16 12:51:12 +01:00
Alexandre Julliard 42dbdb138a rpcrt4: Make a variable static. 2008-12-04 12:48:08 +01:00
Alexandre Julliard 797ee403c1 rpcrt4: Create the NumMethods key too when registering an interface. 2008-11-29 13:05:11 +01:00
Alexandre Julliard ad54700b94 rpcrt4: Use RegDeleteTree to properly unregister interfaces. 2008-11-29 13:02:08 +01:00
Alexandre Julliard 77b3864fed rpcrt4: Convert the dll registration routines to Unicode. 2008-11-29 13:01:29 +01:00
Francois Gouget bbc4413548 rpcrt4: Remove WINAPI on static functions where not needed. 2008-11-26 12:10:54 +01:00
Alexandre Julliard f1d0f81d26 rpcrt4/tests: Fix test failures on Win9x. 2008-11-20 22:44:46 +01:00
Ricardo Filipe 16920c1da7 rpcrt4: Fixed dead increments (llvm/clang). 2008-11-19 12:15:37 +01:00
Andrew Talbot 99ae980c0d rpcrt4: Sign-compare warnings fix. 2008-11-07 10:56:48 +01:00
Stefan Leichter 79bbddd431 rpcrt4: Add stub for MesEncodeDynBufferHandleCreate. 2008-10-23 12:17:20 +02:00
Alexandre Julliard 83b6c8a5fa rpcrt4: Convert source files to utf-8. 2008-10-18 19:20:44 +02:00
Juan Lang a504a79d65 rpcrt4: Add tests for UuidCreate. 2008-10-14 13:41:56 +02:00
Rob Shearman b919443a58 rpcrt4: The type referred to by the wire_marshal attribute in server.idl must be a pointer.
Therefore, declare the structure as user_bstr_t and make wire_bstr_t
be a typedef to a pointer of this type.
2008-10-14 13:41:54 +02:00
Huw Davies c74de4a1ce rpcrt4: Actually set an unmarshalled object ptr to NULL when a NULL pointer id is received. 2008-10-02 10:28:19 -05:00
Rob Shearman 62a1beebbf rpcrt4: Don't call VirtualFree with MEM_RELEASE and non-zero size.
The calls fail with ERROR_INVALID_PARAMETER. Instead just call with a
zero size which performs the intended function.
2008-09-23 16:00:05 +02:00
Hans Leidekker e511474d47 rpcrt4: Add stub implementations for RpcMgmtInqStats and RpcMgmtStatsVectorFree. 2008-09-23 14:03:19 +02:00
Rob Shearman 34dd534250 rpcrt4: Fix memory leak of 0-byte buffer allocated during processing of bind packets.
In this case conn->server_binding will be NULL and consequently
bind->Handle will be NULL, causing I_RpcFreeBuffer to fail. Therefore
just use I_RpcFree to free the buffer as that is just what
I_RpcFreeBuffer does under the hood anyway.
2008-09-12 16:49:56 +02:00
Rob Shearman ffd37b0eec rpcrt4: Fix memory leaks of hdr in error paths in RPCRT4_io_thread. 2008-09-12 16:49:52 +02:00
Rob Shearman f12e445ce5 rpcrt4: Don't crash in NdrDllGetClassObject when a NULL pclsid is passed in.
Add tests for this.
2008-09-12 16:49:48 +02:00
Rob Shearman be9909ad1d rpcrt4: Print error messages from RPC message functions when they are called in an invalid way. 2008-09-12 16:49:45 +02:00
Rob Shearman 8cc3adea52 rpcrt4: Free the memory for a registered interface that is in use and when WaitForCallsToComplete is 0. 2008-09-12 16:49:42 +02:00
Alexandre Julliard da95db8d5b rpcrt4/tests: Fix a couple of test failures on Windows. 2008-09-11 14:32:30 +02:00
Paul Vriens 9ee160cf55 rpcrt4/tests: Fix some failures on XP-SP3. 2008-09-11 11:43:14 +02:00
Rob Shearman a8f7c716ef rpcrt4: Change type of len parameter of NdrAllocate from size_t to SIZE_T.
Use SIZE_T as it matches the size that Windows programs expect whereas
size_t is platform-dependent.
2008-09-08 12:51:37 +02:00