[BACK]Return to kex.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/kex.c between version 1.157 and 1.158

version 1.157, 2020/02/26 13:40:09 version 1.158, 2020/03/13 04:01:56
Line 1152 
Line 1152 
 kex_exchange_identification(struct ssh *ssh, int timeout_ms,  kex_exchange_identification(struct ssh *ssh, int timeout_ms,
     const char *version_addendum)      const char *version_addendum)
 {  {
         int remote_major, remote_minor, mismatch;          int remote_major, remote_minor, mismatch, oerrno = 0;
         size_t len, i, n;          size_t len, i, n;
         int r, expect_nl;          int r, expect_nl;
         u_char c;          u_char c;
Line 1171 
Line 1171 
            PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION,             PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION,
             version_addendum == NULL ? "" : " ",              version_addendum == NULL ? "" : " ",
             version_addendum == NULL ? "" : version_addendum)) != 0) {              version_addendum == NULL ? "" : version_addendum)) != 0) {
                   oerrno = errno;
                 error("%s: sshbuf_putf: %s", __func__, ssh_err(r));                  error("%s: sshbuf_putf: %s", __func__, ssh_err(r));
                 goto out;                  goto out;
         }          }
Line 1178 
Line 1179 
         if (atomicio(vwrite, ssh_packet_get_connection_out(ssh),          if (atomicio(vwrite, ssh_packet_get_connection_out(ssh),
             sshbuf_mutable_ptr(our_version),              sshbuf_mutable_ptr(our_version),
             sshbuf_len(our_version)) != sshbuf_len(our_version)) {              sshbuf_len(our_version)) != sshbuf_len(our_version)) {
                 error("%s: write: %.100s", __func__, strerror(errno));                  oerrno = errno;
                   debug("%s: write: %.100s", __func__, strerror(errno));
                 r = SSH_ERR_SYSTEM_ERROR;                  r = SSH_ERR_SYSTEM_ERROR;
                 goto out;                  goto out;
         }          }
         if ((r = sshbuf_consume_end(our_version, 2)) != 0) { /* trim \r\n */          if ((r = sshbuf_consume_end(our_version, 2)) != 0) { /* trim \r\n */
                   oerrno = errno;
                 error("%s: sshbuf_consume_end: %s", __func__, ssh_err(r));                  error("%s: sshbuf_consume_end: %s", __func__, ssh_err(r));
                 goto out;                  goto out;
         }          }
Line 1218 
Line 1221 
                                         r = SSH_ERR_CONN_TIMEOUT;                                          r = SSH_ERR_CONN_TIMEOUT;
                                         goto out;                                          goto out;
                                 } else if (r == -1) {                                  } else if (r == -1) {
                                           oerrno = errno;
                                         error("%s: %s",                                          error("%s: %s",
                                             __func__, strerror(errno));                                              __func__, strerror(errno));
                                         r = SSH_ERR_SYSTEM_ERROR;                                          r = SSH_ERR_SYSTEM_ERROR;
Line 1233 
Line 1237 
                                 r = SSH_ERR_CONN_CLOSED;                                  r = SSH_ERR_CONN_CLOSED;
                                 goto out;                                  goto out;
                         } else if (len != 1) {                          } else if (len != 1) {
                                   oerrno = errno;
                                 error("%s: read: %.100s",                                  error("%s: read: %.100s",
                                     __func__, strerror(errno));                                      __func__, strerror(errno));
                                 r = SSH_ERR_SYSTEM_ERROR;                                  r = SSH_ERR_SYSTEM_ERROR;
Line 1250 
Line 1255 
                                 goto invalid;                                  goto invalid;
                         }                          }
                         if ((r = sshbuf_put_u8(peer_version, c)) != 0) {                          if ((r = sshbuf_put_u8(peer_version, c)) != 0) {
                                   oerrno = errno;
                                 error("%s: sshbuf_put: %s",                                  error("%s: sshbuf_put: %s",
                                     __func__, ssh_err(r));                                      __func__, ssh_err(r));
                                 goto out;                                  goto out;
Line 1350 
Line 1356 
         free(our_version_string);          free(our_version_string);
         free(peer_version_string);          free(peer_version_string);
         free(remote_version);          free(remote_version);
           if (r == SSH_ERR_SYSTEM_ERROR)
                   errno = oerrno;
         return r;          return r;
 }  }
   

Legend:
Removed from v.1.157  
changed lines
  Added in v.1.158