g10: Don't consider cross-signed keys to be in conflict.
authorNeal H. Walfield <neal@g10code.com>
Thu, 1 Sep 2016 21:31:18 +0000 (23:31 +0200)
committerNeal H. Walfield <neal@g10code.com>
Thu, 1 Sep 2016 21:32:00 +0000 (23:32 +0200)
commitb410a3cb7683fc7c2a253e23130c44df42a6203c
tree2acd692fdf576e0840fea5f99a30181dd8f4c16b
parent38d369de13acb95208a0ed8d1cf82ac19173688f
g10: Don't consider cross-signed keys to be in conflict.

* g10/tofu.c (cross_sigs): New function.
(ask_about_binding): If apparently conflicting keys are cross signed,
then don't mark them as conflicting.

--
Signed-off-by: Neal H. Walfield <neal@g10code.com>
If two keys are cross signed, then the same person (probably)
controlled them both.  In this case, don't raise a TOFU conflict.
This usually occurs when someone transitions to a new key.  When that
person rotates to a third key, she will typically only cross sign it
with the second key.  As such, we check this transitively to avoid
declaring a conflict between the 1st and 3rd key.
g10/tofu.c