[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.193 and 1.194

version 1.193, 2017/10/21 23:06:24 version 1.194, 2017/12/18 17:28:54
Line 583 
Line 583 
         return (response());          return (response());
 }  }
   
   static int
   parse_scp_uri(const char *uri, char **userp, char **hostp, int *portp,
        char **pathp)
   {
           int r;
   
           r = parse_uri("scp", uri, userp, hostp, portp, pathp);
           if (r == 0 && *pathp == NULL)
                   *pathp = xstrdup(".");
           return r;
   }
   
 void  void
 toremote(int argc, char **argv)  toremote(int argc, char **argv)
 {  {
Line 597 
Line 609 
         alist.list = NULL;          alist.list = NULL;
   
         /* Parse target */          /* Parse target */
         r = parse_uri("scp", argv[argc - 1], &tuser, &thost, &tport, &targ);          r = parse_scp_uri(argv[argc - 1], &tuser, &thost, &tport, &targ);
         if (r == -1)          if (r == -1) {
                 goto out;       /* invalid URI */                  fmprintf(stderr, "%s: invalid uri\n", argv[argc - 1]);
                   ++errs;
                   goto out;
           }
         if (r != 0) {          if (r != 0) {
                 if (parse_user_host_path(argv[argc - 1], &tuser, &thost,                  if (parse_user_host_path(argv[argc - 1], &tuser, &thost,
                     &targ) == -1)                      &targ) == -1) {
                           fmprintf(stderr, "%s: invalid target\n", argv[argc - 1]);
                           ++errs;
                         goto out;                          goto out;
                   }
         }          }
         if (tuser != NULL && !okname(tuser))          if (tuser != NULL && !okname(tuser)) {
                   ++errs;
                 goto out;                  goto out;
           }
   
         /* Parse source files */          /* Parse source files */
         for (i = 0; i < argc - 1; i++) {          for (i = 0; i < argc - 1; i++) {
                 free(suser);                  free(suser);
                 free(host);                  free(host);
                 free(src);                  free(src);
                 r = parse_uri("scp", argv[i], &suser, &host, &sport, &src);                  r = parse_scp_uri(argv[i], &suser, &host, &sport, &src);
                 if (r == -1)                  if (r == -1) {
                         continue;       /* invalid URI */                          fmprintf(stderr, "%s: invalid uri\n", argv[i]);
                 if (r != 0)                          ++errs;
                           continue;
                   }
                   if (r != 0) {
                         parse_user_host_path(argv[i], &suser, &host, &src);                          parse_user_host_path(argv[i], &suser, &host, &src);
                   }
                 if (suser != NULL && !okname(suser)) {                  if (suser != NULL && !okname(suser)) {
                         ++errs;                          ++errs;
                         continue;                          continue;
Line 707 
Line 731 
                 free(suser);                  free(suser);
                 free(host);                  free(host);
                 free(src);                  free(src);
                 r = parse_uri("scp", argv[i], &suser, &host, &sport, &src);                  r = parse_scp_uri(argv[i], &suser, &host, &sport, &src);
                 if (r == -1) {                  if (r == -1) {
                           fmprintf(stderr, "%s: invalid uri\n", argv[i]);
                         ++errs;                          ++errs;
                         continue;                          continue;
                 }                  }

Legend:
Removed from v.1.193  
changed lines
  Added in v.1.194