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

Diff for /src/usr.bin/ssh/scp.c between version 1.230 and 1.231

version 1.230, 2021/08/10 03:33:34 version 1.231, 2021/08/11 14:05:19
Line 112 
Line 112 
   
 #define COPY_BUFLEN     16384  #define COPY_BUFLEN     16384
   
 int do_cmd(char *program, char *host, char *remuser, int port, char *cmd,  int do_cmd(char *, char *, char *, int, int, char *, int *, int *, pid_t *);
     int *fdin, int *fdout, pid_t *pidp);  int do_cmd2(char *, char *, int, char *, int, int);
 int do_cmd2(char *host, char *remuser, int port, char *cmd,  
     int fdin, int fdout);  
   
 /* Struct for addargs */  /* Struct for addargs */
 arglist args;  arglist args;
Line 244 
Line 242 
  */   */
   
 int  int
 do_cmd(char *program, char *host, char *remuser, int port, char *cmd,  do_cmd(char *program, char *host, char *remuser, int port, int subsystem,
     int *fdin, int *fdout, pid_t *pid)      char *cmd, int *fdin, int *fdout, pid_t *pid)
 {  {
         int pin[2], pout[2], reserved[2];          int pin[2], pout[2], reserved[2];
   
Line 299 
Line 297 
                         addargs(&args, "-l");                          addargs(&args, "-l");
                         addargs(&args, "%s", remuser);                          addargs(&args, "%s", remuser);
                 }                  }
                   if (subsystem)
                           addargs(&args, "-s");
                 addargs(&args, "--");                  addargs(&args, "--");
                 addargs(&args, "%s", host);                  addargs(&args, "%s", host);
                 addargs(&args, "%s", cmd);                  addargs(&args, "%s", cmd);
Line 929 
Line 929 
    int *reminp, int *remoutp, int *pidp)     int *reminp, int *remoutp, int *pidp)
 {  {
         if (sftp_direct == NULL) {          if (sftp_direct == NULL) {
                 addargs(&args, "-s");                  if (do_cmd(ssh_program, host, user, port, 1, "sftp",
                 if (do_cmd(ssh_program, host, user, port, "sftp",  
                     reminp, remoutp, pidp) < 0)                      reminp, remoutp, pidp) < 0)
                         return NULL;                          return NULL;
   
         } else {          } else {
                 args.list = NULL;                  args.list = NULL;
                 addargs(&args, "sftp-server");                  addargs(&args, "sftp-server");
                 if (do_cmd(sftp_direct, host, NULL, -1, "sftp",                  if (do_cmd(sftp_direct, host, NULL, -1, 0, "sftp",
                     reminp, remoutp, pidp) < 0)                      reminp, remoutp, pidp) < 0)
                         return NULL;                          return NULL;
         }          }
Line 1036 
Line 1035 
                         } else {                          } else {
                                 xasprintf(&bp, "%s -f %s%s", cmd,                                  xasprintf(&bp, "%s -f %s%s", cmd,
                                     *src == '-' ? "-- " : "", src);                                      *src == '-' ? "-- " : "", src);
                                 if (do_cmd(ssh_program, host, suser, sport,                                  if (do_cmd(ssh_program, host, suser, sport, 0,
                                     bp, &remin, &remout, &do_cmd_pid) < 0)                                      bp, &remin, &remout, &do_cmd_pid) < 0)
                                         exit(1);                                          exit(1);
                                 free(bp);                                  free(bp);
Line 1114 
Line 1113 
                         if (remin == -1) {                          if (remin == -1) {
                                 xasprintf(&bp, "%s -t %s%s", cmd,                                  xasprintf(&bp, "%s -t %s%s", cmd,
                                     *targ == '-' ? "-- " : "", targ);                                      *targ == '-' ? "-- " : "", targ);
                                 if (do_cmd(ssh_program, thost, tuser, tport, bp,                                  if (do_cmd(ssh_program, thost, tuser, tport, 0,
                                     &remin, &remout, &do_cmd_pid) < 0)                                      bp, &remin, &remout, &do_cmd_pid) < 0)
                                         exit(1);                                          exit(1);
                                 if (response() < 0)                                  if (response() < 0)
                                         exit(1);                                          exit(1);
Line 1199 
Line 1198 
                 /* SCP */                  /* SCP */
                 xasprintf(&bp, "%s -f %s%s",                  xasprintf(&bp, "%s -f %s%s",
                     cmd, *src == '-' ? "-- " : "", src);                      cmd, *src == '-' ? "-- " : "", src);
                 if (do_cmd(ssh_program, host, suser, sport, bp,                  if (do_cmd(ssh_program, host, suser, sport, 0, bp,
                     &remin, &remout, &do_cmd_pid) < 0) {                      &remin, &remout, &do_cmd_pid) < 0) {
                         free(bp);                          free(bp);
                         ++errs;                          ++errs;

Legend:
Removed from v.1.230  
changed lines
  Added in v.1.231