[PATCH 23/25] site: support multiple transforms

Ian Jackson ijackson at chiark.greenend.org.uk
Sat Jul 20 15:14:26 BST 2013


Ian Jackson writes ("[PATCH 23/25] site: support multiple transforms"):
...
> + * Iff both ends' transform capability masks are nonempty, MSG3
> + * contains an additional byte specifying the transform capability
> + * number actually chosen by the MSG3 sender.

This is quite ugly, really.  After sleeping on it, I concluded that
the right thing to do instead is to invent a new variant of MSG3 with
a different LABEL, call it LABEL_MSG3BIS.

> +static bool_t msg_specifies_transform(struct site *st, uint32_t msgtype)
> +{
> +    return
> +	(msgtype==LABEL_MSG3) &&
> +	(st->local_capabilities & CAPAB_TRANSFORM_MASK) &&
> +	(st->remote_capabilities & CAPAB_TRANSFORM_MASK);

Which will simplify this, at the cost of having to turn several
    type==LABEL_MSG3
into
    type==LABEL_MSG3 || type==LABEL_MSG3BIS
elsewhere.

I haven't coded this up yet.

Ian.



More information about the sgo-software-discuss mailing list