diff options
-rw-r--r-- | source4/rpc_server/dcerpc_server.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c index 12e24859ec..52da43a35e 100644 --- a/source4/rpc_server/dcerpc_server.c +++ b/source4/rpc_server/dcerpc_server.c @@ -742,7 +742,9 @@ static NTSTATUS dcesrv_request(struct dcesrv_call_state *call) call->state_flags = call->conn->dce_ctx->state_flags; call->time = timeval_current(); - if (!gensec_have_feature(call->conn->auth_state.gensec_security, GENSEC_FEATURE_ASYNC_REPLIES)) { + /* if authenticated, and the mech we use can't do async replies, don't use them... */ + if (call->conn->auth_state.gensec_security && + !gensec_have_feature(call->conn->auth_state.gensec_security, GENSEC_FEATURE_ASYNC_REPLIES)) { call->state_flags &= ~DCESRV_CALL_STATE_FLAG_MAY_ASYNC; } |