Make memory management uniform: _everything_ now goes through the
[u/mdw/putty] / ssh.h
diff --git a/ssh.h b/ssh.h
index 3d89dee..725569c 100644 (file)
--- a/ssh.h
+++ b/ssh.h
@@ -1,5 +1,7 @@
 #include <string.h>
 
+#include "puttymem.h"
+
 /*
  * Useful thing.
  */
@@ -126,11 +128,15 @@ struct ssh_kex {
     char *name;
 };
 
-struct ssh_hostkey {
-    void (*setkey)(char *data, int len);
-    char *(*fmtkey)(void);
-    char *(*fingerprint)(void);
-    int (*verifysig)(char *sig, int siglen, char *data, int datalen);
+struct ssh_signkey {
+    void *(*newkey)(char *data, int len);
+    void (*freekey)(void *key);
+    char *(*fmtkey)(void *key);
+    char *(*fingerprint)(void *key);
+    int (*verifysig)(void *key, char *sig, int siglen,
+                    char *data, int datalen);
+    int (*sign)(void *key, char *sig, int siglen,
+               char *data, int datalen);
     char *name;
     char *keytype;                     /* for host key cache */
 };