summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/librpc/crypto/gse.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/librpc/crypto/gse.c b/source3/librpc/crypto/gse.c
index 7cf116522d..5bd2740a5a 100644
--- a/source3/librpc/crypto/gse.c
+++ b/source3/librpc/crypto/gse.c
@@ -189,6 +189,7 @@ static NTSTATUS gse_context_init(TALLOC_CTX *mem_ctx,
gse_ctx->gss_want_flags |= GSS_C_INTEG_FLAG;
}
if (do_seal) {
+ gse_ctx->gss_want_flags |= GSS_C_INTEG_FLAG;
gse_ctx->gss_want_flags |= GSS_C_CONF_FLAG;
}
@@ -548,6 +549,11 @@ static NTSTATUS gse_verify_server_auth_flags(struct gse_context *gse_ctx)
if (!(gse_ctx->gss_got_flags & GSS_C_CONF_FLAG)) {
return NT_STATUS_ACCESS_DENIED;
}
+
+ /* GSS_C_CONF_FLAG implies GSS_C_INTEG_FLAG */
+ if (!(gse_ctx->gss_got_flags & GSS_C_INTEG_FLAG)) {
+ return NT_STATUS_ACCESS_DENIED;
+ }
}
/* GSS_C_DCE_STYLE */