chiark / gitweb /
Incopatible protocol fix! Include message type code under MAC tag to prevent
[tripe] / tripe.h
diff --git a/tripe.h b/tripe.h
index 1f73d6ba22ddcf5a33072189666351e8de68e7a9..8d70c1f6acd977ac1778ba1c13cedaac41429e6f 100644 (file)
--- a/tripe.h
+++ b/tripe.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: tripe.h,v 1.15 2003/05/16 12:09:03 mdw Exp $
+ * $Id: tripe.h,v 1.16 2003/07/13 11:19:49 mdw Exp $
  *
  * Main header file for TrIPE
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: tripe.h,v $
+ * Revision 1.16  2003/07/13 11:19:49  mdw
+ * Incopatible protocol fix!  Include message type code under MAC tag to prevent
+ * cut-and-paste from key-exchange messages to general packet transport.
+ *
  * Revision 1.15  2003/05/16 12:09:03  mdw
  * Allow binding to a chosen address.
  *
@@ -668,6 +672,7 @@ extern void ks_activate(keyset */*ks*/);
 /* --- @ks_encrypt@ --- *
  *
  * Arguments:  @keyset *ks@ = pointer to a keyset
+ *             @unsigned ty@ = message type
  *             @buf *b@ = pointer to input buffer
  *             @buf *bb@ = pointer to output buffer
  *
@@ -681,11 +686,13 @@ extern void ks_activate(keyset */*ks*/);
  *             used even if it's marked as not for data output.
  */
 
-extern int ks_encrypt(keyset */*ks*/, buf */*b*/, buf */*bb*/);
+extern int ks_encrypt(keyset */*ks*/, unsigned /*ty*/,
+                     buf */*b*/, buf */*bb*/);
 
 /* --- @ks_decrypt@ --- *
  *
  * Arguments:  @keyset *ks@ = pointer to a keyset
+ *             @unsigned ty@ = expected type code
  *             @buf *b@ = pointer to an input buffer
  *             @buf *bb@ = pointer to an output buffer
  *
@@ -696,7 +703,8 @@ extern int ks_encrypt(keyset */*ks*/, buf */*b*/, buf */*bb*/);
  *             marking that it's not for encryption.
  */
 
-extern int ks_decrypt(keyset */*ks*/, buf */*b*/, buf */*bb*/);
+extern int ks_decrypt(keyset */*ks*/, unsigned /*ty*/,
+                     buf */*b*/, buf */*bb*/);
 
 /* --- @ksl_free@ --- *
  *
@@ -737,6 +745,7 @@ extern void ksl_prune(keyset **/*ksroot*/);
 /* --- @ksl_encrypt@ --- *
  *
  * Arguments:  @keyset **ksroot@ = pointer to keyset list head
+ *             @unsigned ty@ = message type
  *             @buf *b@ = pointer to input buffer
  *             @buf *bb@ = pointer to output buffer
  *
@@ -745,11 +754,13 @@ extern void ksl_prune(keyset **/*ksroot*/);
  * Use:                Encrypts a packet.
  */
 
-extern int ksl_encrypt(keyset **/*ksroot*/, buf */*b*/, buf */*bb*/);
+extern int ksl_encrypt(keyset **/*ksroot*/, unsigned /*ty*/,
+                      buf */*b*/, buf */*bb*/);
 
 /* --- @ksl_decrypt@ --- *
  *
  * Arguments:  @keyset **ksroot@ = pointer to keyset list head
+ *             @unsigned ty@ = expected type code
  *             @buf *b@ = pointer to input buffer
  *             @buf *bb@ = pointer to output buffer
  *
@@ -758,7 +769,8 @@ extern int ksl_encrypt(keyset **/*ksroot*/, buf */*b*/, buf */*bb*/);
  * Use:                Decrypts a packet.
  */
 
-extern int ksl_decrypt(keyset **/*ksroot*/, buf */*b*/, buf */*bb*/);
+extern int ksl_decrypt(keyset **/*ksroot*/, unsigned /*ty*/,
+                      buf */*b*/, buf */*bb*/);
 
 /*----- Administration interface ------------------------------------------*/