Log the hash used for DH kex (now there's a choice).
[sgt/putty] / ssh.c
diff --git a/ssh.c b/ssh.c
index 3d23aa0..ba3dfad 100644 (file)
--- a/ssh.c
+++ b/ssh.c
@@ -3222,7 +3222,7 @@ static int do_ssh1_login(Ssh ssh, unsigned char *in, int inlen,
     while (pktin->type == SSH1_SMSG_FAILURE) {
        s->pwpkt_type = SSH1_CMSG_AUTH_PASSWORD;
 
-       if (agent_exists() && !s->tried_agent) {
+       if (ssh->cfg.tryagent && agent_exists() && !s->tried_agent) {
            /*
             * Attempt RSA authentication using Pageant.
             */
@@ -5519,7 +5519,8 @@ static int do_ssh2_transport(Ssh ssh, void *vin, int inlen,
                  ssh->kex->groupname);
     }
 
-    logevent("Doing Diffie-Hellman key exchange");
+    logeventf(ssh, "Doing Diffie-Hellman key exchange with hash %s",
+             ssh->kex->hash->text_name);
     /*
      * Now generate and send e for Diffie-Hellman.
      */
@@ -6613,7 +6614,7 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
        s->nkeys = 0;
        s->agent_response = NULL;
        s->pkblob_in_agent = NULL;
-       if (agent_exists()) {
+       if (ssh->cfg.tryagent && agent_exists()) {
 
            void *r;
 
@@ -8690,8 +8691,11 @@ void ssh_send_port_open(void *channel, char *hostname, int port, char *org)
         * too much hassle to keep track, and partly I'm not
         * convinced the server should be told details like that
         * about my local network configuration.
+        * The "originator IP address" is syntactically a numeric
+        * IP address, and some servers (e.g., Tectia) get upset
+        * if it doesn't match this syntax.
         */
-       ssh2_pkt_addstring(pktout, "client-side-connection");
+       ssh2_pkt_addstring(pktout, "0.0.0.0");
        ssh2_pkt_adduint32(pktout, 0);
        ssh2_pkt_send(ssh, pktout);
     }