summaryrefslogtreecommitdiffstats
path: root/src/gss_sec_ctx.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gss_sec_ctx.c')
-rw-r--r--src/gss_sec_ctx.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/src/gss_sec_ctx.c b/src/gss_sec_ctx.c
index 098d6eb..d79670b 100644
--- a/src/gss_sec_ctx.c
+++ b/src/gss_sec_ctx.c
@@ -603,7 +603,7 @@ uint32_t gssntlm_accept_sec_context(uint32_t *minor_status,
goto done;
}
- ctx->neg_flags = NTLMSSP_DEFAULT_ALLOWED_SERVER_FLAGS;
+ ctx->neg_flags = NTLMSSP_DEFAULT_SERVER_FLAGS;
/* Fixme: How do we allow anonymous negotition ? */
if (gssntlm_sec_lm_ok(ctx)) {
@@ -669,12 +669,6 @@ uint32_t gssntlm_accept_sec_context(uint32_t *minor_status,
ctx->neg_flags &= ~NTLMSSP_NEGOTIATE_LM_KEY;
}
- /* TODO: support Domain type */
- if (true) {
- ctx->neg_flags |= NTLMSSP_TARGET_TYPE_SERVER;
- ctx->neg_flags &= ~NTLMSSP_TARGET_TYPE_DOMAIN;
- }
-
if (ctx->neg_flags & NTLMSSP_REQUEST_TARGET) {
ctx->neg_flags |= NTLMSSP_NEGOTIATE_TARGET_INFO;
}
@@ -753,14 +747,12 @@ uint32_t gssntlm_accept_sec_context(uint32_t *minor_status,
goto done;
}
- switch (ctx->role) {
- case GSSNTLM_DOMAIN_SERVER:
- case GSSNTLM_DOMAIN_CONTROLLER:
+ if (nb_domain_name) {
chal_target_name = nb_domain_name;
- break;
- default:
+ ctx->neg_flags |= NTLMSSP_TARGET_TYPE_DOMAIN;
+ } else {
chal_target_name = nb_computer_name;
- break;
+ ctx->neg_flags |= NTLMSSP_TARGET_TYPE_SERVER;
}
retmin = ntlm_encode_chal_msg(ctx->ntlm, ctx->neg_flags,