diff -rupN a/mapiproxy/dcesrv_mapiproxy.c b/mapiproxy/dcesrv_mapiproxy.c --- a/mapiproxy/dcesrv_mapiproxy.c 2015-06-16 15:41:56.599106174 -0700 +++ b/mapiproxy/dcesrv_mapiproxy.c 2015-06-16 15:43:29.597211031 -0700 @@ -134,10 +134,10 @@ static NTSTATUS mapiproxy_op_connect(str switch (dce_call->pkt.ptype) { case DCERPC_PKT_BIND: - b->assoc_group_id = dce_call->pkt.u.bind.assoc_group_id; + status = dcerpc_binding_set_assoc_group_id(b, dce_call->pkt.u.bind.assoc_group_id); break; case DCERPC_PKT_ALTER: - b->assoc_group_id = dce_call->pkt.u.alter.assoc_group_id; + status = dcerpc_binding_set_assoc_group_id(b, dce_call->pkt.u.alter.assoc_group_id); break; default: break; @@ -154,7 +154,7 @@ static NTSTATUS mapiproxy_op_connect(str if (!NT_STATUS_IS_OK(status)) { return status; } - dce_call->context->assoc_group->id = private->c_pipe->assoc_group_id; + dce_call->context->assoc_group->id = dcerpc_binding_get_assoc_group_id(private->c_pipe->binding); } else { status = dcerpc_pipe_connect(dce_call->context, @@ -169,7 +169,7 @@ static NTSTATUS mapiproxy_op_connect(str if (!NT_STATUS_IS_OK(status)) { return status; } - dce_call->context->assoc_group->id = private->c_pipe->assoc_group_id; + dce_call->context->assoc_group->id = dcerpc_binding_get_assoc_group_id(private->c_pipe->binding); } private->connected = true;