X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/371e569c350575d3f9b41c71e2ff51de9ef62483..27cd7fc28c020044e7394fe8274ffb853e12082c:/ssh.h?ds=sidebyside diff --git a/ssh.h b/ssh.h index a99b6336..9f9f1e6e 100644 --- a/ssh.h +++ b/ssh.h @@ -75,7 +75,10 @@ unsigned long crc32(const void *s, size_t len); unsigned long crc32_update(unsigned long crc_input, const void *s, size_t len); /* SSH CRC compensation attack detector */ -int detect_attack(unsigned char *buf, uint32 len, unsigned char *IV); +void *crcda_make_context(void); +void crcda_free_context(void *handle); +int detect_attack(void *handle, unsigned char *buf, uint32 len, + unsigned char *IV); typedef struct { uint32 h[4]; @@ -151,10 +154,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; }; @@ -257,8 +261,8 @@ Bignum modpow(Bignum base, Bignum exp, Bignum mod); Bignum modmul(Bignum a, Bignum b, Bignum mod); void decbn(Bignum n); extern Bignum Zero, One; -Bignum bignum_from_bytes(unsigned char *data, int nbytes); -int ssh1_read_bignum(unsigned char *data, Bignum * result); +Bignum bignum_from_bytes(const unsigned char *data, int nbytes); +int ssh1_read_bignum(const unsigned char *data, Bignum * result); int bignum_bitcount(Bignum bn); int ssh1_bignum_length(Bignum bn); int ssh2_bignum_length(Bignum bn); @@ -279,11 +283,11 @@ Bignum bignum_rshift(Bignum number, int shift); int bignum_cmp(Bignum a, Bignum b); char *bignum_decimal(Bignum x); -void dh_setup_group1(void); -void dh_setup_group(Bignum pval, Bignum gval); -void dh_cleanup(void); -Bignum dh_create_e(int nbits); -Bignum dh_find_K(Bignum f); +void *dh_setup_group1(void); +void *dh_setup_group(Bignum pval, Bignum gval); +void dh_cleanup(void *); +Bignum dh_create_e(void *, int nbits); +Bignum dh_find_K(void *, Bignum f); int loadrsakey(char *filename, struct RSAKey *key, char *passphrase); int rsakey_encrypted(char *filename, char **comment);