Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Günther Deschner <gd@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
pkt.u.fault.context_id = 0;
break;
}
- if (fault_code == DCERPC_NCA_S_PROTO_ERROR) {
+ switch (fault_code) {
+ case DCERPC_NCA_S_PROTO_ERROR:
+ case DCERPC_NCA_S_UNKNOWN_IF:
/*
* context_id = 0 is forced on protocol errors.
*/
pkt.u.fault.context_id = 0;
+ break;
}
pkt.u.fault.cancel_count = 0;
pkt.u.fault.flags = 0;
context = dcesrv_find_context(call->conn, call->pkt.u.request.context_id);
if (context == NULL) {
- return dcesrv_fault(call, DCERPC_FAULT_UNK_IF);
+ return dcesrv_fault_with_flags(call, DCERPC_NCA_S_UNKNOWN_IF,
+ DCERPC_PFC_FLAG_DID_NOT_EXECUTE);
}
switch (call->conn->auth_state.auth_level) {