s3-dcerpc: avoid talloc_move on schannel creds in cli_rpc_pipe_open_schannel_with_key().
authorGünther Deschner <gd@samba.org>
Mon, 23 Aug 2010 14:02:23 +0000 (16:02 +0200)
committerGünther Deschner <gd@samba.org>
Tue, 24 Aug 2010 00:04:27 +0000 (02:04 +0200)
commit898c6123355a3a11ec17f0396c4cb3018c75c184
treea0cf5275e05501c10f6e204de990118bcc731d87
parent33060f67be100836d381a74bced351c6579cc58d
s3-dcerpc: avoid talloc_move on schannel creds in cli_rpc_pipe_open_schannel_with_key().

Initially, the schannel creds were talloc memduped, then, during the netlogon
creds client merge (baf7274fed2f1ae7a9e3a57160bf5471566e636c) they were first
talloc_referenced and then later (53765c81f726a8c056cc4e57004592dd489975c9)
talloc_moved.

The issue with using talloc_move here is that users of that function in winbind
will only be able to have two schanneled connections, as the cached schannel
credentials pointer from the netlogon pipe will be set to NULL. Do a deep copy
of the struct instead.

Guenther
libcli/auth/credentials.c
libcli/auth/proto.h
source3/rpc_client/cli_pipe.c