Revamp of the local X11 connection code. We now parse X display
[u/mdw/putty] / putty.h
diff --git a/putty.h b/putty.h
index b9f11ce..20cff54 100644 (file)
--- a/putty.h
+++ b/putty.h
@@ -252,6 +252,7 @@ enum {
     KEX_DHGROUP1,
     KEX_DHGROUP14,
     KEX_DHGEX,
+    KEX_RSA,
     KEX_MAX
 };
 
@@ -388,14 +389,12 @@ struct backend_tag {
      */
     void (*unthrottle) (void *handle, int);
     int (*cfg_info) (void *handle);
+    char *name;
+    int protocol;
     int default_port;
 };
 
-extern struct backend_list {
-    int protocol;
-    char *name;
-    Backend *backend;
-} backends[];
+extern Backend *backends[];
 
 /*
  * Suggested default protocol provided by the backend link module.
@@ -428,6 +427,7 @@ struct config_tag {
     int ping_interval;                /* in seconds */
     int tcp_nodelay;
     int tcp_keepalives;
+    char loghost[512];  /* logical host being contacted, for host key check */
     /* Proxy options */
     char proxy_exclude_list[512];
     int proxy_dns;
@@ -459,6 +459,8 @@ struct config_tag {
     int ssh_no_userauth;              /* bypass "ssh-userauth" (SSH-2 only) */
     int try_tis_auth;
     int try_ki_auth;
+    int try_gssapi_auth;               /* attempt gssapi auth */
+    int gssapifwd;                     /* forward tgt via gss */
     int ssh_subsys;                   /* run a subsystem rather than a command */
     int ssh_subsys2;                  /* fallback to go with remote_cmd_ptr2 */
     int ssh_no_shell;                 /* avoid running a shell */
@@ -570,6 +572,7 @@ struct config_tag {
     int x11_forward;
     char x11_display[128];
     int x11_auth;
+    Filename xauthfile;
     /* port forwarding */
     int lport_acceptall; /* accept conns from hosts other than localhost */
     int rport_acceptall; /* same for remote forwarded ports (SSH-2 only) */
@@ -588,7 +591,13 @@ struct config_tag {
     /* SSH bug compatibility modes */
     int sshbug_ignore1, sshbug_plainpw1, sshbug_rsa1,
        sshbug_hmac2, sshbug_derivekey2, sshbug_rsapad2,
-       sshbug_pksessid2, sshbug_rekey2;
+       sshbug_pksessid2, sshbug_rekey2, sshbug_maxpkt2;
+    /*
+     * ssh_simple means that we promise never to open any channel other
+     * than the main one, which means it can safely use a very large
+     * window in SSH-2.
+     */
+    int ssh_simple;
     /* Options for pterm. Should split out into platform-dependent part. */
     int stamp_utmp;
     int login_shell;
@@ -598,6 +607,7 @@ struct config_tag {
     FontSpec widefont;
     FontSpec wideboldfont;
     int shadowboldoffset;
+    int crhaslf;
 };
 
 /*
@@ -677,7 +687,8 @@ typedef struct {
     int name_reqd;     /* Display of `name' required or optional? */
     char *instruction; /* Long description, maybe with embedded newlines */
     int instr_reqd;    /* Display of `instruction' required or optional? */
-    size_t n_prompts;
+    size_t n_prompts;   /* May be zero (in which case display the foregoing,
+                         * if any, and return success) */
     prompt_t **prompts;
     void *frontend;
     void *data;                /* slot for housekeeping data, managed by
@@ -777,6 +788,8 @@ void random_destroy_seed(void);
 /*
  * Exports from settings.c.
  */
+Backend *backend_from_name(const char *name);
+Backend *backend_from_proto(int proto);
 char *save_settings(char *section, Config * cfg);
 void save_open_settings(void *sesskey, Config *cfg);
 void load_settings(char *section, Config * cfg);
@@ -858,8 +871,9 @@ struct logblank_t {
     int type;
 };
 void log_packet(void *logctx, int direction, int type,
-               char *texttype, void *data, int len,
-               int n_blanks, const struct logblank_t *blanks);
+               char *texttype, const void *data, int len,
+               int n_blanks, const struct logblank_t *blanks,
+               const unsigned long *sequence);
 
 /*
  * Exports from testback.c