[PATCH] Add support for multiplexed connections in dcerpc server

Jeremy Allison jra at samba.org
Tue Mar 24 22:27:02 MDT 2015


On Tue, Mar 24, 2015 at 04:34:51PM +0100, Julien Kerihuel wrote:
> Good afternoon all,
> 
> Attached is a patch to add support for multiplexed connections in dcerpc
> server. The implementation scope is similar to
> DCESRV_CALL_STATE_FLAG_ASYNC, which means that the endpoint defines
> whether it supports the flag or not by adding it to dcesrv_call_state
> state_flags.
> 
> Context: Microsoft Exchange is implementing a DCERPC endpoint server
> called async_emsmdb with a single asynchronous call named
> EcDoAyncWaitEx. When Outlook sends a EcDoAsyncWaitEx request, the server
> does not reply  unless there is either a notification for Outlook to
> process or the timeout of 5 minutes is reached. Without this patch,
> Microsoft Outlook clients block and do not move further with any of the
> existing connections from DCERPC altered context unless the call to
> EcDoAsyncWaitEx actually returns. With this patch, Outlook operates
> properly and as expected.
> 
> I have identified that implementing this multiplexed connection behavior
> was both required when:
> 
>     1. initializing a new connection, hence dcesrv_bind
> 
>     2. when altering an existing context, hence dcesrv_alter. However,
>     in this specific case we don't have existing state_flags on the
>     connection. It is therefore necessary to save  and retrieving the
>     flags from the existing context to decide whether or not the
>     DCERPC_PFC_FLAG_CONC_MPX should be applied to the state_flags of the
>     current connection.
> 
> If you are happy with this patch, I would really appreciate if it could
> also be applied to 4.1.X series.

Unfortunately it doesn't apply to master.

Julien, how about the version below ? Does that work for you ?

Jeremy.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-multiplex-state-to-dcerpc-flags-and-control-over.patch
Type: text/x-diff
Size: 2877 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20150324/631f0e78/attachment.patch>


More information about the samba-technical mailing list