Commit Graph

883 Commits

Author SHA1 Message Date
Austin English
313a85f163 Spelling fixes. 2008-04-17 12:25:57 +02:00
Marcus Meissner
bd38e2b0ed rpcrt4: Handle exit path where bind not allocated yet. 2008-04-16 14:12:30 +02:00
Rob Shearman
4efff32291 rpcrt4: Test and fix I_RpcExceptionFilter. 2008-04-16 14:07:31 +02:00
Rob Shearman
e05ccfe2bb rpcrt4: Add buffer size checks to base type unmarshalling.
Reimplement NdrSimpleTypeUnmarshall using similar macros to
NdrBaseTypeUnmarshalling without buffer checks, due to
NdrSimpleTypeUnmarshall not doing any safety checks.
2008-04-14 12:40:22 +02:00
Rob Shearman
9a2914b11f rpcrt4: Implement I_RpcExceptionFilter. 2008-04-11 12:12:30 +02:00
Rob Shearman
8aeb2858e4 rpcrt4: Add a reference to the binding object in I_RpcNegotiateTransferSyntax and release the reference in I_RpcFreeBuffer.
This is needed because a context binding handle could be released on 
unmarshall, but it still needs to stay valid until the binding handle is 
no longer being used.

Re-use the previously unused RPCRT4_ExportBinding function as 
RPCRT4_AddRefBinding and rename RPCRT4_DestroyBinding to 
RPCRT4_ReleaseBinding to show that it's purpose is to release a 
reference count and destroy if necessary, not always destroy.
2008-04-01 19:11:00 +02:00
Rob Shearman
c7f9b9347f rpcrt4: Improve trace in RPCRT4_find_interface to print the interface identifier data as well as the object guid. 2008-04-01 19:10:48 +02:00
Andrew Talbot
1f53b85445 rpcrt4: Void functions should not return a value. 2008-03-31 12:13:59 +02:00
Rob Shearman
c06f26f2e3 rpcrt4: Print an error if an invalid client context handle is used. 2008-03-28 21:42:15 +01:00
Dan Hipschman
2fa83d94c8 widl: Make structures with FC_ENUM16 fields complex.
Structures containing enum fields without the v1_enum attribute must be
treated as complex because of the range check and memory/wire size
differences.  This includes a test which didn't pass before and now
passes on Wine and Windows.
2008-03-21 11:24:28 +01:00
Dan Hipschman
629a29d81e rpcrt4: Handle FC_ENUM16. 2008-03-21 11:24:19 +01:00
Dan Hipschman
764cf334d6 rpcrt4: Use correct count in rpcrt4_conn_np_write.
count is the total count passed into rpcrt4_conn_np_write.  If WriteFile
does a partial write it would end up writing too much subsequent times
through the loop.  All tests pass as before.
2008-03-20 14:27:34 +01:00
Rob Shearman
f15287dea7 rpcrt4: Add a stub for RpcCancelThreadEx. 2008-03-17 15:20:07 +01:00
Andrew Talbot
db6a901bf4 rpcrt4: Assign to structs instead of using memcpy. 2008-03-14 11:21:29 +01:00
Rob Shearman
0e7b25349d rpcrt4: Fix the pointer level being passed into call_unmarshaller in client_do_args_old_format for base return parameters.
NdrBaseTypeUnmarshall expects a pointer to a pointer to a base type. 
pRetVal contains a pointer to a base type, so we need to pass the 
address of pRetVal into call_unmarshaller here.
2008-03-10 19:25:55 +01:00
Rob Shearman
259ccc573c rpcrt4: Fix -Oi interpreter for base types.
Don't call memory sizing rountines to compute the size of a type, since
memory sizing routines have side effects like checking there is enough
space in the buffer for the type and incrementing the buffer pointer.
Instead, create a function which returns the necessary size of the
limited set of types we can encounter and remove call_memory_sizer which
is no longer needed.
2008-03-10 19:12:54 +01:00
Rob Shearman
a5599028ea rpcrt4: Check that the input to RPCRT4_strndupW was not NULL before assuming that the string couldn't be allocated due to lack of memory. 2008-03-10 19:12:54 +01:00
Rob Shearman
a1e4bcda1a rpcrt4: Use closesocket to close sockets and define it to close on Unix platforms to make the code more portable. 2008-03-06 17:39:31 +01:00
Rob Shearman
48000893f9 makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
Only specify the root to keep platform-specifics out of the individual 
DLL makefiles.
2008-03-04 20:55:01 +01:00
James Hawkins
00394486df janitorial: Remove links to any microsoft site. 2008-03-01 12:03:59 +01:00
Rob Shearman
5dd2f1efa8 Include config.h and wine/port.h in files that use snprintf. 2008-02-29 12:39:28 +01:00
Paul Vriens
6832c8327d rpcrt4/tests: Make tests run on win9x/NT4 again. 2008-02-28 12:57:02 +01:00
Rob Shearman
f7628b69b0 rpcrt4: Add tests for RpcStringBindingParseA. 2008-02-28 10:50:57 +01:00
Rob Shearman
5fce2d8839 rpcrt4: Don't crash in RpcStringBindingParseA/W if Endpoint or Options is NULL. 2008-02-28 10:50:57 +01:00
Rob Shearman
0287289475 rpcrt4: Include ws2tcpip.h instead of Unix headers when targeting a build for Windows. 2008-02-25 13:27:54 +01:00
Dan Hipschman
2d7b1f18b1 widl: Allow is_string_type to work for typedef'd types. 2008-02-22 12:04:26 +01:00
Rob Shearman
8608e895eb Add a new convenience macro for an exception handler that handles all exceptions.
When using native compiler exceptions, the previous method of doing 
this, __EXCEPT(NULL), would expand to __except( 
(NULL)(GetExceptionInformation())) which doesn't compile as NULL isn't a 
function.

