[PATCH] Add support for multiplexed connections in dcerpc server

Stefan (metze) Metzmacher metze at samba.org
Wed Mar 25 13:25:47 MDT 2015


Am 25.03.2015 um 05:27 schrieb Jeremy Allison:
> 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 ?

Looks good to me...

Thanks!
metze

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20150325/de4a176e/attachment.pgp>


More information about the samba-technical mailing list