X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=putty.h;h=5f46b066f2ac6e48fcf9ec19f899ae55001d9106;hb=15386cbe927fc85ac2fed0bb47704645c4b67dad;hp=4d15448d0fc47560c08ecf7225a0baf4d2876f5c;hpb=b0823fc5be15e429bac4619bf7e2e9f829c02eea;p=PuTTY.git diff --git a/putty.h b/putty.h index 4d15448d..5f46b066 100644 --- a/putty.h +++ b/putty.h @@ -31,6 +31,8 @@ typedef struct terminal_tag Terminal; * Fingerprints of the PGP master keys that can be used to establish a trust * path between an executable and other files. */ +#define PGP_MASTER_KEY_FP \ + "440D E3B5 B7A1 CA85 B3CC 1718 AB58 5DC6 0467 6F7C" #define PGP_RSA_MASTER_KEY_FP \ "8F 15 97 DA 25 30 AB 0D 88 D1 92 54 11 CF 0C 4C" #define PGP_DSA_MASTER_KEY_FP \ @@ -180,7 +182,14 @@ typedef enum { /* Pseudo-specials used for constructing the specials menu. */ TS_SEP, /* Separator */ TS_SUBMENU, /* Start a new submenu with specified name */ - TS_EXITMENU /* Exit current submenu or end of specials */ + TS_EXITMENU, /* Exit current submenu or end of specials */ + /* Starting point for protocols to invent special-action codes + * that can't live in this enum at all, e.g. because they change + * with every session. + * + * Of course, this must remain the last value in this + * enumeration. */ + TS_LOCALSTART } Telnet_Special; struct telnet_special { @@ -257,6 +266,18 @@ enum { KEX_MAX }; +enum { + /* + * SSH-2 host key algorithms + */ + HK_WARN, + HK_RSA, + HK_DSA, + HK_ECDSA, + HK_ED25519, + HK_MAX +}; + enum { /* * SSH ciphers (both SSH-1 and SSH-2) @@ -277,9 +298,9 @@ enum { * three-way settings whose values are `always yes', `always * no', and `decide by some more complex automated means'. This * is true of line discipline options (local echo and line - * editing), proxy DNS, Close On Exit, and SSH server bug - * workarounds. Accordingly I supply a single enum here to deal - * with them all. + * editing), proxy DNS, proxy terminal logging, Close On Exit, and + * SSH server bug workarounds. Accordingly I supply a single enum + * here to deal with them all. */ FORCE_ON, FORCE_OFF, AUTO }; @@ -289,7 +310,7 @@ enum { * Proxy types. */ PROXY_NONE, PROXY_SOCKS4, PROXY_SOCKS5, - PROXY_HTTP, PROXY_TELNET, PROXY_CMD + PROXY_HTTP, PROXY_TELNET, PROXY_CMD, PROXY_FUZZ }; enum { @@ -443,6 +464,9 @@ struct backend_tag { */ void (*unthrottle) (void *handle, int); int (*cfg_info) (void *handle); + /* Only implemented in the SSH protocol: check whether a + * connection-sharing upstream exists for a given configuration. */ + int (*test_for_upstream)(const char *host, int port, Conf *conf); const char *name; int protocol; int default_port; @@ -676,12 +700,14 @@ void cleanup_exit(int); X(STR, NONE, proxy_username) \ X(STR, NONE, proxy_password) \ X(STR, NONE, proxy_telnet_command) \ + X(INT, NONE, proxy_log_to_term) \ /* SSH options */ \ X(STR, NONE, remote_cmd) \ X(STR, NONE, remote_cmd2) /* fallback if remote_cmd fails; never loaded or saved */ \ X(INT, NONE, nopty) \ X(INT, NONE, compression) \ X(INT, INT, ssh_kexlist) \ + X(INT, INT, ssh_hklist) \ X(INT, NONE, ssh_rekey_time) /* in minutes */ \ X(STR, NONE, ssh_rekey_data) /* string encoding e.g. "100K", "2M", "1G" */ \ X(INT, NONE, tryagent) \ @@ -751,6 +777,8 @@ void cleanup_exit(int); X(INT, NONE, erase_to_scrollback) \ X(INT, NONE, compose_key) \ X(INT, NONE, ctrlaltkeys) \ + X(INT, NONE, osx_option_meta) \ + X(INT, NONE, osx_command_meta) \ X(STR, NONE, wintitle) /* initial window title */ \ /* Terminal options */ \ X(INT, NONE, savelines) \ @@ -1200,7 +1228,7 @@ int verify_ssh_host_key(void *frontend, char *host, int port, void (*callback)(void *ctx, int result), void *ctx); /* * have_ssh_host_key() just returns true if a key of that type is - * already chached and false otherwise. + * already cached and false otherwise. */ int have_ssh_host_key(const char *host, int port, const char *keytype); /* @@ -1318,6 +1346,7 @@ int filename_serialise(const Filename *f, void *data); Filename *filename_deserialise(void *data, int maxsize, int *used); char *get_username(void); /* return value needs freeing */ char *get_random_data(int bytes); /* used in cmdgen.c */ +char filename_char_sanitise(char c); /* rewrite special pathname chars */ /* * Exports and imports from timing.c.