Commit Graph

125 Commits (03c75b9cf652146a44c35d0c4de79bc76629ee80)

Author SHA1 Message Date
Alexandre Julliard d2ca9f4b02 rpcrt4: Add ref counting to RPC connections, and grab a reference while processing an RPC packet. 2012-02-14 17:59:27 +01:00
Alexandre Julliard 95ea352738 rpcrt4: Remove a couple of unused local variables. 2010-09-01 14:01:04 +02:00
Michael Stefaniuc 9dc835c2bc rpcrt4: Remove redundant "non NULL" check of var cred_dst (coccicheck). 2010-05-20 13:47:52 +02:00
Rob Shearman f823f2181e rpcrt4: Override inquire_auth_client for ncalrpc transport to always indicate that the connection is authenticated. 2009-12-14 12:19:37 +01:00
Rob Shearman 3dbf356f8f rpcrt4: Allow the authentication details of the client to be transport-specific. 2009-12-14 12:19:33 +01:00
Rob Shearman d918587f1d rpcrt4: Implement client impersonation. 2009-12-14 12:19:27 +01:00
Rob Shearman e27e61db71 rpcrt4: Add support for server-side authentication. 2009-12-14 12:19:02 +01:00
Rob Shearman cdc10a8d3b rpcrt4: Don't crash with a NULL binding handle in RpcBindingFree. 2009-11-16 17:16:19 +01:00
Hans Leidekker 8abe95ddfa rpcrt4: Implement RpcBindingInqAuthInfo{, Ex}. 2009-11-12 15:18:48 +01:00
Hans Leidekker 59e3d9b5c7 rpcrt4: Implement RpcBindingInqAuthClient{, Ex}. 2009-11-11 11:51:18 +01:00
Alexandre Julliard 8de0242885 rpcrt4: Replace long and unsigned long by more appropriate types. 2009-07-03 13:42:57 +02:00
Michael Stefaniuc e3bb1c8243 rpcrt4: Remove superfluous pointer casts. 2009-02-16 16:01:37 +01:00
Francois Gouget ada97dc209 Assorted spelling fixes. 2009-01-07 14:41:24 +01:00
Michael Stefaniuc 4c7a6694cd include: Change unsigned long to ULONG in rpcdce.h for Win64 compatibility.
Also fix the compiler warnings introduced by this change.
2009-01-04 13:34:51 +01:00
Alexandre Julliard 83b6c8a5fa rpcrt4: Convert source files to utf-8. 2008-10-18 19:20:44 +02:00
Rob Shearman f2e47cc2a2 rpcrt4: Fix typo in unescape_string_binding_componentW.
string_binding is of type "const WCHAR *" so we shouldn't be calling
strlen on it, we should be calling strlenW on it.
2008-09-08 12:47:20 +02:00
Rob Shearman 739d89369b rpcrt4: Implement RpcBindingReset. 2008-08-19 12:54:31 +02:00
Rob Shearman e98539520d rpcrt4: Don't get or create an association for bindings with incomplete endpoints.
It's inefficient since the association will have to be replaced before
the binding can be used to connect to a server.
2008-08-19 12:54:26 +02:00
Rob Shearman 6ed020d813 rpcrt4: Check for previous association being NULL in RPCRT4_ResolveBinding.
bind->Assoc could be NULL if the binding hasn't been resolved.
2008-08-19 12:54:21 +02:00
Rob Shearman ef5a5a4490 rpcrt4: Fix RpcStringBindingComposeA/W and RpcStringBindingParseA/W to escape and unescape delimiters in the string binding.
This behaviour is stated by the DCE/RPC specification and is also
shown in the rpcrt4 conformance tests.
2008-08-18 14:36:45 +02:00
Rob Shearman d2d513db74 rpcrt4: Fix RpcBindingToStringBinding to not generate a UUID string if the object UUID is nil. 2008-08-18 14:36:28 +02:00
Rob Shearman 1eaea13ebb rpcrt4: Validate the uuid portion of the string passed to RpcStringBindingParseA/W. 2008-07-31 13:25:55 +02:00
Detlef Riekenberg 74b78100f3 rpcrt4: Add a stub for I_RpcBindingInqTransportType. 2008-06-26 21:07:22 +02:00
Kai Blin 533419cb35 rpcrt4: Ignore the AuthzSvr parameter for RPC_C_AUTHN_WINNT. 2008-06-23 14:04:46 +02:00
Kai Blin a3bd1f8635 rpcrt4: Fix some A/W use in error messages. 2008-06-23 14:04:44 +02:00
Rob Shearman d6503215ef include: Add some missing defines and function declarations to rpcdce.h. 2008-06-10 11:33:13 +02:00
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