diff options
author | Leonardo Arena <rnalrd@alpinelinux.org> | 2019-03-01 14:45:54 +0000 |
---|---|---|
committer | Leonardo Arena <rnalrd@alpinelinux.org> | 2019-03-04 07:40:56 +0000 |
commit | 7e86abd857f3234a171b07db0409267dc51df9af (patch) | |
tree | 2fcd973091aa4d1ebe4d6b5aa1c90d46f9d4c1c9 | |
parent | e231e6bed510c2304f37093f0eadb5708da9728e (diff) | |
download | alpine_aports-7e86abd857f3234a171b07db0409267dc51df9af.tar.bz2 alpine_aports-7e86abd857f3234a171b07db0409267dc51df9af.tar.xz alpine_aports-7e86abd857f3234a171b07db0409267dc51df9af.zip |
main/openssh: include patch from upstream
Fix a progress meter visualization bug that is seems to have been introduced with CVE-2019-6109 fix
-rw-r--r-- | main/openssh/APKBUILD | 4 | ||||
-rw-r--r-- | main/openssh/have-progressmeter-force-update-at-beginning-and-end-transfer.patch | 120 |
2 files changed, 123 insertions, 1 deletions
diff --git a/main/openssh/APKBUILD b/main/openssh/APKBUILD index 9503f60e82..aec60595b1 100644 --- a/main/openssh/APKBUILD +++ b/main/openssh/APKBUILD | |||
@@ -4,7 +4,7 @@ | |||
4 | pkgname=openssh | 4 | pkgname=openssh |
5 | pkgver=7.9_p1 | 5 | pkgver=7.9_p1 |
6 | _myver=${pkgver%_*}${pkgver#*_} | 6 | _myver=${pkgver%_*}${pkgver#*_} |
7 | pkgrel=3 | 7 | pkgrel=4 |
8 | pkgdesc="Port of OpenBSD's free SSH release" | 8 | pkgdesc="Port of OpenBSD's free SSH release" |
9 | url="https://www.openssh.org/portable.html" | 9 | url="https://www.openssh.org/portable.html" |
10 | arch="all" | 10 | arch="all" |
@@ -33,6 +33,7 @@ source="https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/$pkgname-$_myver.ta | |||
33 | CVE-2018-20685.patch | 33 | CVE-2018-20685.patch |
34 | CVE-2019-6109.patch | 34 | CVE-2019-6109.patch |
35 | CVE-2019-6111.patch | 35 | CVE-2019-6111.patch |
36 | have-progressmeter-force-update-at-beginning-and-end-transfer.patch | ||
36 | openssh7.4-peaktput.patch | 37 | openssh7.4-peaktput.patch |
37 | fix-utmp.patch | 38 | fix-utmp.patch |
38 | bsd-compatible-realpath.patch | 39 | bsd-compatible-realpath.patch |
@@ -208,6 +209,7 @@ sha512sums="0412c9c429c9287f0794023951469c8e6ec833cdb55821bfa0300dd90d0879ff6048 | |||
208 | b8907d3d6ebceeca15f6bc97551a7613c68df5c31e4e76d43b7c0bd9ad42dedcabc20a2cc5404b89f40850a4765b24892bde50eab1db55c96ad5cf23bb1f8d04 CVE-2018-20685.patch | 209 | b8907d3d6ebceeca15f6bc97551a7613c68df5c31e4e76d43b7c0bd9ad42dedcabc20a2cc5404b89f40850a4765b24892bde50eab1db55c96ad5cf23bb1f8d04 CVE-2018-20685.patch |
209 | 299e24dbe73d170d16769fa46e52045e034ff8eb2e7ed26bf2e29d941f067ebbe7e66f4a1253576d13ef689922ac2948215ecd744f57a362cb175549080f41ca CVE-2019-6109.patch | 210 | 299e24dbe73d170d16769fa46e52045e034ff8eb2e7ed26bf2e29d941f067ebbe7e66f4a1253576d13ef689922ac2948215ecd744f57a362cb175549080f41ca CVE-2019-6109.patch |
210 | 7b321e7ff7cff7fb956efd30d3ee770eb553e2db8d0d5e613624859f877efe55da8989f03cdf9e206b397bbc9b6b584c4374073af1a524981e8420c72daf648c CVE-2019-6111.patch | 211 | 7b321e7ff7cff7fb956efd30d3ee770eb553e2db8d0d5e613624859f877efe55da8989f03cdf9e206b397bbc9b6b584c4374073af1a524981e8420c72daf648c CVE-2019-6111.patch |
212 | 27a07c116349440a59e1eae96f7dce219ad1d78d085b705005dc0d3852f762da732c4bf6bb802724f046f27cb5fb86f6058909af3b5f531bd9bcd69fcb5436cb have-progressmeter-force-update-at-beginning-and-end-transfer.patch | ||
211 | 7b5ec0c18117437d8ed5132e13b29d604b49a11c571ee89316d1adeb457092379130b9af6b97effa6b2d05d5d5512cf82ebf76803c29cbc5ab387bf87bafd7b9 openssh7.4-peaktput.patch | 213 | 7b5ec0c18117437d8ed5132e13b29d604b49a11c571ee89316d1adeb457092379130b9af6b97effa6b2d05d5d5512cf82ebf76803c29cbc5ab387bf87bafd7b9 openssh7.4-peaktput.patch |
212 | f35fffcd26635249ce5d820e7b3e406e586f2d2d7f6a045f221e2f9fb53aebc1ab1dd1e603b3389462296ed77921a1d08456e7aaa3825cbed08f405b381a58e1 fix-utmp.patch | 214 | f35fffcd26635249ce5d820e7b3e406e586f2d2d7f6a045f221e2f9fb53aebc1ab1dd1e603b3389462296ed77921a1d08456e7aaa3825cbed08f405b381a58e1 fix-utmp.patch |
213 | f2b8daa537ea3f32754a4485492cc6eb3f40133ed46c0a5a29a89e4bcf8583d82d891d94bf2e5eb1c916fa68ec094abf4e6cd641e9737a6c05053808012b3a73 bsd-compatible-realpath.patch | 215 | f2b8daa537ea3f32754a4485492cc6eb3f40133ed46c0a5a29a89e4bcf8583d82d891d94bf2e5eb1c916fa68ec094abf4e6cd641e9737a6c05053808012b3a73 bsd-compatible-realpath.patch |
diff --git a/main/openssh/have-progressmeter-force-update-at-beginning-and-end-transfer.patch b/main/openssh/have-progressmeter-force-update-at-beginning-and-end-transfer.patch new file mode 100644 index 0000000000..767dbf2b58 --- /dev/null +++ b/main/openssh/have-progressmeter-force-update-at-beginning-and-end-transfer.patch | |||
@@ -0,0 +1,120 @@ | |||
1 | From 2a8f710447442e9a03e71c022859112ec2d77d17 Mon Sep 17 00:00:00 2001 | ||
2 | From: "dtucker@openbsd.org" <dtucker@openbsd.org> | ||
3 | Date: Thu, 24 Jan 2019 16:52:17 +0000 | ||
4 | Subject: upstream: Have progressmeter force an update at the beginning and | ||
5 | |||
6 | end of each transfer. Fixes the problem recently introduces where very quick | ||
7 | transfers do not display the progressmeter at all. Spotted by naddy@ | ||
8 | |||
9 | OpenBSD-Commit-ID: 68dc46c259e8fdd4f5db3ec2a130f8e4590a7a9a | ||
10 | |||
11 | Origin: upstream, https://anongit.mindrot.org/openssh.git/commit/?id=bdc6c63c80b55bcbaa66b5fde31c1cb1d09a41eb | ||
12 | Last-Update: 2019-02-08 | ||
13 | |||
14 | Patch-Name: have-progressmeter-force-update-at-beginning-and-end-transfer.patch | ||
15 | --- | ||
16 | progressmeter.c | 13 +++++-------- | ||
17 | progressmeter.h | 4 ++-- | ||
18 | scp.c | 2 +- | ||
19 | sftp-client.c | 2 +- | ||
20 | 4 files changed, 9 insertions(+), 12 deletions(-) | ||
21 | |||
22 | diff --git a/progressmeter.c b/progressmeter.c | ||
23 | index add462dde..e385c1254 100644 | ||
24 | --- a/progressmeter.c | ||
25 | +++ b/progressmeter.c | ||
26 | @@ -1,4 +1,4 @@ | ||
27 | -/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */ | ||
28 | +/* $OpenBSD: progressmeter.c,v 1.47 2019/01/24 16:52:17 dtucker Exp $ */ | ||
29 | /* | ||
30 | * Copyright (c) 2003 Nils Nordman. All rights reserved. | ||
31 | * | ||
32 | @@ -59,9 +59,6 @@ static void format_rate(char *, int, off_t); | ||
33 | static void sig_winch(int); | ||
34 | static void setscreensize(void); | ||
35 | |||
36 | -/* updates the progressmeter to reflect the current state of the transfer */ | ||
37 | -void refresh_progress_meter(void); | ||
38 | - | ||
39 | /* signal handler for updating the progress meter */ | ||
40 | static void sig_alarm(int); | ||
41 | |||
42 | @@ -120,7 +117,7 @@ format_size(char *buf, int size, off_t bytes) | ||
43 | } | ||
44 | |||
45 | void | ||
46 | -refresh_progress_meter(void) | ||
47 | +refresh_progress_meter(int force_update) | ||
48 | { | ||
49 | char buf[MAX_WINSIZE + 1]; | ||
50 | off_t transferred; | ||
51 | @@ -131,7 +128,7 @@ refresh_progress_meter(void) | ||
52 | int hours, minutes, seconds; | ||
53 | int file_len; | ||
54 | |||
55 | - if ((!alarm_fired && !win_resized) || !can_output()) | ||
56 | + if ((!force_update && !alarm_fired && !win_resized) || !can_output()) | ||
57 | return; | ||
58 | alarm_fired = 0; | ||
59 | |||
60 | @@ -254,7 +251,7 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr) | ||
61 | bytes_per_second = 0; | ||
62 | |||
63 | setscreensize(); | ||
64 | - refresh_progress_meter(); | ||
65 | + refresh_progress_meter(1); | ||
66 | |||
67 | signal(SIGALRM, sig_alarm); | ||
68 | signal(SIGWINCH, sig_winch); | ||
69 | @@ -271,7 +268,7 @@ stop_progress_meter(void) | ||
70 | |||
71 | /* Ensure we complete the progress */ | ||
72 | if (cur_pos != end_pos) | ||
73 | - refresh_progress_meter(); | ||
74 | + refresh_progress_meter(1); | ||
75 | |||
76 | atomicio(vwrite, STDOUT_FILENO, "\n", 1); | ||
77 | } | ||
78 | diff --git a/progressmeter.h b/progressmeter.h | ||
79 | index 8f6678060..1703ea75b 100644 | ||
80 | --- a/progressmeter.h | ||
81 | +++ b/progressmeter.h | ||
82 | @@ -1,4 +1,4 @@ | ||
83 | -/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */ | ||
84 | +/* $OpenBSD: progressmeter.h,v 1.5 2019/01/24 16:52:17 dtucker Exp $ */ | ||
85 | /* | ||
86 | * Copyright (c) 2002 Nils Nordman. All rights reserved. | ||
87 | * | ||
88 | @@ -24,5 +24,5 @@ | ||
89 | */ | ||
90 | |||
91 | void start_progress_meter(const char *, off_t, off_t *); | ||
92 | -void refresh_progress_meter(void); | ||
93 | +void refresh_progress_meter(int); | ||
94 | void stop_progress_meter(void); | ||
95 | diff --git a/scp.c b/scp.c | ||
96 | index 80308573c..1971c80cd 100644 | ||
97 | --- a/scp.c | ||
98 | +++ b/scp.c | ||
99 | @@ -593,7 +593,7 @@ scpio(void *_cnt, size_t s) | ||
100 | off_t *cnt = (off_t *)_cnt; | ||
101 | |||
102 | *cnt += s; | ||
103 | - refresh_progress_meter(); | ||
104 | + refresh_progress_meter(0); | ||
105 | if (limit_kbps > 0) | ||
106 | bandwidth_limit(&bwlimit, s); | ||
107 | return 0; | ||
108 | diff --git a/sftp-client.c b/sftp-client.c | ||
109 | index 2bc698f86..cf2887a40 100644 | ||
110 | --- a/sftp-client.c | ||
111 | +++ b/sftp-client.c | ||
112 | @@ -101,7 +101,7 @@ sftpio(void *_bwlimit, size_t amount) | ||
113 | { | ||
114 | struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit; | ||
115 | |||
116 | - refresh_progress_meter(); | ||
117 | + refresh_progress_meter(0); | ||
118 | if (bwlimit != NULL) | ||
119 | bandwidth_limit(bwlimit, amount); | ||
120 | return 0; | ||