Alexandre Julliard
d2ca9f4b02
rpcrt4: Add ref counting to RPC connections, and grab a reference while processing an RPC packet.
2012-02-14 17:59:27 +01:00
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