server/tripe.c, server/admin.c: Add a way to end the main loop.
[tripe] / server / keymgmt.c
index 00c3295..05e0106 100644 (file)
@@ -275,8 +275,6 @@ static int kh_reopen(keyhalf *kh)
   key_file *kf = CREATE(key_file);
 
   if (key_open(kf, kh->kr, KOPEN_READ, keymoan, kh)) {
-    a_warn("KEYMGMT", "%s-keyring", kh->kind, "%s", kh->kr,
-          "io-error", "?ERRNO", A_END);
     DESTROY(kf);
     return (-1);
   }
@@ -307,8 +305,7 @@ static void kh_init(keyhalf *kh, const char *kr)
   sym_create(&kh->tab);
   kh->kf = 0;
 
-  if (kh_reopen(kh))
-    die(EXIT_FAILURE, "failed to load %s keyring `%s'", kh->kind, kr);
+  if (kh_reopen(kh)) exit(EXIT_FAILURE);
 }
 
 /* --- @kh_load@ --- *
@@ -556,8 +553,10 @@ void km_init(const char *privkr, const char *pubkr, const char *ptag)
 
   for (hh = ghashtab; *hh; hh++) {
     if ((*hh)->hashsz > MAXHASHSZ) {
-      die(EXIT_FAILURE, "INTERNAL ERROR: %s hash length %lu > MAXHASHSZ %d",
-         (*hh)->name, (unsigned long)(*hh)->hashsz, MAXHASHSZ);
+      a_warn("ABORT", "hash-size-too-large", "hash",
+            "%s", (*hh)->name, "size", "%lu", (*hh)->hashsz,
+            "limit", "%d", MAXHASHSZ, A_END);
+      abort();
     }
   }