- for (p = p_first(); p; p = p_next(p))
- a_info(a, "%s", p_name(p), A_END);
+ if (!ac)
+ kd = master;
+ else {
+ if ((p = a_findpeer(a, av[0])) == 0) return;
+ kd = p->kx.kpriv;
+ }
+ g = kd->grp;
+ algs = &kd->algs;
+
+ g->ops->grpinfo(g, a);
+ a_info(a,
+ "hash=%s", algs->h->name,
+ "mgf=%s", algs->mgf->name,
+ "hash-sz=%lu", (unsigned long)algs->h->hashsz,
+ A_END);
+ a_info(a,
+ "bulk-transform=%s", algs->bulk->ops->name,
+ "bulk-overhead=%lu",
+ (unsigned long)algs->bulk->ops->overhead(algs->bulk),
+ A_END);
+ algs->bulk->ops->alginfo(algs->bulk, a);
+ a_info(a,
+ "cipher-data-limit=%lu",
+ (unsigned long)algs->bulk->ops->expsz(algs->bulk),
+ A_END);
+ a_ok(a);
+}
+
+static void acmd_list(admin *a, unsigned ac, char *av[])
+{
+ FOREACH_PEER(p, { a_info(a, "%s", p_name(p), A_END); });