diff options
author | Simo Sorce <idra@samba.org> | 2010-07-17 16:58:50 -0400 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2010-07-20 15:52:37 +1000 |
commit | 4581902553b511a5ad4bae3249df9326b4cf95ec (patch) | |
tree | fe96413442a7a0783e853f0f8793d79ff31afa4b /source3/include | |
parent | a91727fc7974aeb314bfb6378f078e6727b20344 (diff) | |
download | samba-4581902553b511a5ad4bae3249df9326b4cf95ec.tar.gz samba-4581902553b511a5ad4bae3249df9326b4cf95ec.tar.bz2 samba-4581902553b511a5ad4bae3249df9326b4cf95ec.zip |
s3-dcerpc: Unifiy cli_pipe_auth_data and pipe_auth_data
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/client.h | 17 | ||||
-rw-r--r-- | source3/include/ntdomain.h | 9 | ||||
-rw-r--r-- | source3/include/proto.h | 8 |
3 files changed, 13 insertions, 21 deletions
diff --git a/source3/include/client.h b/source3/include/client.h index c245f55165..d2afecf054 100644 --- a/source3/include/client.h +++ b/source3/include/client.h @@ -48,21 +48,6 @@ struct print_job_info { time_t t; }; -struct cli_pipe_auth_data { - enum pipe_auth_type auth_type; /* switch for the union below. Defined in ntdomain.h */ - enum dcerpc_AuthLevel auth_level; /* defined in ntdomain.h */ - - char *domain; - char *user_name; - DATA_BLOB user_session_key; - - union { - struct schannel_state *schannel_auth; - struct ntlmssp_state *ntlmssp_state; - struct kerberos_auth_struct *kerberos_auth; - } a_u; -}; - /** * rpc_cli_transport defines a transport mechanism to ship rpc requests * asynchronously to a server and receive replies @@ -149,7 +134,7 @@ struct rpc_pipe_client { uint16 max_xmit_frag; uint16 max_recv_frag; - struct cli_pipe_auth_data *auth; + struct pipe_auth_data *auth; /* The following is only non-null on a netlogon client pipe. */ struct netlogon_creds_CredentialState *dc; diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h index 629e51cea3..ea1c0c8b0b 100644 --- a/source3/include/ntdomain.h +++ b/source3/include/ntdomain.h @@ -107,11 +107,18 @@ struct kerberos_auth_struct { struct pipe_auth_data { enum pipe_auth_type auth_type; /* switch for union below. */ enum dcerpc_AuthLevel auth_level; + union { struct schannel_state *schannel_auth; struct auth_ntlmssp_state *auth_ntlmssp_state; -/* struct kerberos_auth_struct *kerberos_auth; TO BE ADDED... */ + struct kerberos_auth_struct *kerberos_auth; /* Client only for now */ } a_u; + + /* Only the client code uses these 3 for now */ + char *domain; + char *user_name; + DATA_BLOB user_session_key; + void (*auth_data_free_func)(struct pipe_auth_data *); }; diff --git a/source3/include/proto.h b/source3/include/proto.h index 2628763420..086534010c 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -4828,20 +4828,20 @@ NTSTATUS rpc_api_pipe_req_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, struct tevent_req *rpc_pipe_bind_send(TALLOC_CTX *mem_ctx, struct event_context *ev, struct rpc_pipe_client *cli, - struct cli_pipe_auth_data *auth); + struct pipe_auth_data *auth); NTSTATUS rpc_pipe_bind_recv(struct tevent_req *req); NTSTATUS rpc_pipe_bind(struct rpc_pipe_client *cli, - struct cli_pipe_auth_data *auth); + struct pipe_auth_data *auth); unsigned int rpccli_set_timeout(struct rpc_pipe_client *cli, unsigned int timeout); bool rpccli_is_connected(struct rpc_pipe_client *rpc_cli); bool rpccli_get_pwd_hash(struct rpc_pipe_client *cli, uint8_t nt_hash[16]); NTSTATUS rpccli_anon_bind_data(TALLOC_CTX *mem_ctx, - struct cli_pipe_auth_data **presult); + struct pipe_auth_data **presult); NTSTATUS rpccli_schannel_bind_data(TALLOC_CTX *mem_ctx, const char *domain, enum dcerpc_AuthLevel auth_level, struct netlogon_creds_CredentialState *creds, - struct cli_pipe_auth_data **presult); + struct pipe_auth_data **presult); NTSTATUS rpc_pipe_open_tcp(TALLOC_CTX *mem_ctx, const char *host, const struct ndr_syntax_id *abstract_syntax, struct rpc_pipe_client **presult); |