summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/auth/auth_ntlmssp.c10
-rw-r--r--source3/include/ntlmssp.h5
-rw-r--r--source3/utils/ntlm_auth.c12
3 files changed, 15 insertions, 12 deletions
diff --git a/source3/auth/auth_ntlmssp.c b/source3/auth/auth_ntlmssp.c
index 3431d79a3f..1609c71fff 100644
--- a/source3/auth/auth_ntlmssp.c
+++ b/source3/auth/auth_ntlmssp.c
@@ -32,7 +32,7 @@ static NTSTATUS auth_ntlmssp_get_challenge(const struct ntlmssp_state *ntlmssp_s
uint8_t chal[8])
{
AUTH_NTLMSSP_STATE *auth_ntlmssp_state =
- (AUTH_NTLMSSP_STATE *)ntlmssp_state->auth_context;
+ (AUTH_NTLMSSP_STATE *)ntlmssp_state->callback_private;
auth_ntlmssp_state->auth_context->get_ntlm_challenge(
auth_ntlmssp_state->auth_context, chal);
return NT_STATUS_OK;
@@ -46,7 +46,7 @@ static NTSTATUS auth_ntlmssp_get_challenge(const struct ntlmssp_state *ntlmssp_s
static bool auth_ntlmssp_may_set_challenge(const struct ntlmssp_state *ntlmssp_state)
{
AUTH_NTLMSSP_STATE *auth_ntlmssp_state =
- (AUTH_NTLMSSP_STATE *)ntlmssp_state->auth_context;
+ (AUTH_NTLMSSP_STATE *)ntlmssp_state->callback_private;
struct auth_context *auth_context = auth_ntlmssp_state->auth_context;
return auth_context->challenge_may_be_modified;
@@ -59,7 +59,7 @@ static bool auth_ntlmssp_may_set_challenge(const struct ntlmssp_state *ntlmssp_s
static NTSTATUS auth_ntlmssp_set_challenge(struct ntlmssp_state *ntlmssp_state, DATA_BLOB *challenge)
{
AUTH_NTLMSSP_STATE *auth_ntlmssp_state =
- (AUTH_NTLMSSP_STATE *)ntlmssp_state->auth_context;
+ (AUTH_NTLMSSP_STATE *)ntlmssp_state->callback_private;
struct auth_context *auth_context = auth_ntlmssp_state->auth_context;
SMB_ASSERT(challenge->length == 8);
@@ -84,7 +84,7 @@ static NTSTATUS auth_ntlmssp_set_challenge(struct ntlmssp_state *ntlmssp_state,
static NTSTATUS auth_ntlmssp_check_password(struct ntlmssp_state *ntlmssp_state, DATA_BLOB *user_session_key, DATA_BLOB *lm_session_key)
{
AUTH_NTLMSSP_STATE *auth_ntlmssp_state =
- (AUTH_NTLMSSP_STATE *)ntlmssp_state->auth_context;
+ (AUTH_NTLMSSP_STATE *)ntlmssp_state->callback_private;
struct auth_usersupplied_info *user_info = NULL;
NTSTATUS nt_status;
bool username_was_mapped;
@@ -206,7 +206,7 @@ NTSTATUS auth_ntlmssp_start(AUTH_NTLMSSP_STATE **auth_ntlmssp_state)
return nt_status;
}
- (*auth_ntlmssp_state)->ntlmssp_state->auth_context = (*auth_ntlmssp_state);
+ (*auth_ntlmssp_state)->ntlmssp_state->callback_private = (*auth_ntlmssp_state);
(*auth_ntlmssp_state)->ntlmssp_state->get_challenge = auth_ntlmssp_get_challenge;
(*auth_ntlmssp_state)->ntlmssp_state->may_set_challenge = auth_ntlmssp_may_set_challenge;
(*auth_ntlmssp_state)->ntlmssp_state->set_challenge = auth_ntlmssp_set_challenge;
diff --git a/source3/include/ntlmssp.h b/source3/include/ntlmssp.h
index 4e99340f8a..3c924dd19b 100644
--- a/source3/include/ntlmssp.h
+++ b/source3/include/ntlmssp.h
@@ -78,7 +78,10 @@ struct ntlmssp_state
uint32_t neg_flags; /* the current state of negotiation with the NTLMSSP partner */
- void *auth_context;
+ /**
+ * Private data for the callback functions
+ */
+ void *callback_private;
/**
* Callback to get the 'challenge' used for NTLM authentication.
diff --git a/source3/utils/ntlm_auth.c b/source3/utils/ntlm_auth.c
index 226772eba8..3eb34a7d9a 100644
--- a/source3/utils/ntlm_auth.c
+++ b/source3/utils/ntlm_auth.c
@@ -589,15 +589,15 @@ static NTSTATUS winbind_pw_check(struct ntlmssp_state *ntlmssp_state, DATA_BLOB
if (memcmp(user_sess_key, zeros, 16) != 0) {
*user_session_key = data_blob_talloc(ntlmssp_state, user_sess_key, 16);
}
- ntlmssp_state->auth_context = talloc_strdup(ntlmssp_state,
- unix_name);
+ ntlmssp_state->callback_private = talloc_strdup(ntlmssp_state,
+ unix_name);
} else {
DEBUG(NT_STATUS_EQUAL(nt_status, NT_STATUS_ACCESS_DENIED) ? 0 : 3,
("Login for user [%s]\\[%s]@[%s] failed due to [%s]\n",
ntlmssp_state->domain, ntlmssp_state->user,
ntlmssp_state->workstation,
error_string ? error_string : "unknown error (NULL)"));
- ntlmssp_state->auth_context = NULL;
+ ntlmssp_state->callback_private = NULL;
}
SAFE_FREE(error_string);
@@ -623,7 +623,7 @@ static NTSTATUS local_pw_check(struct ntlmssp_state *ntlmssp_state, DATA_BLOB *u
&lm_pw, &nt_pw, user_session_key, lm_session_key);
if (NT_STATUS_IS_OK(nt_status)) {
- ntlmssp_state->auth_context = talloc_asprintf(ntlmssp_state,
+ ntlmssp_state->callback_private = talloc_asprintf(ntlmssp_state,
"%s%c%s", ntlmssp_state->domain,
*lp_winbind_separator(),
ntlmssp_state->user);
@@ -631,7 +631,7 @@ static NTSTATUS local_pw_check(struct ntlmssp_state *ntlmssp_state, DATA_BLOB *u
DEBUG(3, ("Login for user [%s]\\[%s]@[%s] failed due to [%s]\n",
ntlmssp_state->domain, ntlmssp_state->user, ntlmssp_state->workstation,
nt_errstr(nt_status)));
- ntlmssp_state->auth_context = NULL;
+ ntlmssp_state->callback_private = NULL;
}
return nt_status;
}
@@ -920,7 +920,7 @@ static void manage_squid_ntlmssp_request(struct ntlm_auth_state *state,
DEBUG(10, ("NTLMSSP %s\n", nt_errstr(nt_status)));
} else {
x_fprintf(x_stdout, "AF %s\n",
- (char *)state->ntlmssp_state->auth_context);
+ (char *)state->ntlmssp_state->callback_private);
DEBUG(10, ("NTLMSSP OK!\n"));
if(state->have_session_key)