[PATCH 38/43] secnet.8: Describe capability negotiation in its own section. [and 1 more messages]

Ian Jackson ijackson at chiark.greenend.org.uk
Sun Apr 30 19:43:34 BST 2017


Mark Wooding writes ("[PATCH 38/43] secnet.8: Describe capability negotiation in its own section."):
> The notion is a little complicated, and we can give it the space it
> deserves.  Also, this saves on a lot of repeated text, especially if we
> add more things which require assignment of capability bits.

I like your new doc in general.

But:

> +Capability numbers between 0 and 7 inclusive
> +are reserved for local use:
> +secnet will never make use of them without explicit configuration.
> +(So there are separate user ranges for ordinary and early capabilities.)

I don't think it is true that there are separate user ranges for
ordinary and early capabilities.  Whether capability is early depends
on its semantics.

Oh I see this is part of the next patch.  I don't think this is
necessary....

Mark Wooding writes ("[PATCH 39/43] magic.h, secnet.8, NOTES: Allocate the high capability bits."):
> Just fiddling with magic numbers for now.  The only functional change is
> that users can now allocate early caps for things and break
> compatibility with old Secnets.
> 
> I have to assign some early bits like this so that users can assign bits
> that will actually work to features which affect the key exchange
> protocol.  Once I've done that, it seems sensible to keep them all
> together.

Capability bits can be made early at the time they are assigned; this
assignment does not need to be static (although the #define
CAPAB_EARLY contemplated that it would be).  If a bit means the saem
at both ends, then both ends will know whether it is early.  If a bit
is assigned only at one end, and that end thinks it is early, then
this is quite fine, since the other end doesn't need to advertise it.

(Using the same bit for different purposes at different ends is going
to Go Wrong anyway.)

So overall I think the way to deal with key-exchange-affecting capab
bits is to simply treat whatever such bits as we locally think exist,
as early.

Ian.



More information about the sgo-software-discuss mailing list