X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=ssh.h;h=09ee167a1a11197c3dcf896c91b9804078feb5ba;hb=a59356aa741fe92d73a4574027fae11927e72fdd;hp=6a47e4b648dafcd53ba053bf4caee90e53307a2e;hpb=11d5c791acb6fbc3376ab0843d2040aa0e40e2f2;p=PuTTY.git diff --git a/ssh.h b/ssh.h index 6a47e4b6..09ee167a 100644 --- a/ssh.h +++ b/ssh.h @@ -175,6 +175,13 @@ struct ssh_mac { char *text_name; }; +struct ssh_hash { + void *(*init)(void); /* also allocates context */ + void (*bytes)(void *, void *, int); + void (*final)(void *, unsigned char *); /* also frees context */ + int hlen; /* output length in bytes */ +}; + struct ssh_kex { /* * Plugging in another KEX algorithm requires structural chaos, @@ -186,6 +193,7 @@ struct ssh_kex { char *name, *groupname; const unsigned char *pdata, *gdata;/* NULL means use group exchange */ int plen, glen; + const struct ssh_hash *hash; }; struct ssh_signkey { @@ -236,6 +244,7 @@ extern const struct ssh2_ciphers ssh2_des; extern const struct ssh2_ciphers ssh2_aes; extern const struct ssh2_ciphers ssh2_blowfish; extern const struct ssh2_ciphers ssh2_arcfour; +extern const struct ssh_hash ssh_sha1; extern const struct ssh_kex ssh_diffiehellman_group1; extern const struct ssh_kex ssh_diffiehellman_group14; extern const struct ssh_kex ssh_diffiehellman_gex;