Commit Graph

317 Commits

Author SHA1 Message Date
Robert Shearman 07d032b24b rpcrt4: The arm type mask should be comparing the highest byte against 0x80, as documented on MSDN.
Fix base type arm handling on little-endian machines, as the current
code would always pass in the address to the format char of 0x80
instead of the base type format char.
2006-05-15 14:07:59 +02:00
Robert Shearman 5cdfeeeed3 rpcrt4: Make ComplexStructSize increment the buffer. 2006-05-15 14:07:36 +02:00
Robert Shearman 3e988bfc4f rpcrt4: Pass in the buffer value before incrementing to PointerMarshall in NdrPointerMarshall. 2006-05-15 14:07:25 +02:00
Robert Shearman 22bf15049c rpcrt4: Implement NdrComplexStructMemorySize. 2006-05-15 14:07:13 +02:00
Robert Shearman cedbddbfde rpcrt4: Implement NdrComplexArrayMemorySize. 2006-05-15 14:06:55 +02:00
Robert Shearman 7ea0b860c5 rpcrt4: Fix the fault packet structure to comply with the DCE/RPC specification. 2006-05-15 14:06:52 +02:00
Robert Shearman 628c5e9baf rpcrt4: The NDR memory sizing functions should increment the buffer pointer, so make sure to save it before calling one of these and restore it afterwards. 2006-05-15 14:06:41 +02:00
Robert Shearman dcd0a39d4c rpcrt4: Make NdrBaseTypeMemorySize increment the buffer and memory size fields of MIDL_STUB_MESSAGE. 2006-05-15 14:06:31 +02:00
Robert Shearman 4d65110b90 rpcrt4: Make NdrConformantStringUnmarshall use the new Read{Variance,Conformance}
functions and adapt them to be callable without having a correlation
descriptor.
2006-05-15 14:06:05 +02:00
Mike McCormack a9886585de rpcrt4: Add missing PKT_AUTH3 packet type. 2006-05-15 13:56:58 +02:00
Mike McCormack 7b5e5b65b0 rpcrt4: Add infrastructure for send authentication data. 2006-05-15 13:56:54 +02:00
Mike McCormack 1912fceab6 rpcrt4: Forward RpcBindingSetAuthInfo to RpcBindingSetAuthInfoEx. 2006-05-15 13:56:50 +02:00
Francois Gouget 325912de98 rpcrt4: Fix some conditional includes.
Check for HAVE_UNISTD_H before including unistd.h.
There is no HAVE_SYS_TYPES to check.
Tweak the indentation of a few #include directives.
2006-05-15 11:09:41 +02:00
Mike McCormack 9088debbfb rpcrt4: Cache the connection so we don't rebind on every call. 2006-05-10 19:26:29 +02:00
Robert Shearman ababfdef82 rpcrt4: Use the buffer passed in as an argument and don't increment
the buffer in the MIDL_STUB_MESSAGE in the inner pointer
marshalling/unmarshalling routines as these can be used for embedded
pointers, which handle the allocating or finding of the buffer
themselves. Do the incrementing in the outer
NdrPointerMarshall/Unmarshall/BufferSize routines instead.
2006-05-10 19:26:10 +02:00
Robert Shearman c3a087eb45 rpcrt4: Align conformances and variances correctly, according the the DCE/RPC spec. 2006-05-10 19:25:45 +02:00
Robert Shearman 265045d251 rpcrt4: Move the writing and sizing of variances and conformances to common functions. 2006-05-10 19:25:37 +02:00
Robert Shearman 4b4192f3a5 rpcrt4: Correctly align the buffer to read/write array data to. 2006-05-10 19:25:26 +02:00
Robert Shearman 95d79e2c58 rpcrt4: Correctly align the buffer before reading/writing structure data. 2006-05-10 19:25:16 +02:00
Robert Shearman 5616c4150c rpcrt4: Rename NonEncapsulatedUnionSize to NdrNonEncapsulatedUnionMemorySize. 2006-05-10 19:25:06 +02:00
Robert Shearman 75fe824e89 rpcrt4: Remove unintuitive requirement to pass the required alignment boundary minus one into the alignment macros. 2006-05-10 19:24:50 +02:00
Robert Shearman f7fa650d1b rpcrt4: Automatically resolve the endpoint. 2006-05-08 15:36:29 +02:00
Robert Shearman cce073a777 rpcrt4: Use getaddrinfo to get the sockaddr.
Use getaddrinfo to get the sockaddr to use for connecting to a remote
server as Connection->NetworkAddr may be a hostname as well. Use a
loop to support both IP and IPv6.
2006-05-07 10:04:40 +02:00
Robert Shearman 772eb9bdf9 rpcrt4: Implement NdrConformantVaryingArrayFree. 2006-05-07 10:03:01 +02:00
Robert Shearman b43e799486 rpcrt4: Dereference the pointer if necessary only after doing the
pointer checks and writing the pointer ID to the wire.
2006-05-07 10:02:05 +02:00
Robert Shearman a4f5296ec6 rpcrt4: Add a stub for RpcBindingSetOption. 2006-05-07 10:01:44 +02:00
Robert Shearman 9519004b1a rpcrt4: Improve the traces in the pointer functions. 2006-05-07 10:01:37 +02:00
Huw Davies b1d5158980 rpcrt4: Support for non-encapsulated unions. 2006-05-05 16:55:49 +02:00
Mike McCormack 4e49c380c4 rpcrt4: Add stub implementations for RPC authentication functions. 2006-05-05 16:33:54 +02:00
Mike McCormack 481cec4006 rpcrt4: Invalid sockets should have a value of -1. 2006-04-21 12:44:45 +02:00
Mike McCormack 3d5e517e5b rpcrt4: Add support for the ncacn_ip_tcp transport layer. 2006-04-21 11:34:08 +02:00
Mike McCormack 5bfb579f9a rpcrt4: Add a stub transport layer for ncacn_ip_tcp. 2006-04-21 11:32:57 +02:00
Mike McCormack 87ddd7b53a rpcrt4: Hide the details of the rpc transport mechanism. 2006-04-21 11:32:44 +02:00
Mike McCormack 83109e4937 rpcrt4: Abstract RPCRT4_SpawnConnection. 2006-04-21 11:32:29 +02:00
Mike McCormack e7e209da64 rpcrt4: Move the connected check inside the named pipe code. 2006-04-21 11:32:07 +02:00
Mike McCormack 5c6f72873a rpcrt4: Split the transport layer into a different file. 2006-04-21 11:31:51 +02:00
Mike McCormack 9b791e0983 rpcrt4: Allocate RpcServerProtseq in a single place. 2006-04-21 11:28:39 +02:00
Mike McCormack fe99f330ab rpcrt4: Abstract the transport layer functionality. 2006-04-20 19:48:15 +02:00
Mike McCormack 0ee6f59cc0 rpcrt4: Use a separate function to open each protseq. 2006-04-20 15:30:23 +02:00
Mike McCormack 3a4a76be2f rpcrt4: Abstract access to the connection's waitable object. 2006-04-20 15:17:06 +02:00
Robert Shearman 0ced865aa1 rpcrt4: Don't apply the offset to the pointer passed to callback conformance functions. 2006-04-20 15:12:20 +02:00
Robert Shearman 8d36337644 rpcrt4: Free all pointers by default, except for conformant strings.
Free all pointers by default, except for conformant strings.
Conformant arrays should always be freed.
Add FC_CVARRAY to list of known types to avoid a FIXME.
2006-04-20 15:12:07 +02:00
Robert Shearman b36d5fa11f rpcrt4: Fix some memory leaks. 2006-04-20 15:11:51 +02:00
Robert Shearman 98facf4d0f rpcrt4: Use the documented NDR_PROC_HEADER_EXTS structure.
Use the documented NDR_PROC_HEADER_EXTS structure instead of the
current NDR_PROC_EXTENSIONS structure currently in ndr_stubless.c.
2006-04-20 15:11:34 +02:00
Robert Shearman 28f494e31a rpcrt4: Use INTERPRETER_OPT_FLAGS in ndrtypes.h instead of flags on an unsigned char. 2006-04-20 15:11:24 +02:00
Robert Shearman 312df9bf7f rpcrt4: Store the return value on the stack for interpreted stubs.
Store the return value on the stack for stubs, as MIDL reserves space
for it and gives us a stack offset. This fixes calling methods with
thunks that assume that the return value will be stored on the stack.
2006-04-20 15:10:25 +02:00
Robert Shearman f4de78babe rpcrt4: Correctly fill in StackTop for stubless clients/servers.
Correctly fill in StackTop for stubless clients/servers so that
conformance for top-level parameters works.
2006-04-20 15:10:09 +02:00
Robert Shearman 727e25d673 rpcrt4: There's no need to set stubMsg.StackTop twice. 2006-04-20 15:09:49 +02:00
Robert Shearman a674ec0fda rpcrt4: Fix the MSVC version of call_server_func.
Fix the MSVC version of call_server_func to pop the registers in the
same order they were pushed.
2006-04-20 15:09:39 +02:00
Mike McCormack 5f6ac9c484 rpcrt4: Use rpcrt4_conn_read in RPCRT4_OpenBinding. 2006-04-19 19:17:42 +02:00