X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/fd59420de626ce8af54dd90cf4ae37570793c9d1..055817455466c8eb60392f30bb7c689763962e17:/putty.h?ds=sidebyside diff --git a/putty.h b/putty.h index b6aace7f..6f62afef 100644 --- a/putty.h +++ b/putty.h @@ -234,6 +234,17 @@ enum { enum { /* + * SSH-2 key exchange algorithms + */ + KEX_WARN, + KEX_DHGROUP1, + KEX_DHGROUP14, + KEX_DHGEX, + KEX_MAX +}; + +enum { + /* * SSH ciphers (both SSH1 and SSH2) */ CIPHER_WARN, /* pseudo 'cipher' */ @@ -303,6 +314,16 @@ enum { FUNKY_SCO }; +enum { + /* + * Network address types. Used for specifying choice of IPv4/v6 + * in config; also used in proxy.c to indicate whether a given + * host name has already been resolved or will be resolved at + * the proxy end. + */ + ADDRTYPE_UNSPEC, ADDRTYPE_IPV4, ADDRTYPE_IPV6, ADDRTYPE_NAME +}; + struct backend_tag { const char *(*init) (void *frontend_handle, void **backend_handle, Config *cfg, @@ -329,6 +350,7 @@ struct backend_tag { * buffer is clearing. */ void (*unthrottle) (void *handle, int); + int (*cfg_info) (void *handle); int default_port; }; @@ -363,6 +385,7 @@ struct config_tag { char host[512]; int port; int protocol; + int addressfamily; int close_on_exit; int warn_on_close; int ping_interval; /* in seconds */ @@ -388,6 +411,9 @@ struct config_tag { * but never for loading/saving */ int nopty; int compression; + int ssh_kexlist[KEX_MAX]; + int ssh_rekey_time; /* in minutes */ + char ssh_rekey_data[16]; int agentfwd; int change_username; /* allow username switching in SSH2 */ int ssh_cipherlist[CIPHER_MAX]; @@ -514,7 +540,7 @@ struct config_tag { /* SSH bug compatibility modes */ int sshbug_ignore1, sshbug_plainpw1, sshbug_rsa1, sshbug_hmac2, sshbug_derivekey2, sshbug_rsapad2, - sshbug_dhgex2, sshbug_pksessid2; + sshbug_pksessid2; /* Options for pterm. Should split out into platform-dependent part. */ int stamp_utmp; int login_shell; @@ -862,7 +888,7 @@ int wc_unescape(char *output, const char *wildcard); void logevent(void *frontend, const char *); void verify_ssh_host_key(void *frontend, char *host, int port, char *keytype, char *keystr, char *fingerprint); -void askcipher(void *frontend, char *ciphername, int cs); +void askalg(void *frontend, const char *algtype, const char *algname); int askappend(void *frontend, Filename filename); /* @@ -906,7 +932,7 @@ void cmdline_error(char *, ...); */ struct controlbox; void setup_config_box(struct controlbox *b, struct sesslist *sesslist, - int midsession, int protocol); + int midsession, int protocol, int protcfginfo); /* * Exports from minibidi.c.