chiark / gitweb /
tripe-admin manpage: Generate a command and message summary.
[tripe] / chal.c
diff --git a/chal.c b/chal.c
index a8cd4a430dc625001905249f0792166a840b1252..5258cf9c66c1ef24e573ea3998a08af071e85c41 100644 (file)
--- a/chal.c
+++ b/chal.c
@@ -109,12 +109,12 @@ int c_check(buf *b)
   int ok;
 
   if ((p = buf_get(b, sz)) == 0) {
-    a_warn("CHAL invalid-challenge");
+    a_warn("CHAL", "invalid-challenge", A_END);
     goto fail;
   }
   IF_TRACING(T_CHAL, trace_block(T_CRYPTO, "chal: check challenge", p, sz); )
   if (!mac) {
-    a_warn("CHAL impossible-challenge");
+    a_warn("CHAL", "impossible-challenge", A_END);
     goto fail;
   }
   h = GM_INIT(mac);
@@ -122,16 +122,12 @@ int c_check(buf *b)
   ok = (memcmp(GH_DONE(h, 0), p + 4, algs.tagsz) == 0);
   GH_DESTROY(h);
   if (!ok) {
-    a_warn("CHAL incorrect-tag");
+    a_warn("CHAL", "incorrect-tag", A_END);
     goto fail;
   }
   seq = LOAD32(p);
-  switch (seq_check(&iseq, LOAD32(p))) {
-    case SEQ_OK: break;
-    case SEQ_OLD: a_warn("CHAL replay old-sequence"); goto fail;
-    case SEQ_REPLAY: a_warn("CHAL replay duplicated-sequence"); goto fail;
-    default: abort();
-  }
+  if (seq_check(&iseq, LOAD32(p), "CHAL"))
+    goto fail;
   T( trace(T_CHAL, "chal: checked challenge %lu", (unsigned long)seq); )
   return (0);