summaryrefslogtreecommitdiff
path: root/scp.c
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2008-01-01 20:33:57 +1100
committerDarren Tucker <dtucker@zip.com.au>2008-01-01 20:33:57 +1100
commit9b439c1adc1bdd8248f456005686f8924ca4e03d (patch)
tree86f4e925ce1940ebb01cb61d185e2020c69d7926 /scp.c
parent912428c91aa9118f807d1e9108da7bc06601095d (diff)
- dtucker@cvs.openbsd.org 2008/01/01 09:06:39
[scp.c] If scp -p encounters a pre-epoch timestamp, use the epoch which is as close as we can get given that it's used unsigned. Add a little debugging while there. bz #828, ok djm@
Diffstat (limited to 'scp.c')
-rw-r--r--scp.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/scp.c b/scp.c
index 8febe12a1..b35a7dd6c 100644
--- a/scp.c
+++ b/scp.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: scp.c,v 1.161 2007/10/24 03:44:02 djm Exp $ */ 1/* $OpenBSD: scp.c,v 1.162 2008/01/01 09:06:39 dtucker Exp $ */
2/* 2/*
3 * scp - secure remote copy. This is basically patched BSD rcp which 3 * scp - secure remote copy. This is basically patched BSD rcp which
4 * uses ssh to do the data transfer (instead of using rcmd). 4 * uses ssh to do the data transfer (instead of using rcmd).
@@ -669,8 +669,14 @@ syserr: run_err("%s: %s", name, strerror(errno));
669 * versions expecting microseconds. 669 * versions expecting microseconds.
670 */ 670 */
671 (void) snprintf(buf, sizeof buf, "T%lu 0 %lu 0\n", 671 (void) snprintf(buf, sizeof buf, "T%lu 0 %lu 0\n",
672 (u_long) stb.st_mtime, 672 (u_long) (stb.st_mtime < 0 ? 0 : stb.st_mtime),
673 (u_long) stb.st_atime); 673 (u_long) (stb.st_atime < 0 ? 0 : stb.st_atime));
674 if (verbose_mode) {
675 fprintf(stderr, "File mtime %ld atime %ld\n",
676 (long)stb.st_mtime, (long)stb.st_atime);
677 fprintf(stderr, "Sending file timestamps: %s",
678 buf);
679 }
674 (void) atomicio(vwrite, remout, buf, strlen(buf)); 680 (void) atomicio(vwrite, remout, buf, strlen(buf));
675 if (response() < 0) 681 if (response() < 0)
676 goto next; 682 goto next;