s4:rpc_server: ignore CO_CANCEL and ORPHANED PDUs
authorStefan Metzmacher <metze@samba.org>
Fri, 26 Jun 2015 06:10:46 +0000 (08:10 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Wed, 26 Oct 2016 09:20:17 +0000 (11:20 +0200)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Günther Deschner <gd@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source4/rpc_server/dcerpc_server.c

index 0f454b5effc70d81381c46acfe09ef61dc96cb4d..c4e4b03b38a10c112b247d4098d16b1085334931 100644 (file)
@@ -1792,14 +1792,21 @@ static NTSTATUS dcesrv_process_ncacn_packet(struct dcesrv_connection *dce_conn,
        case DCERPC_PKT_REQUEST:
                status = dcesrv_request(call);
                break;
+       case DCERPC_PKT_CO_CANCEL:
+       case DCERPC_PKT_ORPHANED:
+               /*
+                * Window just ignores CO_CANCEL and ORPHANED,
+                * so we do...
+                */
+               status = NT_STATUS_OK;
+               TALLOC_FREE(call);
+               break;
        case DCERPC_PKT_BIND_ACK:
        case DCERPC_PKT_BIND_NAK:
        case DCERPC_PKT_ALTER_RESP:
        case DCERPC_PKT_RESPONSE:
        case DCERPC_PKT_FAULT:
        case DCERPC_PKT_SHUTDOWN:
-       case DCERPC_PKT_CO_CANCEL:
-       case DCERPC_PKT_ORPHANED:
        default:
                status = dcesrv_fault_disconnect(call, DCERPC_NCA_S_PROTO_ERROR);
                break;