Commit graph

666 commits

Author SHA1 Message Date
Rob Shearman
8a87d916b4 rpcrt4: Convert bind ack and nack reject reasons into RPC status codes when binding. 2007-07-23 11:48:13 +02:00
Dmitry Timoshkov
12d3905427 rpcrt4: Fix the buffer bounds check. 2007-07-19 12:03:50 +02:00
Rob Shearman
d212adbf10 rpcrt4: Add some more RPC to NCA status code mappings.
Add RPC_S_SEC_PKG_ERROR to the list of "hard" errors.
2007-07-18 12:56:16 +02:00
Rob Shearman
2703059933 rpcrt4: Never allocate memory for the discriminant in union_arm_unmarshall as the memory is part of the union and has already been allocated. 2007-07-16 22:46:59 +02:00
Rob Shearman
b44c16cc8d rpcrt4: Check to make sure there is enough data in the buffer during unmarshalling, so that the code doesn't try to read beyound the end of the buffer. 2007-07-16 22:46:55 +02:00
Rob Shearman
686c0f094c rpcrt4: Even though FC_ENUM16 is an unsigned type, the highest allowable value that can be marshalled is SHRT_MAX, not USHRT_MAX. 2007-07-16 22:46:47 +02:00
Rob Shearman
c6dc14d81b rpcrt4: Make binding to an interface a function of RpcAssoc instead of
binding handles, since binding requires information from the
association and not from the binding handle.
2007-07-13 12:27:17 +02:00
Rob Shearman
69eeb8b1b7 rpcrt4: Return a fault packet if the proc num exceeds the index of the last function available for the interface. 2007-07-05 19:53:53 +02:00
Rob Shearman
234b8cbe0a rpcrt4: Call RPCRT4_Send directly from PKT_RECEIVE handler in server.
Remove the WINE_RPCFLAG_EXCEPTION hack to pass exception information to 
I_RpcSend.
2007-07-05 19:53:47 +02:00
Rob Shearman
9c77d7ac1f rpcrt4: Translate between NCA and RPC status codes. 2007-07-05 19:53:29 +02:00
Rob Shearman
67c8fa58ec rpcrt4: Store the assoc_group_id in the connections. 2007-06-27 12:32:43 +02:00
Rob Shearman
9787f12589 rpcrt4: Make pointers to RPCRT4_BuildBindHeader and RPCRT4_BuildBindAckHeader const. 2007-06-27 12:32:43 +02:00
Rob Shearman
680e35643d rpcrt4: Remove the unused AuthInfo field from the RpcAssoc structure and Used from RpcConnection. 2007-06-27 12:32:42 +02:00
Dan Hipschman
46222aee6e widl: Allow enums as union switch types. 2007-06-26 11:59:53 +02:00
Dan Hipschman
ea7b1694de rpcrt4: Allow enums as union switch types. 2007-06-26 11:59:43 +02:00
Dan Hipschman
076a6206ff rpcrt4/tests: Wrap a try/except block around tests. 2007-06-26 11:59:32 +02:00
Dan Hipschman
512c36cae6 widl: Get simple enums working. 2007-06-26 11:59:02 +02:00
Rob Shearman
545c2a95f6 rpcrt4: Dereference the pointer passed to the marshaling/unmarshaling/sizing routines in complex types for interface pointers. 2007-06-25 23:21:55 +02:00
Rob Shearman
fc124eca6e rpcrt4: Implement marshalling, unmarshalling and buffer sizing for the context handle type. 2007-06-25 23:21:55 +02:00
Rob Shearman
d36f02eaa9 rpcrt4: Implement marshalling/unmarshalling for the range NDR type. 2007-06-25 23:21:54 +02:00
Rob Shearman
4174255e0c rpcrt4: Set PointerBufferMark to the buffer location immediately after the non-pointer data in complex struct and array marshaling and unmarshaling to keep to the DCE/RPC specification. 2007-06-25 23:21:54 +02:00
Rob Shearman
cbafe663b0 rpcrt4: Try a lot harder to resuse existing connections by comparing inside the RpcQualityOfService and RpcAuthInfo objects.
Store a copy of the SEC_WINNT_AUTH_IDENTITY structure passed in to
RpcBindingSetAuthInfo(Ex) to enable us to do this for RpcAuthInfo objects.
2007-06-25 23:21:54 +02:00
Rob Shearman
0ebcacca39 rpcrt4: Store the assoc_group_id field returned from the bind_ack packet and use it when creating further connections in the association group. 2007-06-25 23:21:53 +02:00
Rob Shearman
62c49bdd18 rpcrt4: When an exception is raised, return the stored exception code instead of the generic RPC_S_CALL_FAILED. 2007-06-25 23:21:53 +02:00
Rob Shearman
2de3d31a7a rpcrt4: Translate STATUS_ACCESS_VIOLATION exceptions caught whilst executing the stub function to ERROR_NOACCESS to prevent confusing exceptions occurring in the client. 2007-06-25 23:21:53 +02:00
Rob Shearman
c411d95e20 rpcrt4: Close the connection if a protocol error or certain other kinds of errors occur, instead of returning it to the connection pool. 2007-06-25 23:21:53 +02:00
Rob Shearman
0d05685b68 rpcrt4: Return a fault packet if the interface/object pair in a request packet aren't registered. 2007-06-25 23:21:52 +02:00
Rob Shearman
903fb72b21 rpcrt4: Add a STUBLESS_FREE phase for freeing the allocated memory in the server function. 2007-06-25 23:21:52 +02:00
Rob Shearman
a1dca20dd7 rpcrt4: Add support for ServerAllocSize parameters. 2007-06-25 23:21:52 +02:00
Rob Shearman
73c31ed309 rpcrt4: Don't use add on the sizes of array elements to an open-ended structure; use FIELD_OFFSET with the array index instead. 2007-06-25 23:21:52 +02:00
Dan Hipschman
4e8c8d03e5 widl: Add tests for arrays of pointers. 2007-06-21 13:10:46 +02:00
Rob Shearman
0f826e7cc1 rpcrt4: Use the offset to array data in embedded pointer format descriptions. 2007-06-20 13:08:30 +02:00
Dan Hipschman
d2c15ed01b rpcrt4: Fix typo in union buffer size calculation. 2007-06-19 11:46:02 +02:00
Dan Hipschman
6fd05b1dc7 rpcrt4: Fix bug calculating union switch type. 2007-06-19 11:45:51 +02:00
Dan Hipschman
b09b917a5c rpcrt4: Remove inaccurate comments. 2007-06-19 11:45:44 +02:00
Dan Hipschman
08c846a9da rpcrt4: Add encapsulated union tests. 2007-06-19 11:45:11 +02:00
Rob Shearman
0871ab9130 rpcrt4: Implement encapsulated union NDR functions. 2007-06-18 13:58:09 +02:00
Dan Hipschman
3325020636 widl: Handle wire_marshal pointer attributes. 2007-06-14 11:36:05 +02:00
Dan Hipschman
2bc8808be1 widl: Test structure argument marshalling. 2007-06-14 11:35:55 +02:00
Dan Hipschman
c0982b42c5 widl: Handle wire_marshal types. 2007-06-14 11:35:44 +02:00
Dan Hipschman
88c8128704 widl: Simplify correlation descriptor code. 2007-06-12 11:13:30 +02:00
Dan Hipschman
8f689ee023 widl: Implement conformant structure handling. 2007-06-06 12:13:35 +02:00
Dan Hipschman
978b4d4f4e widl: Represent arrays with type_t. 2007-06-06 12:13:16 +02:00
Dan Hipschman
e5c8a6eb5d rpcrt4: Fix build of test on Solaris by renaming a variable. 2007-05-31 13:07:13 +02:00
Francois Gouget
8d7ad785e3 rpcrt4/tests: Fix a Visual C++ double to float conversion warning. 2007-05-29 13:46:19 +02:00
Francois Gouget
f27a7153a5 rpcrt4/tests: Fix signed/unsigned and 32/64bit issues with the wiredatalen parameter. 2007-05-29 13:46:14 +02:00
Dmitry Timoshkov
3c9e7a7f33 wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility. 2007-05-25 20:37:56 +02:00
Dan Hipschman
8f7a5d63ec widl: Allow types that reference themselves. 2007-05-25 19:36:12 +02:00
Dan Hipschman
00ce411231 widl: Handle pointers in unions.
Unify write_pointers with write_embedded_types, and handle pointers in
unions.  Includes tests.
2007-05-25 19:35:29 +02:00
Dan Hipschman
b4e8073f8c rpcrt4: Fix test typo. 2007-05-25 19:35:02 +02:00