From: Ian Jackson Date: Thu, 21 Jun 2012 01:16:12 +0000 (+0100) Subject: site: Keep old keys, and allow them to be used by peer X-Git-Tag: debian/0.3.0_beta1~3 X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/commitdiff_plain/02b0959b82910224e40025e06c01b59b65340c93?hp=02b0959b82910224e40025e06c01b59b65340c93 site: Keep old keys, and allow them to be used by peer After we have switched to a new key, keep the old key around until we see packets using the new key. This is part of the fix to the "connectivity loss during final key setup" bug. Fixing this requires that both ends be willing to keep both old and new data keys available until the peer has sent data with the new key (which might never happen). If there were also a key setup, the site would then need three keys: the old data key, the current data key which the peer hasn't started using yet, and the fresh key it is trying to negotiate. So we have to a third key, with its own lifetime expiry. In the code we call the old key the "auxiliary" key because we're going to use it for an additional fixup in the next patch. Signed-off-by: Ian Jackson ---