summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2010-07-17 16:58:50 -0400
committerAndrew Bartlett <abartlet@samba.org>2010-07-20 15:52:37 +1000
commit4581902553b511a5ad4bae3249df9326b4cf95ec (patch)
treefe96413442a7a0783e853f0f8793d79ff31afa4b /source3/include
parenta91727fc7974aeb314bfb6378f078e6727b20344 (diff)
downloadsamba-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.h17
-rw-r--r--source3/include/ntdomain.h9
-rw-r--r--source3/include/proto.h8
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);