So add a new macro, __EXCEPT_ALL, which works correctly both when using 
native compiler exceptions and without and which makes the meaning of 
code in which it is used clearer.
2008-02-16 14:58:24 +01:00
Rob Shearman
a82f4dd9b7 Don't use GetExceptionCode and GetExceptionInformation in exception filter functions.
When using native compiler exceptions, it isn't valid to use 
GetExceptionCode and GetExceptionInformation anywhere other than in the 
filter or handler blocks since it would be very hard for the compiler to 
work out where to retrieve the exception information from on the stack.

Therefore, remove the WINE_EXCEPTION_FILTER and WINE_FINALLY_FUNC macros 
which enabled GetExceptionCode, GetExceptionInformation and 
AbnormalTermination to be used inside of the functions they declared and 
fix up all callers to access the information directly.
2008-02-16 14:57:44 +01:00
Rob Shearman
610c213f6d rpcrt4: Add some traces to async_notifier_proc.
Make the test of the return value of wait_for_incoming_data less strict.
2008-02-15 09:53:16 +01:00
Paul Vriens
e2539cb9e5 rpcrt4/tests: Don't crash on WinXP SP3. 2008-02-11 20:41:40 +01:00
Paul Vriens
517168b4c5 rpcrt4/tests: Vista uses the same status values as Windows 2003. 2008-02-11 20:41:40 +01:00
Paul Vriens
8554db9f5c rpcrt4/tests: Skip rest of the tests if we fail. 2008-02-08 12:08:32 +01:00
Paul Vriens
a9e29c7576 rpcrt4/tests: Change test for Windows 2003. 2008-02-08 12:08:25 +01:00
Alexandre Julliard
05c7174909 tests: Add a helper routine to wait for a child process and propagate its result correctly. 2008-02-07 12:56:00 +01:00
Rob Shearman
1ceef1e149 rpcrt4: Fix potential memory leaks on error paths in RPCRT4_io_thread. 2008-02-05 12:19:37 +01:00
Rob Shearman
8e667fd89c rpcrt4: Fix potential memory leaks in RPCRT4_Receive. 2008-02-05 12:19:37 +01:00
Rob Shearman
7bc9e425f1 rpcrt4: Fix memory leaks in the rpc tests. 2008-02-04 13:04:37 +01:00
Rob Shearman
3024b530c9 rpcrt4: Fix some incorrect checks in RPCRT4_Receive. 2008-02-04 13:02:49 +01:00
Rob Shearman
7277113af3 rpcrt4: Check the return value of RPCRT4_ClientAuthorize in RPCRT4_Send. 2008-01-23 20:45:55 +01:00
Rob Shearman
2badb4faea rpcrt4: Pass the SPN input to RpcBindingSetAuthInfoA/W into InitializeSecurityContextW instead of AcquireCredentialsHandleA/W. 2008-01-23 20:45:52 +01:00
Rob Shearman
fef5ce52ce rpcrt4: Fix the error handling in RpcBindingSetAuthInfoA/W when RpcAuthInfo_Create fails.
Don't release the old auth info until we successfully have a new auth 
info and return failure to the caller if RpcAuthInfo_Create fails.
2008-01-23 20:45:44 +01:00
Marcus Meissner
20dcbc3de9 rpcrt4: Initialize CurrentHeader. 2008-01-23 12:05:24 +01:00
Rob Shearman
426418f725 rpcrt4: Don't set BufferStart and BufferEnd in NdrStubCall2.
The operations peformed by the stubless code should roughly match what 
operations MIDL outputs in code, and it doesn't do this.
2008-01-22 11:18:56 +01:00
Rob Shearman
e2578c5bb6 rpcrt4: Remove some unimplemented win9x-only spec entries.
We're never going to implement the undocumented ones and we're moving 
more and more towards the architecture of the more recent versions of 
native rpcrt4.
2008-01-21 12:42:06 +01:00
Rob Shearman
2b0d3b7400 rpcrt4: Move the receiving of an individual fragment to a separate function. 2008-01-21 12:42:02 +01:00
Rob Shearman
5f077bab07 rpcrt4: Implement asynchronous RPC support. 2008-01-21 12:41:51 +01:00
Rob Shearman
a4b18699ac rpcrt4: Only initialise the context handle to NULL in NdrContextHandleUnmarshall if it is an out-only or return one.
Fix the indentation and add tracing of the context handle flags.
2008-01-17 15:30:30 +01:00
Rob Shearman
6ec9e0c77a rpcrt4: Add an exception handler for stubless object proxies. 2008-01-17 15:30:18 +01:00
Andrew Talbot
3c14ae6699 rpcrt4: Remove unneeded casts. 2008-01-17 13:42:14 +01:00
Rob Shearman
68c8e5fe41 rpcrt4: Add tests for RPC_FC_P_DEREF|RPC_FC_P_ONSTACK pointers. 2008-01-16 15:34:26 +01:00