Commit Graph

528 Commits

Author SHA1 Message Date
Rob Shearman 593d0fbac0 rpcrt4: Convert the named pipe server code to look directly into the
connection to get at the wait handles, instead of using
get_connect_wait_handle which isn't generic enough to be used for
other protocols.
Remove the unneeded get_connect_wait_handle function from the connection 
operations function list.
2006-10-31 21:41:29 +01:00
Rob Shearman 7553a8990c rpcrt4: Eliminate the extra thread used for RPC over TCP/IP servers by adding socket-specific server protseq functions. 2006-10-31 21:41:07 +01:00
Rob Shearman 709b536f0c rpcrt4: The allocation hint in request and response packets is just that - a hint.
It is not an error if the stub data exceeds this size, so reallocate the 
buffer with the newly calculated size and continue.
2006-10-27 12:00:22 +02:00
Rob Shearman fbe829cbb1 rpcrt4: Don't terminate the loop on the buffer becoming filled, but when we receive a packet with the RPC_FLG_LAST flag set.
This matches what is mentioned in the DCE/RPC specification.
2006-10-27 12:00:12 +02:00
Rob Shearman 28d3bd3e42 rpcrt4: Fix RPCRT4_Receive to accept authentication verifier data on any packets, not just bind packets. 2006-10-27 12:00:05 +02:00
Rob Shearman c3918d9be4 rpcrt4: Move transport-specific server functions to rpc_transport.c. 2006-10-25 20:21:41 +02:00
Damjan Jovanovic 48ca62185b rpcrt4: Added support for RPC TCP servers. 2006-10-20 14:46:55 +02:00
Robert Shearman 2f6e643d56 rpcrt4: Add a critical section to protect the connection list in each
protseq to avoid taking the process-wide server_cs in the hot path for
each protocol.
2006-10-16 19:58:17 +02:00
Robert Shearman 9ea03d7077 rpcrt4: Convert the protseq list into a standard Wine list. 2006-10-16 19:57:01 +02:00
Robert Shearman 1ceeb058e3 rpcrt4: Abstract out the way incoming connections are waited for so that we no longer need to wait on Win32 handles. 2006-10-16 19:56:38 +02:00
Robert Shearman 92c3979433 rpcrt4: Rename protseq_ops to connection_ops to reflect the fact that
the functions operate on an RpcConnection object, not an
RpcServerProtseq object.
2006-10-16 19:55:37 +02:00
Robert Shearman e906424178 rpcrt4: Create a server thread for each protseq. 2006-10-16 19:44:42 +02:00
Michael Stefaniuc 56b87f3a0f janitorial: Remove redundant NULL checks before calling HeapFree wrappers. 2006-10-16 10:52:48 +02:00
Francois Gouget 4794dc0e38 rpcrt4: Add RPC_CSTR, RPC_WSTR and update the prototypes accordingly. 2006-10-13 11:54:58 +02:00
Ge van Geldorp d642e11438 winapi_test: Regenerate tests.
Remove structs from test list which have preprocessor directives in
their definitions (winapi_test can't handle that).
2006-10-11 12:12:21 +02:00
Michael Stefaniuc 14c551bc3a rpcrt4/tests: Win64 printf format warning fixes. 2006-10-09 12:44:16 +02:00
Francois Gouget 82babbee0b Add missing '\n's to Wine traces. 2006-10-05 17:46:48 +02:00
Robert Shearman 2324aeec33 rpcrt4: Use I_Rpc{Allocate, Free} instead of Heap{Alloc, Free} as that
the former are exported by rpcrt4 seemingly to allow callers of tower
functions to free the allocated memory.
2006-10-03 16:14:57 +02:00
Robert Shearman 7dab87e2e9 rpcrt4: RpcBindingCopy is implemented. 2006-10-03 16:14:49 +02:00
Robert Shearman b9423076ba rpcrt4: Don't use HEAP_ZERO_MEMORY when most of the fields will be initialised to non-zero values. 2006-10-03 16:14:47 +02:00
Francois Gouget 1011bc47bf rpcrt4: Don't return void values. This fixes Visual C++ warnings. 2006-10-02 11:54:43 +02:00
Francois Gouget 68e84a7a53 Add missing '\n's to ok() calls. 2006-09-29 17:53:39 +02:00
Michael Stefaniuc 85ce5117c5 Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int. 2006-09-29 16:08:30 +02:00
Thomas Weidenmueller bc0f9c49b0 rpcrt4: Fix RpcMgmtSetServerStackSize prototype. 2006-09-28 14:03:50 +02:00
Andrew Talbot 8221beb225 rpcrt4: Cast-qual warnings fix. 2006-09-26 11:40:52 +02:00
Andrew Talbot 3f123e51bf rpcrt4: Cast-qual warnings fix. 2006-09-26 11:40:47 +02:00
Andrew Talbot 269f77d872 rpcrt4: Cast-qual warnings fix. 2006-09-26 11:40:41 +02:00
Andrew Talbot 7147f79153 rpcrt4: Cast-qual warnings fix. 2006-09-26 11:40:33 +02:00
Alexandre Julliard 32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Francois Gouget 06f9532dda Assorted spelling fixes. 2006-09-08 11:04:53 +02:00
Robert Shearman a6e545a27c rpcrt4: Raise an exception if IRpcChannelBuffer_GetBuffer fails.
Make StdProxy_GetIID and StdProxy_GetChannel return void.
Don't bother checking for This and pRpcChannelBuffer being NULL as 
native doesn't.
2006-09-07 11:42:05 +02:00
Huw Davies bd9891ffed rpcrt4: Add delegating stub support. 2006-09-07 10:57:39 +02:00
Huw Davies b058e6e729 rpcrt4: Add infrastructure to create and manage a variable sized vtbl
that will be used as the server object for delegated stubs.
2006-09-07 10:57:27 +02:00
Huw Davies 9b91307677 rpcrt4: Tests on NdrCStdStubBuffer_Release to show that we shouldn't call Disconnect.
Also call IPSFactoryBuffer_Release on the 2nd arg, rather than on This->pPSFactory.
2006-09-07 10:24:54 +02:00
Huw Davies 86aa95fd2b rpcrt4: Tidy up CStdStubBuffer_QueryInterface. 2006-09-07 10:23:00 +02:00
Huw Davies dffd3e5034 rpcrt4: Tidy up CStdStubBuffer_AddRef,Release. 2006-09-07 10:22:35 +02:00
Robert Shearman ada61620de rpcrt4: Make the reference counting in the standard proxy thread-safe. 2006-09-07 10:19:38 +02:00
Robert Shearman 3e01da1838 rpcrt4: Fix NdrStubGetBuffer to use the IRpcChannelBuffer object since
IRpcChannelBuffer_GetBuffer may put extra data onto the wire for ORPC
calls.
2006-09-07 10:18:52 +02:00
Robert Shearman 3535b70a0b rpcrt4: Remove some unused code. 2006-09-07 10:18:48 +02:00
Robert Shearman 5515633517 rpcrt4: Rename ndr_midl.c to ndr_clientserver.c to more accurately
idenitfy what the code contained does - it is a number of helpers for
generated client/server code.
2006-09-07 10:18:31 +02:00
Robert Shearman 583ae12233 rpcrt4: Move NdrStub* functions to cstub.c and move NdrProxy*
functions to cproxy.c since both sets of functions depend on the
implementations of the standard stubs and proxies.
2006-09-07 10:17:28 +02:00
Huw Davies d28698dd73 rpcrt4: Add a test for IRpcStubBuffer_Connect on a delegated stub.
This shows that we have a vtbl ptr at (void**)This-2 that is passed to
the base interface's IRpcStubBuffer_Connect.  This vtbl should
presumably forward calls to the real object's vtbl.  We can't simply
pass the real object to the base interface's stub, as the real
object's QI may not provide us with the base interface.
2006-08-29 12:26:31 +02:00
Huw Davies 161f60071e rpcrt4: Add a helper function to create a stub. 2006-08-29 12:26:22 +02:00
Alexandre Julliard 5cf75e615a makefiles: Only run test and documentation targets in directories that need them. 2006-08-28 13:37:44 +02:00
Huw Davies 487c691dc5 rpcrt4: Tests for CStdStubBuffer_Disconnect and a tidy up of the implementation. 2006-08-23 20:10:36 +02:00
Huw Davies f42f727f7c rpcrt4: Tests for CStdStubBuffer_Connect and fixes to make them pass. 2006-08-23 20:10:15 +02:00
Huw Davies cadc39842b rpcrt4: Add tests for CreateStub and fix up CStdStubBuffer_Construct to match. 2006-08-23 20:10:06 +02:00
Huw Davies 6a0fccd3a9 rpcrt4: Add tests for NdrStubForwardingFunction and write a commented out implementation.
This shows that the IRpcStubBuffer for a delegated stub's base
interface is stored at (void**)This-1.
2006-08-23 20:09:52 +02:00
Huw Davies a5dcb3e39d rpcrt4: Tests for NdrDllGetClassObject.
These show that delegated stubs need different Connect, Disconnect and
CountRefs methods than non-delegated stubs (ie they don't use all of
the CStdStubBuffer_* functions).
2006-08-23 20:09:04 +02:00
Stefan Huehner 998e256c82 Fix some -Wstrict-prototype warnings () -> (void). 2006-08-21 12:06:26 +02:00