summaryrefslogtreecommitdiff
path: root/scp.c
diff options
context:
space:
mode:
Diffstat (limited to 'scp.c')
-rw-r--r--scp.c45
1 files changed, 22 insertions, 23 deletions
diff --git a/scp.c b/scp.c
index 9af5c54dd..1f8de3881 100644
--- a/scp.c
+++ b/scp.c
@@ -75,7 +75,7 @@
75 */ 75 */
76 76
77#include "includes.h" 77#include "includes.h"
78RCSID("$OpenBSD: scp.c,v 1.43 2000/10/18 18:23:02 markus Exp $"); 78RCSID("$OpenBSD: scp.c,v 1.44 2000/12/11 17:27:33 deraadt Exp $");
79 79
80#include "ssh.h" 80#include "ssh.h"
81#include "xmalloc.h" 81#include "xmalloc.h"
@@ -415,20 +415,20 @@ toremote(targ, argc, argv)
415 suser = pwd->pw_name; 415 suser = pwd->pw_name;
416 else if (!okname(suser)) 416 else if (!okname(suser))
417 continue; 417 continue;
418 (void) sprintf(bp, 418 sprintf(bp,
419 "%s%s -x -o'FallBackToRsh no' -n -l %s %s %s %s '%s%s%s:%s'", 419 "%s%s -x -o'FallBackToRsh no' -n -l %s %s %s %s '%s%s%s:%s'",
420 ssh_program, verbose_mode ? " -v" : "", 420 ssh_program, verbose_mode ? " -v" : "",
421 suser, host, cmd, src, 421 suser, host, cmd, src,
422 tuser ? tuser : "", tuser ? "@" : "", 422 tuser ? tuser : "", tuser ? "@" : "",
423 thost, targ); 423 thost, targ);
424 } else { 424 } else {
425 host = cleanhostname(argv[i]); 425 host = cleanhostname(argv[i]);
426 (void) sprintf(bp, 426 sprintf(bp,
427 "exec %s%s -x -o'FallBackToRsh no' -n %s %s %s '%s%s%s:%s'", 427 "exec %s%s -x -o'FallBackToRsh no' -n %s %s %s '%s%s%s:%s'",
428 ssh_program, verbose_mode ? " -v" : "", 428 ssh_program, verbose_mode ? " -v" : "",
429 host, cmd, src, 429 host, cmd, src,
430 tuser ? tuser : "", tuser ? "@" : "", 430 tuser ? tuser : "", tuser ? "@" : "",
431 thost, targ); 431 thost, targ);
432 } 432 }
433 if (verbose_mode) 433 if (verbose_mode)
434 fprintf(stderr, "Executing: %s\n", bp); 434 fprintf(stderr, "Executing: %s\n", bp);
@@ -557,10 +557,9 @@ syserr: run_err("%s: %s", name, strerror(errno));
557 goto next; 557 goto next;
558 } 558 }
559#define FILEMODEMASK (S_ISUID|S_ISGID|S_IRWXU|S_IRWXG|S_IRWXO) 559#define FILEMODEMASK (S_ISUID|S_ISGID|S_IRWXU|S_IRWXG|S_IRWXO)
560 (void) sprintf(buf, "C%04o %lu %s\n", 560 sprintf(buf, "C%04o %lu %s\n",
561 (unsigned int) (stb.st_mode & FILEMODEMASK), 561 (unsigned int) (stb.st_mode & FILEMODEMASK),
562 (unsigned long) stb.st_size, 562 (unsigned long) stb.st_size, last);
563 last);
564 if (verbose_mode) { 563 if (verbose_mode) {
565 fprintf(stderr, "Sending file modes: %s", buf); 564 fprintf(stderr, "Sending file modes: %s", buf);
566 fflush(stderr); 565 fflush(stderr);
@@ -715,7 +714,7 @@ sink(argc, argv)
715 if (buf[0] == '\01' || buf[0] == '\02') { 714 if (buf[0] == '\01' || buf[0] == '\02') {
716 if (iamremote == 0) 715 if (iamremote == 0)
717 (void) atomicio(write, STDERR_FILENO, 716 (void) atomicio(write, STDERR_FILENO,
718 buf + 1, strlen(buf + 1)); 717 buf + 1, strlen(buf + 1));
719 if (buf[0] == '\02') 718 if (buf[0] == '\02')
720 exit(1); 719 exit(1);
721 ++errs; 720 ++errs;
@@ -1187,8 +1186,7 @@ progressmeter(int flag)
1187 abbrevsize >>= 10; 1186 abbrevsize >>= 10;
1188 } 1187 }
1189 snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), " %5d %c%c ", 1188 snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), " %5d %c%c ",
1190 (int) abbrevsize, prefixes[i], prefixes[i] == ' ' ? ' ' : 1189 (int) abbrevsize, prefixes[i], prefixes[i] == ' ' ? ' ' : 'B');
1191 'B');
1192 1190
1193 timersub(&now, &lastupdate, &wait); 1191 timersub(&now, &lastupdate, &wait);
1194 if (cursize > lastsize) { 1192 if (cursize > lastsize) {
@@ -1203,16 +1201,17 @@ progressmeter(int flag)
1203 timersub(&now, &start, &td); 1201 timersub(&now, &start, &td);
1204 elapsed = td.tv_sec + (td.tv_usec / 1000000.0); 1202 elapsed = td.tv_sec + (td.tv_usec / 1000000.0);
1205 1203
1206 if (statbytes <= 0 || elapsed <= 0.0 || cursize > totalbytes) { 1204 if (flag != 1 &&
1205 (statbytes <= 0 || elapsed <= 0.0 || cursize > totalbytes)) {
1207 snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), 1206 snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
1208 " --:-- ETA"); 1207 " --:-- ETA");
1209 } else if (wait.tv_sec >= STALLTIME) { 1208 } else if (wait.tv_sec >= STALLTIME) {
1210 snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), 1209 snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
1211 " - stalled -"); 1210 " - stalled -");
1212 } else { 1211 } else {
1213 if (flag != 1) 1212 if (flag != 1)
1214 remaining = 1213 remaining = (int)(totalbytes / (statbytes / elapsed) -
1215 (int)(totalbytes / (statbytes / elapsed) - elapsed); 1214 elapsed);
1216 else 1215 else
1217 remaining = elapsed; 1216 remaining = elapsed;
1218 1217