Rob Shearman
5f6ae94ad0
rpcrt4: Implement RPC over HTTP support.
...
CodeWeavers did this work for supporting the optional HTTP connection
method of Outlook 2003/2007 (must be running with Windows versions set
to XP or higher to see this option).
This was written before Microsoft publicly released a specification
for the RPC over HTTP protocol and so was developed by examining
traffic flowing between a Windows client and an IIS server.
2009-03-25 15:20:52 +01:00
Michael Stefaniuc
e3bb1c8243
rpcrt4: Remove superfluous pointer casts.
2009-02-16 16:01:37 +01:00
Andrew Talbot
273b40656b
rpcrt4: Declare some functions static.
2009-01-19 13:36:26 +01:00
Michael Stefaniuc
57ab0cd9a6
include: sspi.h: Use the Win types as per MSDN.
...
This improves the Win64 compatibility.
2009-01-06 12:43:46 +01:00
Michael Stefaniuc
e86eb8efa6
include: Change RPC_STATUS from long to LONG for Win64 compatibility.
...
Also fix the compiler warnings introduced by this change.
2009-01-04 13:34:38 +01:00
Alexandre Julliard
83b6c8a5fa
rpcrt4: Convert source files to utf-8.
2008-10-18 19:20:44 +02:00
Rob Shearman
be9909ad1d
rpcrt4: Print error messages from RPC message functions when they are called in an invalid way.
2008-09-12 16:49:45 +02:00
Rob Shearman
6bb26abe81
rpcrt4: Make RpcAssoc_BindConnection use RPCRT4_ReceiveWithAuth instead of RPCRT4_Receive.
...
Move the special handling of the PKT_BIND_ACK packet from
RPCRT4_ReceiveWithAuth to RpcAssoc_BindConnection, where it belongs.
2008-06-19 11:44:28 +02:00
Rob Shearman
6bb03d7dba
rpcrt4: Add new function RPCRT4_ReceiveWithAuth to receive a fragment and return the authentication data received, if any.
2008-06-19 11:44:22 +02:00
Rob Shearman
dec4acd8fe
rpcrt4: Rename RPCRT4_SendAuth to RPCRT4_SendWithAuth.
2008-06-19 11:44:17 +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
Andrew Talbot
db6a901bf4
rpcrt4: Assign to structs instead of using memcpy.
2008-03-14 11:21:29 +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
Rob Shearman
8e667fd89c
rpcrt4: Fix potential memory leaks in RPCRT4_Receive.
2008-02-05 12:19: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
Marcus Meissner
20dcbc3de9
rpcrt4: Initialize CurrentHeader.
2008-01-23 12:05:24 +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
Andrew Talbot
3c14ae6699
rpcrt4: Remove unneeded casts.
2008-01-17 13:42:14 +01:00
Rob Shearman
d0f914befc
rpcrt4: Bind to the server interface in I_RpcGetBuffer, not I_RpcSendReceive.
...
The actual sending of the request is still done in I_RpcSendReceive though.
Disallow the server from calling I_RpcSend and I_RpcReceive to allow
simplification of the code. The releasing of the connection is now done
in I_RpcFreeBuffer.
Implement I_RpcNegotiateTransferSyntax.
2008-01-08 14:00:50 +01:00
Rob Shearman
b0cbf664f6
rpcrt4: Add stubs for I_RpcAsyncSetHandle and I_RpcAsyncAbortCall.
2008-01-07 22:55:39 +01:00
Rob Shearman
31676530c2
rpcrt4: Set the ProcNum of RPC_MESSAGE in NdrClientInitializeNew to include RPC_VALID_FLAGS_BIT.
...
Mask out RPC_VALID_FLAGS_BIT from ProcNum when it is used to build a
packet to send to the server.
2008-01-07 22:55:28 +01:00
Rob Shearman
0e6d5202c8
rpcrt4: Don't set Buffer to NULL in I_RpcFreeBuffer.
2008-01-07 12:04:31 +01:00
Rob Shearman
22f530c835
rpcrt4: Make a server association when a bind packet is received in the server.
...
Support handing out association group IDs.
2007-12-17 11:59:13 +01:00
Rob Shearman
34522de870
rpcrt4: Errors in sending or receiving packets should result in RPC_S_CALL_FAILED being returned, not RPC_S_PROTOCOL_ERROR.
2007-11-30 11:55:50 +01:00
Rob Shearman
a51486c657
rpcrt4: Implement RpcCancelThread for the ncacn_ip_tcp protocol sequence.
2007-11-13 13:34:50 +01:00
Rob Shearman
2eb0e1ce21
rpcrt4: Fix a trace in RPCRT4_SecurePacket.
2007-09-12 11:33:11 +02:00
Rob Shearman
e0e27e4dfb
rpcrt4: Correctly handle the failure of RPCRT4_SecurePacket in RPCRT4_Receive.
2007-09-12 11:33:10 +02:00
Andrew Talbot
fa3d623882
rpcrt4: Constify some variables.
2007-08-20 11:56:05 +02:00
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
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
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
9787f12589
rpcrt4: Make pointers to RPCRT4_BuildBindHeader and RPCRT4_BuildBindAckHeader const.
2007-06-27 12:32:43 +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
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
Andrew Talbot
d5d056ef75
rpcrt4: Exclude unused headers.
2007-05-18 14:11:22 +02:00
Rob Shearman
35e99b50f1
rpcrt4: Print the correct values when warning about a bad frag length.
2007-04-30 12:33:19 +02:00
Rob Shearman
173590a664
rpcrt4: Fixing the using of the auth_len values the wrong way round - PKT_PRIVACY implies the packet will be encrypted, not just signed.
2007-03-28 12:14:18 +02:00
Rob Shearman
763fe63213
rpcrt4: Use the correct authorization trailer length using information from the security provider.
...
Previously it was hardcoded to 16, so only the NTLM provider would work correctly.
2007-03-27 13:00:00 +02:00
Rob Shearman
88295b9a02
rpcrt4: Call CompleteAuthToken if InitializeSecurityContext returned a code that says it should be called.
...
Currently, the only security provider that requires this is the Digest
one, which we don't really care about, but is supported for completeness.
2007-03-27 12:59:42 +02:00
Rob Shearman
88e9b3fad8
rpcrt4: Call InitializeSecurityContext from only one function.
...
This reduces the amount of code and ensures that the parameters passed
to it stay the same, apart from the previous context and the output
buffer description.
2007-03-27 12:42:05 +02:00
Rob Shearman
7abb647cd3
rpcrt4: Retrieve the maximum token length from the security provider rather than using a hardcoded and rather small limit.
2007-03-27 12:41:54 +02:00
Rob Shearman
ca6fe3fbf2
rpcrt4: Fix a memory leak in I_RpcSendReceive caused by I_RpcReceive overwriting pMsg->Buffer.
...
(Reported by Huw Davies.)
2007-02-21 19:48:51 +01:00
Rob Shearman
b491d926d5
rpcrt4: Add documentation for the I_Rpc* RPC message functions.
2007-02-21 19:48:44 +01:00
Andrew Talbot
3bc14d9110
rpcrt4: Declare some functions static.
2007-01-25 12:04:18 +01:00
Rob Shearman
06dd3efe2f
rpcrt4: RPC_C_AUTHN_LEVEL_NONE and RPC_C_AUTHN_LEVEL_DEFAULT are
...
handled at the binding level now instead of the message level, so
remove this special handling in RPCRT4_Send.
2006-11-22 11:37:15 +01:00