struct ndr_push *ndr = NULL;
enum ndr_err_code ndr_err;
- if (sec->auth_level < DCERPC_AUTH_LEVEL_INTEGRITY) {
+ if (sec->auth_level < DCERPC_AUTH_LEVEL_PACKET) {
return NT_STATUS_OK;
}
need_async = true;
}
- if (c->security_state.auth_level >= DCERPC_AUTH_LEVEL_INTEGRITY) {
+ if (c->security_state.auth_level >= DCERPC_AUTH_LEVEL_PACKET) {
can_async = gensec_have_feature(c->security_state.generic_state,
GENSEC_FEATURE_ASYNC_REPLIES);
}
request header size */
chunk_size = p->conn->srv_max_recv_frag;
chunk_size -= DCERPC_REQUEST_LENGTH;
- if (c->security_state.auth_level >= DCERPC_AUTH_LEVEL_INTEGRITY) {
+ if (c->security_state.auth_level >= DCERPC_AUTH_LEVEL_PACKET) {
size_t max_payload = chunk_size;
max_payload -= DCERPC_AUTH_TRAILER_LENGTH;
auth_level = DCERPC_AUTH_LEVEL_INTEGRITY;
} else if (c->flags & DCERPC_CONNECT) {
auth_level = DCERPC_AUTH_LEVEL_CONNECT;
+ } else if (c->flags & DCERPC_PACKET) {
+ auth_level = DCERPC_AUTH_LEVEL_PACKET;
} else {
auth_level = DCERPC_AUTH_LEVEL_NONE;
}
}
if (gensec_have_feature(sec->generic_state, GENSEC_FEATURE_SIGN_PKT_HEADER)) {
- if (sec->auth_level >= DCERPC_AUTH_LEVEL_INTEGRITY) {
+ if (sec->auth_level >= DCERPC_AUTH_LEVEL_PACKET) {
state->pipe->conn->flags |= DCERPC_PROPOSE_HEADER_SIGNING;
}
}
/* Perform an authenticated DCE-RPC bind
*/
- if (!(conn->flags & (DCERPC_CONNECT|DCERPC_SEAL))) {
+ if (!(conn->flags & (DCERPC_CONNECT|DCERPC_SEAL|DCERPC_PACKET))) {
/*
we are doing an authenticated connection,
which needs to use [connect], [sign] or [seal].