Commit Graph

1361 Commits

Author SHA1 Message Date
Frédéric Delanoy ca75c4a84b rpcrt4: Make some switch fallthroughs explicit (Coverity). 2012-01-20 13:32:47 +01:00
André Hentschel 030c75a8ae rpcrt4: Implement RpcEpRegisterNoReplaceW. 2011-11-30 17:05:09 +01:00
André Hentschel d2f3463a01 rpcrt4: Implement RpcEpRegisterNoReplaceA. 2011-11-30 17:05:02 +01:00
Francois Gouget 92ff5f3548 rpcrt4: Delete the static critical sections when unloading the dll. 2011-11-17 11:38:22 +01:00
Francois Gouget e9e0507d2b rpcrt4: An interface pointer just has the size of a regular pointer. 2011-11-16 17:01:49 +01:00
Francois Gouget 97ba7aa521 rpcrt4: The offset to the complex pointer's description is signed. 2011-11-16 09:47:16 +01:00
Francois Gouget 86d8217aea rpcrt4: Give a name to the critical sections. 2011-11-14 20:15:26 +01:00
Henri Verbeet f687728c43 rpcrt4: Properly size complex reference pointers. 2011-09-23 12:35:17 +02:00
Bernhard Loos c2feafb96c rpcrt4: Switch to non-overlapped named pipe operations and use a thread for the async listen operation. 2011-09-19 17:59:35 +02:00
Alexandre Julliard cb5beede16 rpcrt4/tests: Add more tests for integer ranges to show that ranges are independent.
Reported by Jérôme Gardou.
2011-09-19 13:17:41 +02:00
Bernhard Loos a57312d873 rpcrt4: The named pipe can be used for multiple operations at the same time, so use overlapped operations for ReadFile and WriteFile. 2011-09-14 17:28:38 +02:00
Jérôme Gardou 67f7a02fed rpcrt4: Properly unmarshall EMUM16 discriminant. 2011-08-30 12:39:40 +02:00
André Hentschel 328acc81fc rpcrt4/tests: Fix NULL string handling in an ok() check. 2011-08-30 11:52:59 +02:00
Francois Gouget c992ca277d Assorted spelling fixes. 2011-08-24 19:07:46 +02:00
Frédéric Delanoy 760faf01a9 tests: Assorted spelling fixes. 2011-08-04 18:27:37 +02:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
André Hentschel f98369f21c rpcrt4/tests: Only free string when function succeeded. 2011-08-01 11:06:35 +02:00
Alexandre Julliard 976cd5c9fe rpcrt4: Support sizing of a few more argument types. 2011-07-29 12:08:52 +02:00
Alexandre Julliard 2bdff69733 rpcrt4: Add a phase in proxies for zeroing output parameters on startup. 2011-07-28 23:10:20 +02:00
Alexandre Julliard a37ec01bd1 rpcrt4: Add a phase in proxies for clearing output parameters on error. 2011-07-28 23:09:53 +02:00
Alexandre Julliard 78e8fccbd6 rpcrt4: Use the same phase values for clients and stubs. 2011-07-28 23:07:21 +02:00
Alexandre Julliard f3734fd687 rpcrt4: Pass the full argument format to the size/marshall/unmarshall wrappers to greatly simplify the argument processing. 2011-07-28 22:13:49 +02:00
Alexandre Julliard ad7cb0cf6c rpcrt4: Convert old-style arguments for stub calls. 2011-07-28 17:48:19 +02:00
Alexandre Julliard 348f00e116 rpcrt4: Convert old-style arguments for NdrMesProcEncodeDecode. 2011-07-28 17:30:40 +02:00
Alexandre Julliard e8e3a2da83 rpcrt4: Convert old-style argument formats to new style so that the client call implementation can be shared. 2011-07-28 16:54:01 +02:00
Alexandre Julliard cf930f1fc9 rpcrt4: Simplify tracing of function parameters and flags. 2011-07-28 13:01:30 +02:00
Alexandre Julliard 064a81782c rpcrt4: Fetch the arguments address from the StubMsg structure. 2011-07-28 12:48:39 +02:00
Alexandre Julliard 4447f221db rpcrt4: Use a single structure for all parameter types in new format descriptors. 2011-07-28 12:43:27 +02:00
Alexandre Julliard 9d9f6da7da rpcrt4/tests: Fix a test failure on 64-bit platforms. 2011-07-28 11:25:08 +02:00
Alexandre Julliard 9d4e79e382 rpcrt4/tests: Add a test about unmarshalling of an out-only structure. 2011-07-27 11:51:24 +02:00
Bernhard Loos d599813b74 rpcrt4: Create pipes with FLAG_OVERLAPPED. 2011-07-15 16:25:18 +02:00
Damjan Jovanovic ec2f513690 rpcrt4: Implement RpcNetworkInqProtseqs. 2011-06-28 16:45:56 -05:00
Alexandre Julliard 781ff545cf rpcrt4: Make sure we don't try to free a pointer twice. 2011-06-20 19:32:04 +02:00
Damjan Jovanovic acc112bad7 rpcrt4: Implement RpcProtseqVectorFree. 2011-06-20 19:32:02 +02:00
Damjan Jovanovic 57b7044cd6 rpcrt4: Add stubs for RpcNetworkInqProtseqs. 2011-06-17 19:30:46 +02:00
Alexandre Julliard 4f247d3130 rpcrt4: Add support for 64-bit conformance values. 2011-06-17 14:11:45 +02:00
Alexandre Julliard a75402af96 rpcrt4: Add a wrapper for NdrAsyncClientCall too. 2011-06-16 14:30:34 +02:00
Alexandre Julliard ffb8f4bedf rpcrt4: Add support for float parameters in client calls on x86_64. 2011-06-16 14:30:28 +02:00
Alexandre Julliard b02457a108 rpcrt4: Implement stubless proxy entry thunks for x86_64. 2011-06-15 20:04:39 +02:00
Alexandre Julliard 915a0769e5 rpcrt4: Reimplement the stubless proxy entry point entirely in assembly. 2011-06-15 20:04:38 +02:00
Alexandre Julliard 779a8fcddb rpcrt4: Make more of the stubless proxy setup code platform-independent. 2011-06-15 20:04:38 +02:00
Alexandre Julliard 0ce27385fd rpcrt4: Implement calling server functions on x86_64. 2011-06-14 16:12:04 +02:00
Alexandre Julliard b6599bd7df rpcrt4: Add an assembly wrapper to implement the NdrClientCall2 calling convention on x86_64. 2011-06-14 16:12:04 +02:00
Alexandre Julliard 379479a973 rpcrt4: Add a wrapper for NdrClientCall2 to isolate calling convention differences. 2011-06-14 16:12:04 +02:00
Alexandre Julliard fa847909f2 rpcrt4: Preserve the previous MaxCount value when computing variance through a callback. 2011-06-14 16:12:04 +02:00
Alexandre Julliard 717bd66440 widl: Default to the cdecl calling convention in client/server functions. 2011-06-13 11:53:28 +02:00
Alexandre Julliard e8567110b3 rpcrt4: Also check base types for null ref pointers. 2011-06-13 11:49:14 +02:00
Alexandre Julliard b0f8586078 rpcrt4: Fix handling of complex types of return values on the client side. 2011-06-13 11:48:49 +02:00
Alexandre Julliard 1c632ffe8e rpcrt4: Fix handling of complex types of return values on the server side. 2011-06-13 11:48:24 +02:00
Alexandre Julliard cdf457774d rpcrt4: Don't try to bind to a null handle. 2011-06-10 11:42:19 +02:00
Alexandre Julliard c8d787dba8 rpcrt4: Add support for the argument size of varying arrays. 2011-06-10 11:41:58 +02:00
Alexandre Julliard 87cf6ec75d rpcrt4: Fix parameter stack size computation in the old-style stubless marshaller. 2011-06-10 11:41:38 +02:00
Alexandre Julliard 5d7e4da81a rpcrt4: Fix handling of arguments passed by value in the old-style stubless marshaller. 2011-06-10 11:35:53 +02:00
Alexandre Julliard 0941644db7 rpcrt4: Don't marshall out-only parameters in the old-style stubless marshaller. 2011-06-10 11:35:24 +02:00
Alexandre Julliard 3c5688a80d rpcrt4/tests: Add a few more marshalling tests. 2011-06-09 13:19:08 +02:00
Alexandre Julliard 69bc4da51a rpcrt4: Add entry points for the old-style stubless Ndr calls. 2011-06-02 17:26:59 +02:00
Alexandre Julliard f061917296 include: Make CLIENT_CALL_RETURN definition platform-specific to handle the return type incompatibility in NdrClientCall. 2011-06-02 16:22:43 +02:00
Alexandre Julliard 968c8688c4 widl: Array dimensions have to be constants. 2011-05-28 13:39:18 +02:00
Huw Davies e0a60312d1 rpcrt4: Handle non-conformant bogus structures. 2011-04-27 11:55:01 +02:00
Marcus Meissner 58040f9508 rpcrt4: Mark internal symbols with hidden visibility. 2011-04-26 15:31:27 +02:00
Michael Stefaniuc 64d18bc1f0 rpcrt4/tests: COM cleanup in cstub.c. 2011-03-15 17:14:07 +01:00
Austin English 01ca32ac91 rpcrt4/tests: Remove win9x hacks. 2011-02-28 13:13:58 +01:00
Austin English 5b25b11b05 rpcrt4/tests: Make sure return values are used (LLVM/Clang). 2011-02-09 09:26:05 -06:00
Joris Huizer 3312d63119 rpcrt4: Reduce scope of variable (Clang). 2011-02-04 15:25:33 +01:00
Huw Davies 5102d4df8c rpcrt4/tests: Add a test for marshalling a pointer to a user type, where the user type is itself a pointer. 2011-02-04 15:25:33 +01:00
Michael Stefaniuc 18a3b3f2f7 rpcrt4: COM cleanup for StdProxyImpl. 2010-12-30 12:21:54 +01:00
Hans Leidekker 215b69e36b rpcrt4: Add a stub implementation of RpcMgmtSetAuthorizationFn. 2010-12-15 12:02:09 +01:00
Michael Stefaniuc c38d6fed39 rpcrt4: Use an iface instead of a vtbl pointer in RpcStreamImpl. 2010-12-09 12:24:15 +01:00
Alexandre Julliard dc9b648fcb rpcrt4: Get rid of the ICOM_THIS_MULTI macro. 2010-11-11 20:21:57 +01:00
Alexandre Julliard 749f22948c rpcrt4: Implement waiting in RpcMgmtWaitServerListen. 2010-11-10 10:00:35 +01:00
Louis Lenders 92f41c56f7 rpcrt4: Add stub for NdrMesTypeEncode2. 2010-10-27 11:46:54 +02:00
Alexandre Julliard 7bfa513bc9 rpcrt4/tests: Fix a test failure on XP SP3. 2010-10-08 11:56:45 +02:00
Alexandre Julliard 7afdf5d920 Make some variable declarations extern. 2010-10-01 13:42:22 +02:00
Alexandre Julliard 730f01801f tests: Make some variables static. 2010-10-01 13:41:42 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Alexandre Julliard 95ea352738 rpcrt4: Remove a couple of unused local variables. 2010-09-01 14:01:04 +02:00
Alexandre Julliard 0abc475365 rpcrt4: Retrieve the stack argument pointer in a more portable way in NdrMesProcEncodeDecode. 2010-09-01 14:01:04 +02:00
Francois Gouget 99c5ca7e40 rpcrt4: Make RPCRT4_Receive() static. 2010-08-31 14:23:47 +02:00
Alexandre Julliard 9de9cbb324 rpcrt4: Retrieve the stack argument pointer in a more portable way in NdrClientCall. 2010-08-26 17:21:09 +02:00
Alexandre Julliard e095467b3c rpcrt4: Fix cfi annotations for the stubless proxy entry point. 2010-08-26 17:21:09 +02:00
Huw Davies 300536d88e rpcrt4: Add a missing STUBLESS_INITOUT case. 2010-08-02 17:40:34 +02:00
Alexandre Julliard ee5cada235 rpcrt4: Don't align the buffer after reading the conformance, we need to read the variance first. 2010-07-21 20:31:53 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Austin English eb7c206114 rpcrt4/tests: Improve failure messages. 2010-07-20 14:40:32 +02:00
Michael Stefaniuc 9dc835c2bc rpcrt4: Remove redundant "non NULL" check of var cred_dst (coccicheck). 2010-05-20 13:47:52 +02:00
Michael Stefaniuc 943eefc8fc rpcrt4: Avoid using long. 2010-05-17 15:41:33 +02:00
Gerald Pfeifer 2f4c5cf351 rpcrt4: Remove variable hr which is not really used from NdrInterfacePointerBufferSize. 2010-05-17 12:42:31 +02:00
Gerald Pfeifer 3b3085fba1 rpcrt4: Remove variable size which is not really used from NdrComplexArrayUnmarshall. 2010-04-26 07:01:03 -05:00
Aric Stewart 75197bdfaf rpcrt4/tests: Add NdrDllRegisterProxy tests. 2010-04-08 12:25:08 +02:00
Aric Stewart 0e09ade10b rpcrt4: Improve NdrDllRegisterProxy parameter checking. 2010-04-08 12:24:49 +02:00
Aric Stewart 0608581768 rpcrt4: Handle NULL pclsid in NdrDllRegisterProxy and NdrDllUnregisterProxy. 2010-04-08 12:24:11 +02:00
Alexandre Julliard a8e86e35dd winapi: Generate the 64-bit variant of structure size/alignment tests. 2010-04-07 18:03:00 +02:00
Alexandre Julliard 334f3add29 rpcrt4: Implement proxy/stub delegation for x86_64. 2010-04-07 13:09:46 +02:00
Alexandre Julliard a758a38fae rpcrt4: Add support for marshalling int3264 types. 2010-04-07 13:09:30 +02:00
Alexandre Julliard cf50aa91f6 rpcrt4: Clean up handling of enum16 types. 2010-04-07 13:09:17 +02:00
Alexandre Julliard fe2f875aaf rpcrt4: Add support for complex arrays in the generic array unmarshalling functions. 2010-04-05 22:02:20 +02:00
Alexandre Julliard 3243ee7e0b rpcrt4: Add support for complex arrays in the generic array marshalling functions. 2010-04-05 22:01:46 +02:00
Alexandre Julliard c1a9dc8ad2 rpcrt4: Always skip the conformance format, even if conformance is not present in the buffer.
Add an identical SkipVariance function to make the code clearer.
2010-04-05 21:59:30 +02:00
Alexandre Julliard 5728d6b402 rpcrt4: Fix tracing of non-conformant strings. 2010-04-05 21:58:06 +02:00
Alexandre Julliard b91e5302a5 rpcrt4: Replace the alignment macros by inline functions. 2010-04-02 21:54:55 +02:00
Alexandre Julliard afa56b29ce rpcrt4: Fix the pointer alignment macros for 64-bit. 2010-04-02 21:38:32 +02:00
Mikhail Maroukhine 9b933a3594 rpcrt4: Fix compiler warnings with flag -Wcast-qual. 2010-04-01 18:12:41 +02:00
Alexandre Julliard d1c7029b34 rpcrt4: Always start the 64-bit version of rpcss.exe on Wow64. 2010-03-29 15:50:09 +02:00
Michael Stefaniuc 3a8a9620ab rpcrt4/tests: Fix duplicate expressions in if conditions. 2010-03-26 15:35:43 +01:00
Rob Shearman 1ff4bfe69a rpcrt4: Add test for [out] non-conformant array. 2010-03-23 17:27:13 +01:00
Alistair Leslie-Hughes 9d056eb8e2 rpcrt4: Added stub function CreateStubFromTypeInfo. 2010-03-22 15:52:35 +01:00
Rob Shearman f6c4c49f86 rpcrt4: Add tests for a complex array of pointers. 2010-03-19 16:25:48 +01:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Rob Shearman 088c0857c9 rpcrt4: Add support for marshalling/unmarshalling complex arrays of pointers. 2010-03-16 11:42:09 +01:00
Juan Lang 86292d1dba rpcrt4: Implement UuidCreateSequential using the machine's MAC address, when available. 2010-03-04 12:29:54 +01:00
Juan Lang b61c8f8b53 rpcrt4: Add tests for UuidCreateSequential. 2010-03-04 12:29:26 +01:00
Huw Davies 87b712be8b rpcrt4: Add support for FC_FLOAT and FC_DOUBLE in complex structures. 2010-02-22 13:18:50 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Huw Davies 24db8d384c rpcrt4: Fix tests on win64. 2010-02-15 16:07:53 +01:00
Paul Vriens 693dd47689 rcprt4/tests: Don't crash on NT4 or lower. 2010-02-12 16:39:39 +01:00
Huw Davies 6805045b05 rpcrt4: Add tests for multi-dimensional conformant arrays. 2010-02-11 17:47:59 +01:00
Paul Vriens da91da4652 rpcrt4/tests: Fix some memory leaks (Valgrind). 2010-01-22 13:07:39 +01:00
Rob Shearman c66972dfba rpcrt4: Add structure definition for RPC AUTH3 packet and use the size of this on sending to fix authentication against native servers.
Also use the new size to validate incoming AUTH3 packets to be
consistent with native.
2010-01-19 15:03:56 +01:00
Paul Vriens 876c3c352b rpcrt4/tests: Skip more tests on Win9x/WinMe. 2009-12-16 12:42:40 +01:00
Paul Vriens 4d1fa5833e rpcrt4/tests: Don't crash on NT4. 2009-12-16 12:42:39 +01:00
Marcus Meissner 122ca034db rpcrt4: Exit on unknown confirmance type (Coverity). 2009-12-15 16:09:11 +01:00
Hans Leidekker d95e58ba4d rpcrt4: Avoid test failures on win9x. 2009-12-15 11:45:00 +01:00
Hans Leidekker fddabccaa1 rpcrt4: Add tests for RPC calls with authentication. 2009-12-14 16:14:37 +01:00
Rob Shearman f823f2181e rpcrt4: Override inquire_auth_client for ncalrpc transport to always indicate that the connection is authenticated. 2009-12-14 12:19:37 +01:00
Rob Shearman 3dbf356f8f rpcrt4: Allow the authentication details of the client to be transport-specific. 2009-12-14 12:19:33 +01:00
Rob Shearman d918587f1d rpcrt4: Implement client impersonation. 2009-12-14 12:19:27 +01:00
Rob Shearman 95026f9d6b rpcrt4: Override authentication functions for ncalrpc protocol to do nothing.
The protocol is local only and therefore encryption/decryption isn't
necessary to keep the data private, and methods are built into the
protocol for impersonating the user of the calling thread.
2009-12-14 12:19:21 +01:00
Rob Shearman deae193ac8 rpcrt4: Allow the connection to override the authentication mechanism for a connection type. 2009-12-14 12:19:16 +01:00
Rob Shearman a65f7b637a rpcrt4: Process control packets in the server synchronously to avoid races when using 3-factor authentication.
The client has nothing to wait for after sending the AUTH3 packet
before sending the first request packet. Therefore, we must ensure
that the AUTH3 packet has finished being processed before we start
processing any request packets.
2009-12-14 12:19:09 +01:00
Rob Shearman e27e61db71 rpcrt4: Add support for server-side authentication. 2009-12-14 12:19:02 +01:00
Rob Shearman ceb7fda374 rpcrt4: Fix rpcrt4_conn_tcp_read and rpcrt4_conn_tcp_write for reading/writing zero-sized data. 2009-12-14 12:18:47 +01:00
Rob Shearman 6ad4d5922b rpcrt4: Implement RpcServerRegisterAuthInfoA/W. 2009-12-14 12:18:41 +01:00
Rob Shearman d412bcc3ae rpcrt4: Handle [out]-only non-conformant strings in stubless servers. 2009-12-14 12:04:05 +01:00
Rob Shearman b24aa1c153 rpcrt4: Add support for context handles in stubless servers. 2009-12-14 12:04:05 +01:00
Rob Shearman 15cd36d21d rpcrt4: Fix some memory leaks in the cstub tests. 2009-12-14 12:04:05 +01:00
Marcus Meissner 4c36f79964 rpcrt4: Fixed array_compute_and_size_conformance on strings (Coverity). 2009-12-07 14:18:28 +01:00
Alexandre Julliard e48f4253a4 rpcrt4/tests: Skip the get_ranged_enum test on old Windows versions. 2009-12-04 14:34:58 +01:00
Rob Shearman cd453f453f rpcrt4: Fix memory leak in test_conf_complex_struct. 2009-11-29 16:42:15 +01:00
Rob Shearman c8f9df7f1e rpcrt4: Fix uninitialised memory read in ndr_marshall tests.
The memory needs to be initialised since NDR will look at the memory
to see if it needs to allocate memory for embedded pointers.
2009-11-29 16:40:20 +01:00
Rob Shearman af271255f5 rpcrt4: Add tests for full pointers. 2009-11-18 15:15:21 +01:00
Rob Shearman 37793cd550 rpcrt4: Fix the pointer saved during full pointer unmarshalling.
The pointer address may set by the type unmarshalling function and
therefore will not be base_ptr_val. This value is the value at
*pPointer and is what needs to be retrieved during subsequent
unmarshalling of the same function.
2009-11-18 15:14:10 +01:00
Rob Shearman 51dbc8d06b rpcrt4: Fix the return value of NdrFullPointerQueryRefId for a pointer ID of 0. 2009-11-18 14:13:33 +01:00
Rob Shearman d6f293f7be rpcrt4: Add test for calling NdrFullPointerQueryRefId with a 0 pointer ID. 2009-11-18 14:13:30 +01:00
Rob Shearman 438f2a52a6 rpcrt4: Implement comm_status and fault_status handling for stubless procedures. 2009-11-16 17:16:33 +01:00
Rob Shearman cdc10a8d3b rpcrt4: Don't crash with a NULL binding handle in RpcBindingFree. 2009-11-16 17:16:19 +01:00
Rob Shearman b49512ecaf rpcrt4: Ignore the network address for ncalrpc in is_epm_destination_local.
The network address is ignored in the transport code, so it doesn't
make sense to take it into account here.
2009-11-16 17:16:14 +01:00
Rob Shearman eb0d2828b2 rpcrt4: Fix potential NULL pointer access in process_bind_packet.
Upon failure to allocate results in process_bind_packet, build nack
packet and send right away, instead of falling into the normal path
and potentially dereferencing the NULL pointer.
2009-11-16 11:34:58 +01:00
Hans Leidekker 03aae9e418 rpcrt4: Add tests for RpcBindingInqAuthInfo. 2009-11-12 15:18:54 +01:00
Hans Leidekker 8abe95ddfa rpcrt4: Implement RpcBindingInqAuthInfo{, Ex}. 2009-11-12 15:18:48 +01:00
Rob Shearman efda021c5d Revert "rpcrt4: The get_ranged_enum test doesn't work on Windows, so don't execute it for the moment.".
This reverts commit 81036cc51831db03f8e0eb03b5f74ae5099461cd.
2009-11-12 14:18:27 +01:00