#ifndef _NTLMSSP_WRAP_
#define _NTLMSSP_WRAP_
+struct gensec_security;
+
struct auth_ntlmssp_state {
/* used only by server implementation */
struct auth_context *auth_context;
struct auth_serversupplied_info *server_info;
+ struct tsocket_address *remote_address;
+ struct gensec_security *gensec_security;
/* used by both client and server implementation */
struct ntlmssp_state *ntlmssp_state;
const DATA_BLOB *sig);
bool auth_ntlmssp_negotiated_sign(struct auth_ntlmssp_state *ans);
bool auth_ntlmssp_negotiated_seal(struct auth_ntlmssp_state *ans);
-struct ntlmssp_state *auth_ntlmssp_get_ntlmssp_state(
- struct auth_ntlmssp_state *ans);
const char *auth_ntlmssp_get_username(struct auth_ntlmssp_state *ans);
const char *auth_ntlmssp_get_domain(struct auth_ntlmssp_state *ans);
const char *auth_ntlmssp_get_client(struct auth_ntlmssp_state *ans);
const char *password);
void auth_ntlmssp_and_flags(struct auth_ntlmssp_state *ans, uint32_t flags);
void auth_ntlmssp_or_flags(struct auth_ntlmssp_state *ans, uint32_t flags);
-DATA_BLOB auth_ntlmssp_get_session_key(struct auth_ntlmssp_state *ans);
+void auth_ntlmssp_want_feature(struct auth_ntlmssp_state *ans, uint32_t feature);
+DATA_BLOB auth_ntlmssp_get_session_key(struct auth_ntlmssp_state *ans,
+ TALLOC_CTX *mem_ctx);
NTSTATUS auth_ntlmssp_update(struct auth_ntlmssp_state *ans,
+ TALLOC_CTX *mem_ctx,
const DATA_BLOB request, DATA_BLOB *reply);
NTSTATUS auth_ntlmssp_client_start(TALLOC_CTX *mem_ctx,