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

Diff for /src/usr.bin/ssh/readconf.c between version 1.382 and 1.383

version 1.382, 2023/10/11 22:42:26 version 1.383, 2023/10/12 02:18:18
Line 336 
Line 336 
   
 char *  char *
 ssh_connection_hash(const char *thishost, const char *host, const char *portstr,  ssh_connection_hash(const char *thishost, const char *host, const char *portstr,
     const char *user)      const char *user, const char *jumphost)
 {  {
         struct ssh_digest_ctx *md;          struct ssh_digest_ctx *md;
         u_char conn_hash[SSH_DIGEST_MAX_LENGTH];          u_char conn_hash[SSH_DIGEST_MAX_LENGTH];
Line 346 
Line 346 
             ssh_digest_update(md, host, strlen(host)) < 0 ||              ssh_digest_update(md, host, strlen(host)) < 0 ||
             ssh_digest_update(md, portstr, strlen(portstr)) < 0 ||              ssh_digest_update(md, portstr, strlen(portstr)) < 0 ||
             ssh_digest_update(md, user, strlen(user)) < 0 ||              ssh_digest_update(md, user, strlen(user)) < 0 ||
               ssh_digest_update(md, jumphost, strlen(jumphost)) < 0 ||
             ssh_digest_final(md, conn_hash, sizeof(conn_hash)) < 0)              ssh_digest_final(md, conn_hash, sizeof(conn_hash)) < 0)
                 fatal_f("mux digest failed");                  fatal_f("mux digest failed");
         ssh_digest_free(md);          ssh_digest_free(md);
Line 741 
Line 742 
                         if (r == (negate ? 1 : 0))                          if (r == (negate ? 1 : 0))
                                 this_result = result = 0;                                  this_result = result = 0;
                 } else if (strcasecmp(attrib, "exec") == 0) {                  } else if (strcasecmp(attrib, "exec") == 0) {
                         char *conn_hash_hex, *keyalias;                          char *conn_hash_hex, *keyalias, *jmphost;
   
                         if (gethostname(thishost, sizeof(thishost)) == -1)                          if (gethostname(thishost, sizeof(thishost)) == -1)
                                 fatal("gethostname: %s", strerror(errno));                                  fatal("gethostname: %s", strerror(errno));
                           jmphost = option_clear_or_none(options->jump_host) ?
                               "" : options->jump_host;
                         strlcpy(shorthost, thishost, sizeof(shorthost));                          strlcpy(shorthost, thishost, sizeof(shorthost));
                         shorthost[strcspn(thishost, ".")] = '\0';                          shorthost[strcspn(thishost, ".")] = '\0';
                         snprintf(portstr, sizeof(portstr), "%d", port);                          snprintf(portstr, sizeof(portstr), "%d", port);
                         snprintf(uidstr, sizeof(uidstr), "%llu",                          snprintf(uidstr, sizeof(uidstr), "%llu",
                             (unsigned long long)pw->pw_uid);                              (unsigned long long)pw->pw_uid);
                         conn_hash_hex = ssh_connection_hash(thishost, host,                          conn_hash_hex = ssh_connection_hash(thishost, host,
                             portstr, ruser);                              portstr, ruser, jmphost);
                         keyalias = options->host_key_alias ?                          keyalias = options->host_key_alias ?
                             options->host_key_alias : host;                              options->host_key_alias : host;
   
Line 767 
Line 770 
                             "r", ruser,                              "r", ruser,
                             "u", pw->pw_name,                              "u", pw->pw_name,
                             "i", uidstr,                              "i", uidstr,
                               "j", jmphost,
                             (char *)NULL);                              (char *)NULL);
                         free(conn_hash_hex);                          free(conn_hash_hex);
                         if (result != 1) {                          if (result != 1) {

Legend:
Removed from v.1.382  
changed lines
  Added in v.1.383