summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2014-11-17 00:21:40 +0000
committerDamien Miller <djm@mindrot.org>2014-11-17 11:20:39 +1100
commit9f9fad0191028edc43d100d0ded39419b6895fdf (patch)
tree83a1dabec592abd8220ff622857d5e50d15e4c75
parentda8af83d3f7ec00099963e455010e0ed1d7d0140 (diff)
upstream commit
fix KRL generation when multiple CAs are in use We would generate an invalid KRL when revoking certs by serial number for multiple CA keys due to a section being written out twice. Also extend the regress test to catch this case by having it produce a multi-CA KRL. Reported by peter AT pean.org
-rw-r--r--krl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/krl.c b/krl.c
index eb31df90..832ac8b0 100644
--- a/krl.c
+++ b/krl.c
@@ -14,7 +14,7 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $OpenBSD: krl.c,v 1.17 2014/06/24 01:13:21 djm Exp $ */
+/* $OpenBSD: krl.c,v 1.18 2014/11/17 00:21:40 djm Exp $ */
#include "includes.h"
@@ -686,6 +686,7 @@ ssh_krl_to_blob(struct ssh_krl *krl, Buffer *buf, const Key **sign_keys,
/* Store sections for revoked certificates */
TAILQ_FOREACH(rc, &krl->revoked_certs, entry) {
+ buffer_clear(&sect);
if (revoked_certs_generate(rc, &sect) != 0)
goto out;
buffer_put_char(buf, KRL_SECTION_CERTIFICATES);