return status;
}
+ if (auth_info.auth_type != sec->auth_type) {
+ return NT_STATUS_RPC_PROTOCOL_ERROR;
+ }
+
+ if (auth_info.auth_level != sec->auth_level) {
+ return NT_STATUS_RPC_PROTOCOL_ERROR;
+ }
+
+ if (auth_info.auth_context_id != sec->context_id) {
+ return NT_STATUS_RPC_PROTOCOL_ERROR;
+ }
+
data = data_blob_const(raw_pkt->data + header_size,
pkt_trailer->length - auth_length);
full_pkt = data_blob_const(raw_pkt->data,
full_pkt.data,
full_pkt.length,
&auth_info.credentials);
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
break;
case DCERPC_AUTH_LEVEL_INTEGRITY:
full_pkt.data,
full_pkt.length,
&auth_info.credentials);
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
break;
default:
return NT_STATUS_INVALID_PARAMETER;