key/key-io.c: Add low-level `key_mergeline' and `key_extractline' functions.
[catacomb] / pub / dsa.h
index c803c78..5079e1c 100644 (file)
--- a/pub/dsa.h
+++ b/pub/dsa.h
 
 /*----- Header files ------------------------------------------------------*/
 
+#include <mLib/macros.h>
+
 #ifndef CATACOMB_DH_H
 #  include "dh.h"
 #endif
 
+#ifndef CATACOMB_GRAND_H
+#  include "grand.h"
+#endif
+
 #ifndef CATACOMB_KEY_H
 #  include "key.h"
 #endif
@@ -219,11 +225,18 @@ extern mp *dsa_nonce(mp */*d*/, mp */*q*/, mp */*x*/, const octet */*m*/,
  * Returns:    ---
  *
  * Use:                Computes a DSA signature of a message.
+ *
+ *             This function is deprecated.  It's really rather badly
+ *             designed, and hard to use securely (and hard to fix).  Please
+ *             use @gdsa_sign@ instead.
  */
 
-extern void dsa_mksig(const dsa_param */*dp*/, mp */*a*/,
-                     mp */*m*/, mp */*k*/,
-                     mp **/*rr*/, mp **/*ss*/);
+extern
+#ifndef CATACOMB_DSAIMPL
+  DEPRECATED("please use `gdsa_sign' instead")
+#endif
+  void dsa_mksig(const dsa_param */*dp*/, mp */*a*/, mp */*m*/, mp */*k*/,
+                mp **/*rr*/, mp **/*ss*/);
 
 /* --- @dsa_sign@ --- *
  *
@@ -242,13 +255,20 @@ extern void dsa_mksig(const dsa_param */*dp*/, mp */*a*/,
  *
  * Use:                Signs a message, storing the results in a big-endian binary
  *             form.
+ *
+ *             This function is deprecated.  It's really rather badly
+ *             designed, and hard to use securely (and hard to fix).  Please
+ *             use @gdsa_sign@ instead.
  */
 
-extern void dsa_sign(dsa_param */*dp*/, mp */*a*/,
-                    const void */*m*/, size_t /*msz*/,
-                    const void */*k*/, size_t /*ksz*/,
-                    void */*r*/, size_t /*rsz*/,
-                    void */*s*/, size_t /*ssz*/);
+extern
+#ifndef CATACOMB_DSAIMPL
+  DEPRECATED("please use `gdsa_sign' instead")
+#endif
+  void dsa_sign(dsa_param */*dp*/, mp */*a*/,
+               const void */*m*/, size_t /*msz*/,
+               const void */*k*/, size_t /*ksz*/,
+               void */*r*/, size_t /*rsz*/, void */*s*/, size_t /*ssz*/);
 
 /* --- @dsa_vrfy@ --- *
  *