Commit Graph

99 Commits

Author SHA1 Message Date
Marcus Meissner bd38e2b0ed rpcrt4: Handle exit path where bind not allocated yet. 2008-04-16 14: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
Andrew Talbot db6a901bf4 rpcrt4: Assign to structs instead of using memcpy. 2008-03-14 11:21:29 +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 5fce2d8839 rpcrt4: Don't crash in RpcStringBindingParseA/W if Endpoint or Options is NULL. 2008-02-28 10:50:57 +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
Rob Shearman 737510eeb6 rpcrt4: Move association code into a separate file. 2007-12-17 11:59:18 +01:00
Rob Shearman 5191498564 rpcrt4: Fix a copy-and-paste error in RpcAuthInfo_Release that caused a double free of memory. 2007-09-19 11:36:28 +02:00
Andrew Talbot fa3d623882 rpcrt4: Constify some variables. 2007-08-20 11:56:05 +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 67c8fa58ec rpcrt4: Store the assoc_group_id in the connections. 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
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
Andrew Talbot d5d056ef75 rpcrt4: Exclude unused headers. 2007-05-18 14:11:22 +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 7e061e4f64 rpcrt4: Make some parameters of non-exported functions const. 2007-03-27 12:39:18 +02:00
Rob Shearman adb7cca85c rpcrt4: Implement associations which are intermediary objects that track the relationship between the client and a given endpoint on the server.
Use these to encapsulate the connection pool so that the lifetimes of 
connections are properly handled again.
2007-03-27 12:39:05 +02:00
Francois Gouget 62662d21dd rpcrt4: Improve the prototypes Win64 compatibility by replacing long with LONG. 2007-02-06 13:23:53 +01:00
Andrew Talbot 3bc14d9110 rpcrt4: Declare some functions static. 2007-01-25 12:04:18 +01:00
Rob Shearman 399844e9f6 rpcrt4: RPCRT4_strdupWtoA and RPCRT4_strdupAtoW don't change the input string, so make the input const. 2007-01-25 12:00:13 +01:00
Rob Shearman 961455c7f0 rpcrt4: Stash away NetworkOptions passed in from the binding string so that transports can look at the string if needed. 2007-01-25 12:00:10 +01:00
Rob Shearman d05f5f33a4 rpcrt4: When copying quality of service, deep copy TransportCredentials structure too.
Remove some no longer relevant fixmes.
2007-01-24 12:07:24 +01:00
Rob Shearman 4b79a0252a rpcrt4: Track the security quality of service settings for bindings and connections. 2007-01-22 12:01:54 +01:00
Rob Shearman 20c53a77e2 rpcrt4: Allow applications to specify authentication levels other than connect in RpcBindingSetAuthInfoA/W.
Map the default authentication level and service to sane values.
Don't create an RpcAuthInfo object if RPC_C_AUTHN_LEVEL_NONE is specified.
2006-11-22 11:37:08 +01:00
Rob Shearman 8e178b2d4f rpcrt4: Fix a crash in RPCRT4_OpenBinding that can occur if
RPCRT4_CreateConnection fails by checking the return value from the
function and returning in this case.
2006-11-15 11:25:44 +01:00
Michael Stefaniuc de21efbadd rpcrt4: Win64 printf format warning fixes. 2006-11-10 11:31:59 +01:00
Rob Shearman 8b6c30ab4b rpcrt4: Open the endpoint from the caller of RpcServerUseProtseq* instead of the protseq server thread.
This allows errors to be returned to the caller and to create more than 
one connection for an endpoint.
2006-11-09 10:36:47 +01:00
Rob Shearman 3acc624219 rpcrt4: Remove unnecessary quotes in traces, as debugstr_a and debugstr_w add them instead. 2006-11-06 12:27:21 +01:00
Francois Gouget 4794dc0e38 rpcrt4: Add RPC_CSTR, RPC_WSTR and update the prototypes accordingly. 2006-10-13 11:54:58 +02:00
Robert Shearman 488c0a0423 rpcrt4: Make the error output on a failed binding more informative
by dumping information about the interface it is trying to bind to.
2006-08-04 20:27:13 +02:00
Robert Shearman ba9158e2e1 rpcrt4: Improve the stubs for RpcImpersonateClient and RpcRevertToSelf. 2006-07-24 13:47:36 +02:00
Robert Shearman 7d92b89abf rpcrt4: Stubs for RpcRevertToSelf and RpcMgmtSetComTimeout. 2006-06-21 13:39:52 +02:00
Robert Shearman 0b1e51ca25 rpcrt4: Now that there's a process-wide pool of connections we don't
need to copy the FromConn field when copying bindings.
2006-06-09 21:07:11 +02:00
Robert Shearman 58ec282bfb rpcrt4: Implement a process-wide connection pool for client connections,
rather than relying on the restriction of one connection per
binding. This also avoids the problem of two threads using the same
connection at the same time.
2006-06-08 10:16:00 +02:00
Robert Shearman b9f36c3fa2 rpcrt4: Implement RpcBindingCopy. 2006-05-25 10:39:02 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman a2d2d4db63 rpcrt4: Update the todo lists and copyrights. 2006-05-20 14:02:24 +02:00
Mike McCormack a45b16a460 rpcrt4: Fix a possible memory leak, cleanup a bit. 2006-05-18 16:36:44 +02:00
Mike McCormack c3a08421a2 rpcrt4: Fix and test RpcNetworkIsProtseqValid. 2006-05-18 16:36:34 +02:00
Robert Shearman 63b66b95f9 rpcrt4: Implement RpcBindingSetAuthInfoExW based on the implementation for RpcBindingSetAuthInfoExA. 2006-05-18 10:37:13 +02:00
Robert Shearman 4cd5be2637 rpcrt4: A NULL AuthInfo is allowed.
Pass the server principal name into AcquireCredentialsHandleA.
2006-05-18 10:36:55 +02:00
Robert Shearman 84e42e0165 rpcrt4: Support all available security packages in RpcBindingSetAuthInfoExA, instead of just NTLM. 2006-05-18 10:36:42 +02:00
Robert Shearman 4e89efadf6 rpcrt4: Only use the cached connection if the authentication information is compatible. 2006-05-18 10:36:32 +02:00
Robert Shearman 217ec275b8 rpcrt4: Store non-connection-specific authentication information in a ref-counted structure that is shared between connections and bindings. 2006-05-18 10:36:07 +02:00
Mike McCormack 336e67e2d1 rpcrt4: Implemented NTLM authentication for rpcrt4 connections. 2006-05-16 12:40:13 +02:00
Mike McCormack f20cfdfa84 rpcrt4: Use RPCRT4_Receive rather than accessing the transport directly. 2006-05-16 12:36:37 +02:00
Mike McCormack 1912fceab6 rpcrt4: Forward RpcBindingSetAuthInfo to RpcBindingSetAuthInfoEx. 2006-05-15 13:56:50 +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