X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=secnet.git;a=blobdiff_plain;f=magic.h;h=598a79e1a681acffa661f886283b35f0785c0fff;hp=c2503a0c19ca30d2e09cd68cec32dcbd12f7bd8d;hb=328ae477c72b63616f28de2ff3ead9bf8d4752ba;hpb=136740e64e3fedcd725490c2f80d0906de515197 diff --git a/magic.h b/magic.h index c2503a0..598a79e 100644 --- a/magic.h +++ b/magic.h @@ -3,16 +3,47 @@ #ifndef magic_h #define magic_h -#define LABEL_NAK 0x00000000 -#define LABEL_MSG0 0x00020200 -#define LABEL_MSG1 0x01010101 -#define LABEL_MSG2 0x02020202 -#define LABEL_MSG3 0x03030303 -#define LABEL_MSG4 0x04040404 -#define LABEL_MSG5 0x05050505 -#define LABEL_MSG6 0x06060606 -#define LABEL_MSG7 0x07070707 -#define LABEL_MSG8 0x08080808 -#define LABEL_MSG9 0x09090909 +#define LABEL_NAK 0x00000000 +#define LABEL_MSG0 0x00020200 +#define LABEL_MSG1 0x01010101 +#define LABEL_MSG2 0x02020202 +#define LABEL_MSG3 0x03030303 +#define LABEL_MSG3BIS 0x13030313 +#define LABEL_MSG4 0x04040404 +#define LABEL_MSG5 0x05050505 +#define LABEL_MSG6 0x06060606 +#define LABEL_MSG7 0x07070707 +#define LABEL_MSG8 0x08080808 +#define LABEL_MSG9 0x09090909 +#define LABEL_PROD 0x0a0a0a0a + +/* uses of the 32-bit capability bitmap */ +#define CAPAB_EARLY 0x00000000 /* no Early flags yet (see NOTES) */ +#define CAPAB_TRANSFORM_MASK 0x0000ffff +/* remaining 16 bits are unused */ + +/* + * The transform capability mask is a set of bits, one for each + * transform supported. The transform capability numbers are set in + * the configuration (and should correspond between the two sites), + * although there are sensible defaults. + * + * Advertising a nonzero transform capability mask promises that + * the receiver understands LABEL_MSG3BIS messages, which + * contain an additional byte specifying the transform capability + * number actually chosen by the MSG3 sender. + * + * Aside from that, an empty bitmask is treated the same as + * 1u<