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

Diff for /src/usr.bin/ssh/sshconnect.c between version 1.317 and 1.318

version 1.317, 2019/06/28 13:35:04 version 1.318, 2019/09/13 04:27:35
Line 73 
Line 73 
 /* Expand a proxy command */  /* Expand a proxy command */
 static char *  static char *
 expand_proxy_command(const char *proxy_command, const char *user,  expand_proxy_command(const char *proxy_command, const char *user,
     const char *host, int port)      const char *host, const char *host_arg, int port)
 {  {
         char *tmp, *ret, strport[NI_MAXSERV];          char *tmp, *ret, strport[NI_MAXSERV];
   
         snprintf(strport, sizeof strport, "%d", port);          snprintf(strport, sizeof strport, "%d", port);
         xasprintf(&tmp, "exec %s", proxy_command);          xasprintf(&tmp, "exec %s", proxy_command);
         ret = percent_expand(tmp, "h", host, "p", strport,          ret = percent_expand(tmp,
             "r", options.user, (char *)NULL);              "h", host,
               "n", host_arg,
               "p", strport,
               "r", options.user,
               (char *)NULL);
         free(tmp);          free(tmp);
         return ret;          return ret;
 }  }
Line 108 
Line 112 
  * a connected fd back to us.   * a connected fd back to us.
  */   */
 static int  static int
 ssh_proxy_fdpass_connect(struct ssh *ssh, const char *host, u_short port,  ssh_proxy_fdpass_connect(struct ssh *ssh, const char *host,
     const char *proxy_command)      const char *host_arg, u_short port, const char *proxy_command)
 {  {
         char *command_string;          char *command_string;
         int sp[2], sock;          int sp[2], sock;
Line 124 
Line 128 
                     "proxy dialer: %.100s", strerror(errno));                      "proxy dialer: %.100s", strerror(errno));
   
         command_string = expand_proxy_command(proxy_command, options.user,          command_string = expand_proxy_command(proxy_command, options.user,
             host, port);              host_arg, host, port);
         debug("Executing proxy dialer command: %.500s", command_string);          debug("Executing proxy dialer command: %.500s", command_string);
   
         /* Fork and execute the proxy command. */          /* Fork and execute the proxy command. */
Line 190 
Line 194 
  * Connect to the given ssh server using a proxy command.   * Connect to the given ssh server using a proxy command.
  */   */
 static int  static int
 ssh_proxy_connect(struct ssh *ssh, const char *host, u_short port,  ssh_proxy_connect(struct ssh *ssh, const char *host, const char *host_arg,
     const char *proxy_command)      u_short port, const char *proxy_command)
 {  {
         char *command_string;          char *command_string;
         int pin[2], pout[2];          int pin[2], pout[2];
Line 207 
Line 211 
                     strerror(errno));                      strerror(errno));
   
         command_string = expand_proxy_command(proxy_command, options.user,          command_string = expand_proxy_command(proxy_command, options.user,
             host, port);              host_arg, host, port);
         debug("Executing proxy command: %.500s", command_string);          debug("Executing proxy command: %.500s", command_string);
   
         /* Fork and execute the proxy command. */          /* Fork and execute the proxy command. */
Line 519 
Line 523 
 }  }
   
 int  int
 ssh_connect(struct ssh *ssh, const char *host, struct addrinfo *addrs,  ssh_connect(struct ssh *ssh, const char *host, const char *host_arg,
     struct sockaddr_storage *hostaddr, u_short port, int family,      struct addrinfo *addrs, struct sockaddr_storage *hostaddr, u_short port,
     int connection_attempts, int *timeout_ms, int want_keepalive)      int family, int connection_attempts, int *timeout_ms, int want_keepalive)
 {  {
         int in, out;          int in, out;
   
Line 540 
Line 544 
                         return -1; /* ssh_packet_set_connection logs error */                          return -1; /* ssh_packet_set_connection logs error */
                 return 0;                  return 0;
         } else if (options.proxy_use_fdpass) {          } else if (options.proxy_use_fdpass) {
                 return ssh_proxy_fdpass_connect(ssh, host, port,                  return ssh_proxy_fdpass_connect(ssh, host, host_arg, port,
                     options.proxy_command);                      options.proxy_command);
         }          }
         return ssh_proxy_connect(ssh, host, port, options.proxy_command);          return ssh_proxy_connect(ssh, host, host_arg, port,
               options.proxy_command);
 }  }
   
 /* defaults to 'no' */  /* defaults to 'no' */

Legend:
Removed from v.1.317  
changed lines
  Added in v.1.318