X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/514702987c9252fcb0ab98882a6603b3bd0505ce..e0e1a00d471c4970f88b2a87f7f54d6c2c97c7f4:/ssh.h diff --git a/ssh.h b/ssh.h index 59a7b460..28dd6dd1 100644 --- a/ssh.h +++ b/ssh.h @@ -123,22 +123,26 @@ void SHA512_Final(SHA512_State * s, unsigned char *output); void SHA512_Simple(const void *p, int len, unsigned char *output); struct ssh_cipher { - void (*sesskey) (unsigned char *key); /* for ssh 1 */ - void (*encrypt) (unsigned char *blk, int len); - void (*decrypt) (unsigned char *blk, int len); + void *(*make_context)(void); + void (*free_context)(void *); + void (*sesskey) (void *, unsigned char *key); /* for ssh 1 */ + void (*encrypt) (void *, unsigned char *blk, int len); + void (*decrypt) (void *, unsigned char *blk, int len); int blksize; + char *text_name; }; struct ssh2_cipher { - void (*setcsiv) (unsigned char *key); /* for ssh 2 */ - void (*setcskey) (unsigned char *key); /* for ssh 2 */ - void (*setsciv) (unsigned char *key); /* for ssh 2 */ - void (*setsckey) (unsigned char *key); /* for ssh 2 */ - void (*encrypt) (unsigned char *blk, int len); - void (*decrypt) (unsigned char *blk, int len); + void *(*make_context)(void); + void (*free_context)(void *); + void (*setiv) (void *, unsigned char *key); /* for ssh 2 */ + void (*setkey) (void *, unsigned char *key);/* for ssh 2 */ + void (*encrypt) (void *, unsigned char *blk, int len); + void (*decrypt) (void *, unsigned char *blk, int len); char *name; int blksize; int keylen; + char *text_name; }; struct ssh2_ciphers { @@ -147,10 +151,11 @@ struct ssh2_ciphers { }; struct ssh_mac { - void (*setcskey) (unsigned char *key); - void (*setsckey) (unsigned char *key); - void (*generate) (unsigned char *blk, int len, unsigned long seq); - int (*verify) (unsigned char *blk, int len, unsigned long seq); + void *(*make_context)(void); + void (*free_context)(void *); + void (*setkey) (void *, unsigned char *key); + void (*generate) (void *, unsigned char *blk, int len, unsigned long seq); + int (*verify) (void *, unsigned char *blk, int len, unsigned long seq); char *name; int len; };