group *gg;
mp *kpriv;
+ge *kpub;
algswitch algs;
+size_t indexsz;
/*----- Static variables --------------------------------------------------*/
*/
static void keymoan(const char *file, int line, const char *msg, void *p)
- { a_warn("KEYMGMT key-file-error %s:%i -- %s", file, line, msg); }
+{
+ a_warn("KEYMGMT",
+ "key-file-error",
+ "%s:%i", file, line,
+ "%s", msg,
+ A_END);
+}
/* --- @loadpriv@ --- *
*
if (kpriv)
mp_drop(kpriv);
+ if (kpub)
+ G_DESTROY(g, kpub);
+ kpub = G_CREATE(g);
+ G_EXP(g, kpub, g->g, x);
+ indexsz = mp_octets(g->r);
+
/* --- Dump out the group --- */
IF_TRACING(T_KEYMGMT, {
T( trace(T_KEYMGMT, "keymgmt: private keyring updated: reloading..."); )
DRESET(&d);
if (loadpriv(&d))
- a_warn("KEYMGMT bad-private-key -- %s", d.buf);
+ a_warn("KEYMGMT", "bad-private-key", "%s", d.buf, A_END);
else
reload = 1;
}
kf = kf_pub;
DRESET(&d);
if (loadpub(&d))
- a_warn("KEYMGMT bad-public-keyring -- %s", d.buf);
+ a_warn("KEYMGMT", "bad-public-keyring", "%s", d.buf, A_END);
else {
reload = 1;
key_close(kf);
/* --- Find the key --- */
if (key_qtag(kf_pub, tag, &t, &k, &kd)) {
- a_warn("KEYMGMT public-key %s not-found", tag);
+ a_warn("KEYMGMT", "public-key", "%s", tag, "not-found", A_END);
goto done;
}
if (strcmp((*ko)->ty, k->type) == 0)
goto tymatch;
}
- a_warn("KEYMGMT public-key %s unknown-type %s", t.buf, k->type);
+ a_warn("KEYMGMT",
+ "public-key", "%s", t.buf,
+ "unknown-type", "%s", k->type,
+ A_END);
goto done;
tymatch:;
/* --- Load the key --- */
if ((e = (*ko)->loadpub(*kd, &g, &p, &t)) != 0) {
- a_warn("KEYMGMT public-key %s bad -- %s", t.buf, e);
+ a_warn("KEYMGMT", "public-key", "%s", t.buf, "bad", "%s", e, A_END);
goto done;
}
*/
if (!group_samep(gg, g)) {
- a_warn("KEYMGMT public-key %s incorrect-group", t.buf);
+ a_warn("KEYMGMT", "public-key", "%s", t.buf, "incorrect-group", A_END);
goto done;
}
/* --- Check the public group element --- */
if (group_check(gg, p)) {
- a_warn("KEYMGMT public-key %s bad-public-group-element", t.buf);
+ a_warn("KEYMGMT",
+ "public-key", "%s", t.buf,
+ "bad-public-group-element",
+ A_END);
goto done;
}
/* --- Check the algorithms --- */
if ((e = algs_get(&a, kf_pub, k)) != 0) {
- a_warn("KEYMGMT public-key %s bad-algorithm-selection %s", t.buf, e);
+ a_warn("KEYMGMT",
+ "public-key", "%s", t.buf,
+ "bad-algorithm-selection", e,
+ A_END);
goto done;
}
if (!algs_samep(&a, &algs)) {
- a_warn("KEYMGMT public-key %s algorithm-mismatch", t.buf);
+ a_warn("KEYMGMT",
+ "public-key", "%s", t.buf,
+ "algorithm-mismatch",
+ A_END);
goto done;
}