summaryrefslogtreecommitdiff
path: root/source3/librpc/crypto/spnego.h
diff options
context:
space:
mode:
Diffstat (limited to 'source3/librpc/crypto/spnego.h')
-rw-r--r--source3/librpc/crypto/spnego.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/source3/librpc/crypto/spnego.h b/source3/librpc/crypto/spnego.h
index e2a00b6ef6..9512ed6324 100644
--- a/source3/librpc/crypto/spnego.h
+++ b/source3/librpc/crypto/spnego.h
@@ -20,14 +20,31 @@
#ifndef _CLI_SPNEGO_H_
#define _CLI_SPENGO_H_
-struct spnego_context;
-
enum spnego_mech {
SPNEGO_NONE = 0,
SPNEGO_KRB5,
SPNEGO_NTLMSSP
};
+struct spnego_context {
+ enum spnego_mech mech;
+
+ union {
+ struct auth_ntlmssp_state *ntlmssp_state;
+ struct gse_context *gssapi_state;
+ } mech_ctx;
+
+ enum {
+ SPNEGO_CONV_INIT = 0,
+ SPNEGO_CONV_AUTH_MORE,
+ SPNEGO_CONV_AUTH_CONFIRM,
+ SPNEGO_CONV_AUTH_DONE
+ } state;
+
+ bool do_sign;
+ bool do_seal;
+};
+
NTSTATUS spnego_gssapi_init_client(TALLOC_CTX *mem_ctx,
bool do_sign, bool do_seal,
bool is_dcerpc,