diff options
author | Damien Miller <djm@mindrot.org> | 2000-05-01 21:10:33 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2000-05-01 21:10:33 +1000 |
commit | 35dabd0398dc4aa8735d5ec896ead6955b83b2ff (patch) | |
tree | dc981f761571cb7e6f5b7628bb7d19150559ae01 /scp.c | |
parent | 70fb671d218378f6df6a9121a71e8320768a0be3 (diff) |
[scp.c]
- fix very rare EAGAIN/EINTR issues; based on work by djm
[packet.c]
- less debug, rm unused
[auth2.c]
- disable kerb,s/key in ssh2
[sshd.8]
- Minor tweaks and typo fixes.
[ssh-keygen.c]
- Put -d into usage and reorder. markus ok.
Diffstat (limited to 'scp.c')
-rw-r--r-- | scp.c | 34 |
1 files changed, 17 insertions, 17 deletions
@@ -45,7 +45,7 @@ | |||
45 | */ | 45 | */ |
46 | 46 | ||
47 | #include "includes.h" | 47 | #include "includes.h" |
48 | RCSID("$Id: scp.c,v 1.20 2000/04/19 06:26:14 damien Exp $"); | 48 | RCSID("$Id: scp.c,v 1.21 2000/05/01 11:10:33 damien Exp $"); |
49 | 49 | ||
50 | #include "ssh.h" | 50 | #include "ssh.h" |
51 | #include "xmalloc.h" | 51 | #include "xmalloc.h" |
@@ -543,7 +543,7 @@ syserr: run_err("%s: %s", name, strerror(errno)); | |||
543 | (void) sprintf(buf, "T%lu 0 %lu 0\n", | 543 | (void) sprintf(buf, "T%lu 0 %lu 0\n", |
544 | (unsigned long) stb.st_mtime, | 544 | (unsigned long) stb.st_mtime, |
545 | (unsigned long) stb.st_atime); | 545 | (unsigned long) stb.st_atime); |
546 | (void) write(remout, buf, strlen(buf)); | 546 | (void) atomicio(write, remout, buf, strlen(buf)); |
547 | if (response() < 0) | 547 | if (response() < 0) |
548 | goto next; | 548 | goto next; |
549 | } | 549 | } |
@@ -556,7 +556,7 @@ syserr: run_err("%s: %s", name, strerror(errno)); | |||
556 | fprintf(stderr, "Sending file modes: %s", buf); | 556 | fprintf(stderr, "Sending file modes: %s", buf); |
557 | fflush(stderr); | 557 | fflush(stderr); |
558 | } | 558 | } |
559 | (void) write(remout, buf, strlen(buf)); | 559 | (void) atomicio(write, remout, buf, strlen(buf)); |
560 | if (response() < 0) | 560 | if (response() < 0) |
561 | goto next; | 561 | goto next; |
562 | if ((bp = allocbuf(&buffer, fd, 2048)) == NULL) { | 562 | if ((bp = allocbuf(&buffer, fd, 2048)) == NULL) { |
@@ -578,7 +578,7 @@ next: (void) close(fd); | |||
578 | haderr = result >= 0 ? EIO : errno; | 578 | haderr = result >= 0 ? EIO : errno; |
579 | } | 579 | } |
580 | if (haderr) | 580 | if (haderr) |
581 | (void) write(remout, bp->buf, amt); | 581 | (void) atomicio(write, remout, bp->buf, amt); |
582 | else { | 582 | else { |
583 | result = atomicio(write, remout, bp->buf, amt); | 583 | result = atomicio(write, remout, bp->buf, amt); |
584 | if (result != amt) | 584 | if (result != amt) |
@@ -592,7 +592,7 @@ next: (void) close(fd); | |||
592 | if (close(fd) < 0 && !haderr) | 592 | if (close(fd) < 0 && !haderr) |
593 | haderr = errno; | 593 | haderr = errno; |
594 | if (!haderr) | 594 | if (!haderr) |
595 | (void) write(remout, "", 1); | 595 | (void) atomicio(write, remout, "", 1); |
596 | else | 596 | else |
597 | run_err("%s: %s", name, strerror(haderr)); | 597 | run_err("%s: %s", name, strerror(haderr)); |
598 | (void) response(); | 598 | (void) response(); |
@@ -621,7 +621,7 @@ rsource(name, statp) | |||
621 | (void) sprintf(path, "T%lu 0 %lu 0\n", | 621 | (void) sprintf(path, "T%lu 0 %lu 0\n", |
622 | (unsigned long) statp->st_mtime, | 622 | (unsigned long) statp->st_mtime, |
623 | (unsigned long) statp->st_atime); | 623 | (unsigned long) statp->st_atime); |
624 | (void) write(remout, path, strlen(path)); | 624 | (void) atomicio(write, remout, path, strlen(path)); |
625 | if (response() < 0) { | 625 | if (response() < 0) { |
626 | closedir(dirp); | 626 | closedir(dirp); |
627 | return; | 627 | return; |
@@ -632,7 +632,7 @@ rsource(name, statp) | |||
632 | 0, last); | 632 | 0, last); |
633 | if (verbose_mode) | 633 | if (verbose_mode) |
634 | fprintf(stderr, "Entering directory: %s", path); | 634 | fprintf(stderr, "Entering directory: %s", path); |
635 | (void) write(remout, path, strlen(path)); | 635 | (void) atomicio(write, remout, path, strlen(path)); |
636 | if (response() < 0) { | 636 | if (response() < 0) { |
637 | closedir(dirp); | 637 | closedir(dirp); |
638 | return; | 638 | return; |
@@ -651,7 +651,7 @@ rsource(name, statp) | |||
651 | source(1, vect); | 651 | source(1, vect); |
652 | } | 652 | } |
653 | (void) closedir(dirp); | 653 | (void) closedir(dirp); |
654 | (void) write(remout, "E\n", 2); | 654 | (void) atomicio(write, remout, "E\n", 2); |
655 | (void) response(); | 655 | (void) response(); |
656 | } | 656 | } |
657 | 657 | ||
@@ -687,7 +687,7 @@ sink(argc, argv) | |||
687 | if (targetshouldbedirectory) | 687 | if (targetshouldbedirectory) |
688 | verifydir(targ); | 688 | verifydir(targ); |
689 | 689 | ||
690 | (void) write(remout, "", 1); | 690 | (void) atomicio(write, remout, "", 1); |
691 | if (stat(targ, &stb) == 0 && S_ISDIR(stb.st_mode)) | 691 | if (stat(targ, &stb) == 0 && S_ISDIR(stb.st_mode)) |
692 | targisdir = 1; | 692 | targisdir = 1; |
693 | for (first = 1;; first = 0) { | 693 | for (first = 1;; first = 0) { |
@@ -705,7 +705,7 @@ sink(argc, argv) | |||
705 | 705 | ||
706 | if (buf[0] == '\01' || buf[0] == '\02') { | 706 | if (buf[0] == '\01' || buf[0] == '\02') { |
707 | if (iamremote == 0) | 707 | if (iamremote == 0) |
708 | (void) write(STDERR_FILENO, | 708 | (void) atomicio(write, STDERR_FILENO, |
709 | buf + 1, strlen(buf + 1)); | 709 | buf + 1, strlen(buf + 1)); |
710 | if (buf[0] == '\02') | 710 | if (buf[0] == '\02') |
711 | exit(1); | 711 | exit(1); |
@@ -713,7 +713,7 @@ sink(argc, argv) | |||
713 | continue; | 713 | continue; |
714 | } | 714 | } |
715 | if (buf[0] == 'E') { | 715 | if (buf[0] == 'E') { |
716 | (void) write(remout, "", 1); | 716 | (void) atomicio(write, remout, "", 1); |
717 | return; | 717 | return; |
718 | } | 718 | } |
719 | if (ch == '\n') | 719 | if (ch == '\n') |
@@ -737,7 +737,7 @@ sink(argc, argv) | |||
737 | getnum(dummy_usec); | 737 | getnum(dummy_usec); |
738 | if (*cp++ != '\0') | 738 | if (*cp++ != '\0') |
739 | SCREWUP("atime.usec not delimited"); | 739 | SCREWUP("atime.usec not delimited"); |
740 | (void) write(remout, "", 1); | 740 | (void) atomicio(write, remout, "", 1); |
741 | continue; | 741 | continue; |
742 | } | 742 | } |
743 | if (*cp != 'C' && *cp != 'D') { | 743 | if (*cp != 'C' && *cp != 'D') { |
@@ -816,7 +816,7 @@ sink(argc, argv) | |||
816 | bad: run_err("%s: %s", np, strerror(errno)); | 816 | bad: run_err("%s: %s", np, strerror(errno)); |
817 | continue; | 817 | continue; |
818 | } | 818 | } |
819 | (void) write(remout, "", 1); | 819 | (void) atomicio(write, remout, "", 1); |
820 | if ((bp = allocbuf(&buffer, ofd, 4096)) == NULL) { | 820 | if ((bp = allocbuf(&buffer, ofd, 4096)) == NULL) { |
821 | (void) close(ofd); | 821 | (void) close(ofd); |
822 | continue; | 822 | continue; |
@@ -897,7 +897,7 @@ bad: run_err("%s: %s", np, strerror(errno)); | |||
897 | run_err("%s: %s", np, strerror(wrerrno)); | 897 | run_err("%s: %s", np, strerror(wrerrno)); |
898 | break; | 898 | break; |
899 | case NO: | 899 | case NO: |
900 | (void) write(remout, "", 1); | 900 | (void) atomicio(write, remout, "", 1); |
901 | break; | 901 | break; |
902 | case DISPLAYED: | 902 | case DISPLAYED: |
903 | break; | 903 | break; |
@@ -932,7 +932,7 @@ response() | |||
932 | } while (cp < &rbuf[sizeof(rbuf) - 1] && ch != '\n'); | 932 | } while (cp < &rbuf[sizeof(rbuf) - 1] && ch != '\n'); |
933 | 933 | ||
934 | if (!iamremote) | 934 | if (!iamremote) |
935 | (void) write(STDERR_FILENO, rbuf, cp - rbuf); | 935 | (void) atomicio(write, STDERR_FILENO, rbuf, cp - rbuf); |
936 | ++errs; | 936 | ++errs; |
937 | if (resp == 1) | 937 | if (resp == 1) |
938 | return (-1); | 938 | return (-1); |
@@ -1008,7 +1008,7 @@ run_err(const char *fmt,...) | |||
1008 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 1008 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
1009 | * SUCH DAMAGE. | 1009 | * SUCH DAMAGE. |
1010 | * | 1010 | * |
1011 | * $Id: scp.c,v 1.20 2000/04/19 06:26:14 damien Exp $ | 1011 | * $Id: scp.c,v 1.21 2000/05/01 11:10:33 damien Exp $ |
1012 | */ | 1012 | */ |
1013 | 1013 | ||
1014 | char * | 1014 | char * |
@@ -1240,7 +1240,7 @@ progressmeter(int flag) | |||
1240 | alarmtimer(1); | 1240 | alarmtimer(1); |
1241 | } else if (flag == 1) { | 1241 | } else if (flag == 1) { |
1242 | alarmtimer(0); | 1242 | alarmtimer(0); |
1243 | write(fileno(stdout), "\n", 1); | 1243 | atomicio(write, fileno(stdout), "\n", 1); |
1244 | statbytes = 0; | 1244 | statbytes = 0; |
1245 | } | 1245 | } |
1246 | } | 1246 | } |