Merge ~paelzer/ubuntu/+source/ruby2.5:merge-disco-2.5.3-3ubuntu1 into ubuntu/+source/ruby2.5:debian/sid
- Git
- lp:~paelzer/ubuntu/+source/ruby2.5
- merge-disco-2.5.3-3ubuntu1
- Merge into debian/sid
Status: | Merged |
---|---|
Approved by: | Christian Ehrhardt |
Approved revision: | a97fbb451720ec444c2dfb40662cbad115d6617e |
Merge reported by: | Christian Ehrhardt |
Merged at revision: | a97fbb451720ec444c2dfb40662cbad115d6617e |
Proposed branch: | ~paelzer/ubuntu/+source/ruby2.5:merge-disco-2.5.3-3ubuntu1 |
Merge into: | ubuntu/+source/ruby2.5:debian/sid |
Diff against target: |
394 lines (+328/-1) 7 files modified
debian/changelog (+81/-0) debian/control (+2/-1) debian/patches/0001-openssl-buffering.rb-no-RS-when-output.patch (+42/-0) debian/patches/0006-Workaround-for-old-LibreSSL.patch (+27/-0) debian/patches/1dfc377ae3b174b043d3f0ed36de57b0296b34d0.patch (+157/-0) debian/patches/rubygems-2388.patch (+15/-0) debian/patches/series (+4/-0) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Dimitri John Ledkov (community) | Approve | ||
Matthias Klose | Pending | ||
Canonical Server | Pending | ||
Canonical Server packageset reviewers | Pending | ||
git-ubuntu developers | Pending | ||
Review via email:
|
Commit message
Description of the change

Christian Ehrhardt (paelzer) wrote : | # |

Christian Ehrhardt (paelzer) wrote : | # |
Note: there was a bunch of old Delta that was formerly undocumented, but I split it out in the deconstruct&logical tags.
When rebasing some of them (of course not all or none) were already upstream - so I modified them accordingly to drop them post merge. That way it was much more transparent what was removed (and why).

Christian Ehrhardt (paelzer) wrote : | # |
Test results: https:/
Still many running, will look into test failures (puma seems broken) tomorrow.

Christian Ehrhardt (paelzer) wrote : | # |
Test issues with:
- puma (all)
Has a bad test history, but also is only in -proposed.
Needs trigger with proposed enabled, then retries and if it continues to fail like in the past
it will need a force-badtest if three is no new regression)
- ruby-hamlit (all)
covered ubuntu-
- ruby-prof (amd64)
"rake failed to run ..."
Has a history of failing that way in 2/10 recent tests, rerun the test to be good
- ruby-rjb (x86)
But here broke on "W: Unable to locate package ruby-rjb"
=> exists only in proposed, needs trigger with proposed enabled and then retries for the 50%
flaky test
TL;DR: Tests look mostly good and those which failed seem handle-able.
@xnox - thanks for the review!

Christian Ehrhardt (paelzer) wrote : | # |
Tag pushed so the next one doing a merge can use the split history.
Uploaded to disco and awaiting the expected test fallout in -proposed.
Uploading to ubuntu (via ftp to upload.ubuntu.com):
Uploading ruby2.5_
Uploading ruby2.5_
Uploading ruby2.5_
Uploading ruby2.5_
Uploading ruby2.5_
Successfully uploaded packages.
Preview Diff
1 | diff --git a/debian/changelog b/debian/changelog | |||
2 | index 7b20f12..cab2b90 100644 | |||
3 | --- a/debian/changelog | |||
4 | +++ b/debian/changelog | |||
5 | @@ -1,3 +1,29 @@ | |||
6 | 1 | ruby2.5 (2.5.3-3ubuntu1) disco; urgency=medium | ||
7 | 2 | |||
8 | 3 | * Merge with Debian unstable (LP: #1806694). Remaining changes: | ||
9 | 4 | - d/p/1dfc377ae3b174b043d3f0ed36de57b0296b34d0.patch: Cherrypick | ||
10 | 5 | upstream commit to fix session resumption with TLS 1.3. | ||
11 | 6 | - d/p/rubygems-2388.patch: Allow either Fetcher or OpenSSL exceptions | ||
12 | 7 | when using invalid cert in rubygems testcase. | ||
13 | 8 | - various backports for better openssl support (formerly undocumented in | ||
14 | 9 | changelog) | ||
15 | 10 | + d/p/0001-openssl-buffering.rb-no-RS-when-output.patch | ||
16 | 11 | + d/p/0006-Workaround-for-old-LibreSSL.patch | ||
17 | 12 | * Dropped changes | ||
18 | 13 | - various backports for better openssl support (formerly undocumented in | ||
19 | 14 | changelog, but upstream now) | ||
20 | 15 | + d/p/0002-no-ID-cache-in-Init-functions.patch | ||
21 | 16 | + d/p/0003-search-winsock-libraries-explicitly.patch | ||
22 | 17 | + d/p/0004-openssl-search-winsock.patch | ||
23 | 18 | + d/p/0007-openssl_missing.h-constified.patch | ||
24 | 19 | + d/p/0008-reduce-LibreSSL-warnings.patch | ||
25 | 20 | + d/p/0009-openssl-sync-with-upstream-repository.patch | ||
26 | 21 | - SECURITY UPDATE: Name equality check CVE-2018-16395 (in upstream) | ||
27 | 22 | - SECURITY UPDATE: Tainted flags not propagted CVE-2018-16396 (in upstream) | ||
28 | 23 | - 0012-test-time-tzdata-2018f.patch: Adjust tz tests for new tzdata. | ||
29 | 24 | |||
30 | 25 | -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Tue, 04 Dec 2018 15:40:55 +0100 | ||
31 | 26 | |||
32 | 1 | ruby2.5 (2.5.3-3) unstable; urgency=medium | 27 | ruby2.5 (2.5.3-3) unstable; urgency=medium |
33 | 2 | 28 | ||
34 | 3 | * arm64: also skip TestBugReporter#test_bug_reporter_add, which also fails~ | 29 | * arm64: also skip TestBugReporter#test_bug_reporter_add, which also fails~ |
35 | @@ -44,6 +70,35 @@ ruby2.5 (2.5.3-1) unstable; urgency=medium | |||
36 | 44 | 70 | ||
37 | 45 | -- Antonio Terceiro <terceiro@debian.org> Sat, 24 Nov 2018 12:38:59 -0200 | 71 | -- Antonio Terceiro <terceiro@debian.org> Sat, 24 Nov 2018 12:38:59 -0200 |
38 | 46 | 72 | ||
39 | 73 | ruby2.5 (2.5.1-6ubuntu3) disco; urgency=medium | ||
40 | 74 | |||
41 | 75 | * SECURITY UPDATE: Name equality check | ||
42 | 76 | - debian/patches/CVE-2018-16395.patch: fix in | ||
43 | 77 | ext/openssl/ossl_x509name.c. | ||
44 | 78 | - CVE-2018-16395 | ||
45 | 79 | * SECURITY UPDATE: Tainted flags not propagted | ||
46 | 80 | - debian/patches/CVE-2018-16396.patch: fix in | ||
47 | 81 | pack.c, test/ruby/test_pack.rb. | ||
48 | 82 | - CVE-2018-16396 | ||
49 | 83 | |||
50 | 84 | -- Leonidas S. Barbosa <leo.barbosa@canonical.com> Tue, 20 Nov 2018 10:30:19 -0300 | ||
51 | 85 | |||
52 | 86 | ruby2.5 (2.5.1-6ubuntu2) disco; urgency=medium | ||
53 | 87 | |||
54 | 88 | * 0012-test-time-tzdata-2018f.patch: Adjust tz tests for new tzdata. | ||
55 | 89 | |||
56 | 90 | -- Adam Conrad <adconrad@ubuntu.com> Sun, 04 Nov 2018 15:38:57 -0700 | ||
57 | 91 | |||
58 | 92 | ruby2.5 (2.5.1-6ubuntu1) disco; urgency=medium | ||
59 | 93 | |||
60 | 94 | * Merge with Debian; remaining changes: | ||
61 | 95 | - Allow either Fetcher or OpenSSL exceptions when using invalid cert in | ||
62 | 96 | rubygems testcase. | ||
63 | 97 | - Cherrypick upstream commit to fix session resumption with TLS 1.3. | ||
64 | 98 | - Cherrypick upstream commit to bump the test key size for OpenSSL 1.1.1. | ||
65 | 99 | |||
66 | 100 | -- Matthias Klose <doko@ubuntu.com> Sun, 04 Nov 2018 09:39:53 +0100 | ||
67 | 101 | |||
68 | 47 | ruby2.5 (2.5.1-6) unstable; urgency=medium | 102 | ruby2.5 (2.5.1-6) unstable; urgency=medium |
69 | 48 | 103 | ||
70 | 49 | * Fix build with openssl 1.1.1 (Closes: #907790) | 104 | * Fix build with openssl 1.1.1 (Closes: #907790) |
71 | @@ -63,6 +118,32 @@ ruby2.5 (2.5.1-6) unstable; urgency=medium | |||
72 | 63 | 118 | ||
73 | 64 | -- Antonio Terceiro <terceiro@debian.org> Sat, 06 Oct 2018 14:15:02 -0300 | 119 | -- Antonio Terceiro <terceiro@debian.org> Sat, 06 Oct 2018 14:15:02 -0300 |
74 | 65 | 120 | ||
75 | 121 | ruby2.5 (2.5.1-5ubuntu4) cosmic; urgency=high | ||
76 | 122 | |||
77 | 123 | * No change rebuild against openssl 1.1.1 with TLS1.3 support. | ||
78 | 124 | |||
79 | 125 | -- Dimitri John Ledkov <xnox@ubuntu.com> Tue, 25 Sep 2018 11:36:36 +0100 | ||
80 | 126 | |||
81 | 127 | ruby2.5 (2.5.1-5ubuntu3) cosmic; urgency=medium | ||
82 | 128 | |||
83 | 129 | * Allow either Fetcher or OpenSSL exceptions when using invalid cert in | ||
84 | 130 | rubygems testcase. | ||
85 | 131 | |||
86 | 132 | -- Dimitri John Ledkov <xnox@ubuntu.com> Mon, 24 Sep 2018 12:10:21 +0100 | ||
87 | 133 | |||
88 | 134 | ruby2.5 (2.5.1-5ubuntu2) cosmic; urgency=medium | ||
89 | 135 | |||
90 | 136 | * Cherrypick upstream commits to sync ruby-openssl extension to 2.1.1. | ||
91 | 137 | |||
92 | 138 | -- Dimitri John Ledkov <xnox@ubuntu.com> Mon, 24 Sep 2018 10:49:54 +0100 | ||
93 | 139 | |||
94 | 140 | ruby2.5 (2.5.1-5ubuntu1) cosmic; urgency=medium | ||
95 | 141 | |||
96 | 142 | * Cherrypick upstream commit to fix session resumption with TLS 1.3. | ||
97 | 143 | * Cherrypick upstream commit to bump the test key size for OpenSSL 1.1.1. | ||
98 | 144 | |||
99 | 145 | -- Dimitri John Ledkov <xnox@ubuntu.com> Sun, 23 Sep 2018 19:42:19 +0100 | ||
100 | 146 | |||
101 | 66 | ruby2.5 (2.5.1-5) unstable; urgency=medium | 147 | ruby2.5 (2.5.1-5) unstable; urgency=medium |
102 | 67 | 148 | ||
103 | 68 | * Fix spelling error in patch description | 149 | * Fix spelling error in patch description |
104 | diff --git a/debian/control b/debian/control | |||
105 | index 9398c85..2d1e35a 100644 | |||
106 | --- a/debian/control | |||
107 | +++ b/debian/control | |||
108 | @@ -1,7 +1,8 @@ | |||
109 | 1 | Source: ruby2.5 | 1 | Source: ruby2.5 |
110 | 2 | Section: ruby | 2 | Section: ruby |
111 | 3 | Priority: optional | 3 | Priority: optional |
113 | 4 | Maintainer: Debian Ruby Team <pkg-ruby-extras-maintainers@lists.alioth.debian.org> | 4 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> |
114 | 5 | XSBC-Original-Maintainer: Debian Ruby Team <pkg-ruby-extras-maintainers@lists.alioth.debian.org> | ||
115 | 5 | Uploaders: Antonio Terceiro <terceiro@debian.org>, | 6 | Uploaders: Antonio Terceiro <terceiro@debian.org>, |
116 | 6 | Chris Hofstaedtler <zeha@debian.org> | 7 | Chris Hofstaedtler <zeha@debian.org> |
117 | 7 | Build-Depends: bison, | 8 | Build-Depends: bison, |
118 | diff --git a/debian/patches/0001-openssl-buffering.rb-no-RS-when-output.patch b/debian/patches/0001-openssl-buffering.rb-no-RS-when-output.patch | |||
119 | 8 | new file mode 100644 | 9 | new file mode 100644 |
120 | index 0000000..f7b0d8e | |||
121 | --- /dev/null | |||
122 | +++ b/debian/patches/0001-openssl-buffering.rb-no-RS-when-output.patch | |||
123 | @@ -0,0 +1,42 @@ | |||
124 | 1 | From 07decad25f969908f7b2cc97208548605e35c5db Mon Sep 17 00:00:00 2001 | ||
125 | 2 | From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | ||
126 | 3 | Date: Thu, 25 Jan 2018 11:21:47 +0000 | ||
127 | 4 | Subject: [PATCH 1/9] openssl/buffering.rb: no RS when output | ||
128 | 5 | |||
129 | 6 | * ext/openssl/lib/openssl/buffering.rb (do_write, puts): output | ||
130 | 7 | methods should not be affected by the input record separator. | ||
131 | 8 | |||
132 | 9 | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e | ||
133 | 10 | --- | ||
134 | 11 | ext/openssl/lib/openssl/buffering.rb | 8 +++----- | ||
135 | 12 | 1 file changed, 3 insertions(+), 5 deletions(-) | ||
136 | 13 | |||
137 | 14 | diff --git a/ext/openssl/lib/openssl/buffering.rb b/ext/openssl/lib/openssl/buffering.rb | ||
138 | 15 | index 935f61f0ef..1f2b2a7e44 100644 | ||
139 | 16 | --- a/ext/openssl/lib/openssl/buffering.rb | ||
140 | 17 | +++ b/ext/openssl/lib/openssl/buffering.rb | ||
141 | 18 | @@ -316,8 +316,8 @@ def do_write(s) | ||
142 | 19 | @wbuffer << s | ||
143 | 20 | @wbuffer.force_encoding(Encoding::BINARY) | ||
144 | 21 | @sync ||= false | ||
145 | 22 | - if @sync or @wbuffer.size > BLOCK_SIZE or idx = @wbuffer.rindex($/) | ||
146 | 23 | - remain = idx ? idx + $/.size : @wbuffer.length | ||
147 | 24 | + if @sync or @wbuffer.size > BLOCK_SIZE or idx = @wbuffer.rindex("\n") | ||
148 | 25 | + remain = idx ? idx + 1 : @wbuffer.size | ||
149 | 26 | nwritten = 0 | ||
150 | 27 | while remain > 0 | ||
151 | 28 | str = @wbuffer[nwritten,remain] | ||
152 | 29 | @@ -409,9 +409,7 @@ def puts(*args) | ||
153 | 30 | end | ||
154 | 31 | args.each{|arg| | ||
155 | 32 | s << arg.to_s | ||
156 | 33 | - if $/ && /\n\z/ !~ s | ||
157 | 34 | - s << "\n" | ||
158 | 35 | - end | ||
159 | 36 | + s.sub!(/(?<!\n)\z/, "\n") | ||
160 | 37 | } | ||
161 | 38 | do_write(s) | ||
162 | 39 | nil | ||
163 | 40 | -- | ||
164 | 41 | 2.17.1 | ||
165 | 42 | |||
166 | diff --git a/debian/patches/0006-Workaround-for-old-LibreSSL.patch b/debian/patches/0006-Workaround-for-old-LibreSSL.patch | |||
167 | 0 | new file mode 100644 | 43 | new file mode 100644 |
168 | index 0000000..c160ebb | |||
169 | --- /dev/null | |||
170 | +++ b/debian/patches/0006-Workaround-for-old-LibreSSL.patch | |||
171 | @@ -0,0 +1,27 @@ | |||
172 | 1 | From 162adb82d1fc1abb3ca0ba86d450709b3bd7e321 Mon Sep 17 00:00:00 2001 | ||
173 | 2 | From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | ||
174 | 3 | Date: Wed, 30 May 2018 09:13:21 +0000 | ||
175 | 4 | Subject: [PATCH 6/9] Workaround for old LibreSSL | ||
176 | 5 | |||
177 | 6 | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e | ||
178 | 7 | --- | ||
179 | 8 | ext/openssl/openssl_missing.h | 3 +++ | ||
180 | 9 | 1 file changed, 3 insertions(+) | ||
181 | 10 | |||
182 | 11 | diff --git a/ext/openssl/openssl_missing.h b/ext/openssl/openssl_missing.h | ||
183 | 12 | index debd25adea..da3248a7c8 100644 | ||
184 | 13 | --- a/ext/openssl/openssl_missing.h | ||
185 | 14 | +++ b/ext/openssl/openssl_missing.h | ||
186 | 15 | @@ -27,6 +27,9 @@ int ossl_EC_curve_nist2nid(const char *); | ||
187 | 16 | |||
188 | 17 | #if !defined(HAVE_X509_STORE_CTX_GET0_STORE) | ||
189 | 18 | # define X509_STORE_CTX_get0_store(x) ((x)->ctx) | ||
190 | 19 | +#elif defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL | ||
191 | 20 | +/* old LibreSSL provides this function but lacks the declaration */ | ||
192 | 21 | +X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *xs); | ||
193 | 22 | #endif | ||
194 | 23 | |||
195 | 24 | #if !defined(HAVE_SSL_IS_SERVER) | ||
196 | 25 | -- | ||
197 | 26 | 2.17.1 | ||
198 | 27 | |||
199 | diff --git a/debian/patches/1dfc377ae3b174b043d3f0ed36de57b0296b34d0.patch b/debian/patches/1dfc377ae3b174b043d3f0ed36de57b0296b34d0.patch | |||
200 | 0 | new file mode 100644 | 28 | new file mode 100644 |
201 | index 0000000..707dbd7 | |||
202 | --- /dev/null | |||
203 | +++ b/debian/patches/1dfc377ae3b174b043d3f0ed36de57b0296b34d0.patch | |||
204 | @@ -0,0 +1,157 @@ | |||
205 | 1 | From 1dfc377ae3b174b043d3f0ed36de57b0296b34d0 Mon Sep 17 00:00:00 2001 | ||
206 | 2 | From: rhe <rhe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | ||
207 | 3 | Date: Wed, 8 Aug 2018 14:13:55 +0000 | ||
208 | 4 | Subject: [PATCH] net/http, net/ftp: fix session resumption with TLS 1.3 | ||
209 | 5 | |||
210 | 6 | When TLS 1.3 is in use, the session ticket may not have been sent yet | ||
211 | 7 | even though a handshake has finished. Also, the ticket could change if | ||
212 | 8 | multiple session ticket messages are sent by the server. Use | ||
213 | 9 | SSLContext#session_new_cb instead of calling SSLSocket#session | ||
214 | 10 | immediately after a handshake. This way also works with earlier protocol | ||
215 | 11 | versions. | ||
216 | 12 | |||
217 | 13 | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e | ||
218 | 14 | --- | ||
219 | 15 | lib/net/ftp.rb | 5 ++++- | ||
220 | 16 | lib/net/http.rb | 7 +++++-- | ||
221 | 17 | test/net/http/test_https.rb | 35 ++++++++++------------------------- | ||
222 | 18 | 3 files changed, 19 insertions(+), 28 deletions(-) | ||
223 | 19 | |||
224 | 20 | diff --git a/lib/net/ftp.rb b/lib/net/ftp.rb | ||
225 | 21 | index c3ee47ef4d36..9902f9dc657a 100644 | ||
226 | 22 | --- a/lib/net/ftp.rb | ||
227 | 23 | +++ b/lib/net/ftp.rb | ||
228 | 24 | @@ -230,6 +230,10 @@ def initialize(host = nil, user_or_options = {}, passwd = nil, acct = nil) | ||
229 | 25 | if defined?(VerifyCallbackProc) | ||
230 | 26 | @ssl_context.verify_callback = VerifyCallbackProc | ||
231 | 27 | end | ||
232 | 28 | + @ssl_context.session_cache_mode = | ||
233 | 29 | + OpenSSL::SSL::SSLContext::SESSION_CACHE_CLIENT | | ||
234 | 30 | + OpenSSL::SSL::SSLContext::SESSION_CACHE_NO_INTERNAL_STORE | ||
235 | 31 | + @ssl_context.session_new_cb = proc {|sock, sess| @ssl_session = sess } | ||
236 | 32 | @ssl_session = nil | ||
237 | 33 | if options[:private_data_connection].nil? | ||
238 | 34 | @private_data_connection = true | ||
239 | 35 | @@ -349,7 +353,6 @@ def start_tls_session(sock) | ||
240 | 36 | if @ssl_context.verify_mode != VERIFY_NONE | ||
241 | 37 | ssl_sock.post_connection_check(@host) | ||
242 | 38 | end | ||
243 | 39 | - @ssl_session = ssl_sock.session | ||
244 | 40 | return ssl_sock | ||
245 | 41 | end | ||
246 | 42 | private :start_tls_session | ||
247 | 43 | diff --git a/lib/net/http.rb b/lib/net/http.rb | ||
248 | 44 | index 281b15cedff0..683a884f5dbe 100644 | ||
249 | 45 | --- a/lib/net/http.rb | ||
250 | 46 | +++ b/lib/net/http.rb | ||
251 | 47 | @@ -983,6 +983,10 @@ def connect | ||
252 | 48 | end | ||
253 | 49 | @ssl_context = OpenSSL::SSL::SSLContext.new | ||
254 | 50 | @ssl_context.set_params(ssl_parameters) | ||
255 | 51 | + @ssl_context.session_cache_mode = | ||
256 | 52 | + OpenSSL::SSL::SSLContext::SESSION_CACHE_CLIENT | | ||
257 | 53 | + OpenSSL::SSL::SSLContext::SESSION_CACHE_NO_INTERNAL_STORE | ||
258 | 54 | + @ssl_context.session_new_cb = proc {|sock, sess| @ssl_session = sess } | ||
259 | 55 | D "starting SSL for #{conn_address}:#{conn_port}..." | ||
260 | 56 | s = OpenSSL::SSL::SSLSocket.new(s, @ssl_context) | ||
261 | 57 | s.sync_close = true | ||
262 | 58 | @@ -990,13 +994,12 @@ def connect | ||
263 | 59 | s.hostname = @address if s.respond_to? :hostname= | ||
264 | 60 | if @ssl_session and | ||
265 | 61 | Process.clock_gettime(Process::CLOCK_REALTIME) < @ssl_session.time.to_f + @ssl_session.timeout | ||
266 | 62 | - s.session = @ssl_session if @ssl_session | ||
267 | 63 | + s.session = @ssl_session | ||
268 | 64 | end | ||
269 | 65 | ssl_socket_connect(s, @open_timeout) | ||
270 | 66 | if @ssl_context.verify_mode != OpenSSL::SSL::VERIFY_NONE | ||
271 | 67 | s.post_connection_check(@address) | ||
272 | 68 | end | ||
273 | 69 | - @ssl_session = s.session | ||
274 | 70 | D "SSL established" | ||
275 | 71 | end | ||
276 | 72 | @socket = BufferedIO.new(s, read_timeout: @read_timeout, | ||
277 | 73 | diff --git a/test/net/http/test_https.rb b/test/net/http/test_https.rb | ||
278 | 74 | index 8004d5c5f29f..a5182a1fe9db 100644 | ||
279 | 75 | --- a/test/net/http/test_https.rb | ||
280 | 76 | +++ b/test/net/http/test_https.rb | ||
281 | 77 | @@ -71,20 +71,11 @@ def test_session_reuse | ||
282 | 78 | http.get("/") | ||
283 | 79 | http.finish | ||
284 | 80 | |||
285 | 81 | - http.start | ||
286 | 82 | - http.get("/") | ||
287 | 83 | - http.finish # three times due to possible bug in OpenSSL 0.9.8 | ||
288 | 84 | - | ||
289 | 85 | - sid = http.instance_variable_get(:@ssl_session).id | ||
290 | 86 | - | ||
291 | 87 | http.start | ||
292 | 88 | http.get("/") | ||
293 | 89 | |||
294 | 90 | socket = http.instance_variable_get(:@socket).io | ||
295 | 91 | - | ||
296 | 92 | - assert socket.session_reused? | ||
297 | 93 | - | ||
298 | 94 | - assert_equal sid, http.instance_variable_get(:@ssl_session).id | ||
299 | 95 | + assert_equal true, socket.session_reused? | ||
300 | 96 | |||
301 | 97 | http.finish | ||
302 | 98 | rescue SystemCallError | ||
303 | 99 | @@ -101,16 +92,12 @@ def test_session_reuse_but_expire | ||
304 | 100 | http.get("/") | ||
305 | 101 | http.finish | ||
306 | 102 | |||
307 | 103 | - sid = http.instance_variable_get(:@ssl_session).id | ||
308 | 104 | - | ||
309 | 105 | http.start | ||
310 | 106 | http.get("/") | ||
311 | 107 | |||
312 | 108 | socket = http.instance_variable_get(:@socket).io | ||
313 | 109 | assert_equal false, socket.session_reused? | ||
314 | 110 | |||
315 | 111 | - assert_not_equal sid, http.instance_variable_get(:@ssl_session).id | ||
316 | 112 | - | ||
317 | 113 | http.finish | ||
318 | 114 | rescue SystemCallError | ||
319 | 115 | skip $! | ||
320 | 116 | @@ -160,15 +147,16 @@ def test_certificate_verify_failure | ||
321 | 117 | end | ||
322 | 118 | |||
323 | 119 | def test_identity_verify_failure | ||
324 | 120 | + # the certificate's subject has CN=localhost | ||
325 | 121 | http = Net::HTTP.new("127.0.0.1", config("port")) | ||
326 | 122 | http.use_ssl = true | ||
327 | 123 | - http.verify_callback = Proc.new do |preverify_ok, store_ctx| | ||
328 | 124 | - true | ||
329 | 125 | - end | ||
330 | 126 | + http.cert_store = TEST_STORE | ||
331 | 127 | + @log_tester = lambda {|_| } | ||
332 | 128 | ex = assert_raise(OpenSSL::SSL::SSLError){ | ||
333 | 129 | http.request_get("/") {|res| } | ||
334 | 130 | } | ||
335 | 131 | - assert_match(/hostname \"127.0.0.1\" does not match/, ex.message) | ||
336 | 132 | + re_msg = /certificate verify failed|hostname \"127.0.0.1\" does not match/ | ||
337 | 133 | + assert_match(re_msg, ex.message) | ||
338 | 134 | end | ||
339 | 135 | |||
340 | 136 | def test_timeout_during_SSL_handshake | ||
341 | 137 | @@ -193,16 +181,13 @@ def test_timeout_during_SSL_handshake | ||
342 | 138 | end | ||
343 | 139 | |||
344 | 140 | def test_min_version | ||
345 | 141 | - http = Net::HTTP.new("127.0.0.1", config("port")) | ||
346 | 142 | + http = Net::HTTP.new("localhost", config("port")) | ||
347 | 143 | http.use_ssl = true | ||
348 | 144 | http.min_version = :TLS1 | ||
349 | 145 | - http.verify_callback = Proc.new do |preverify_ok, store_ctx| | ||
350 | 146 | - true | ||
351 | 147 | - end | ||
352 | 148 | - ex = assert_raise(OpenSSL::SSL::SSLError){ | ||
353 | 149 | - http.request_get("/") {|res| } | ||
354 | 150 | + http.cert_store = TEST_STORE | ||
355 | 151 | + http.request_get("/") {|res| | ||
356 | 152 | + assert_equal($test_net_http_data, res.body) | ||
357 | 153 | } | ||
358 | 154 | - assert_match(/hostname \"127.0.0.1\" does not match/, ex.message) | ||
359 | 155 | end | ||
360 | 156 | |||
361 | 157 | def test_max_version | ||
362 | diff --git a/debian/patches/rubygems-2388.patch b/debian/patches/rubygems-2388.patch | |||
363 | 0 | new file mode 100644 | 158 | new file mode 100644 |
364 | index 0000000..26bf929 | |||
365 | --- /dev/null | |||
366 | +++ b/debian/patches/rubygems-2388.patch | |||
367 | @@ -0,0 +1,15 @@ | |||
368 | 1 | Description: Allow either Fetcher or OpenSSL exceptions when using invalid cert in rubygems testcase. | ||
369 | 2 | Author: Dimitri John Ledkov <xnox@ubuntu.com> | ||
370 | 3 | Bug-Upstream: https://github.com/rubygems/rubygems/issues/2388 | ||
371 | 4 | |||
372 | 5 | --- ruby2.5-2.5.1.orig/test/rubygems/test_gem_remote_fetcher.rb | ||
373 | 6 | +++ ruby2.5-2.5.1/test/rubygems/test_gem_remote_fetcher.rb | ||
374 | 7 | @@ -842,7 +842,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg== | ||
375 | 8 | with_configured_fetcher( | ||
376 | 9 | ":ssl_ca_cert: #{temp_ca_cert}\n" + | ||
377 | 10 | ":ssl_client_cert: #{temp_client_cert}\n") do |fetcher| | ||
378 | 11 | - assert_raises Gem::RemoteFetcher::FetchError do | ||
379 | 12 | + assert_raises Gem::RemoteFetcher::FetchError, OpenSSL::SSL::SSLError do | ||
380 | 13 | fetcher.fetch_path("https://localhost:#{ssl_server.config[:Port]}/yaml") | ||
381 | 14 | end | ||
382 | 15 | end | ||
383 | diff --git a/debian/patches/series b/debian/patches/series | |||
384 | index 7ca7914..7ef25fc 100644 | |||
385 | --- a/debian/patches/series | |||
386 | +++ b/debian/patches/series | |||
387 | @@ -9,3 +9,7 @@ | |||
388 | 9 | 0009-test-test_pair-fix-deadlock-in-test_connect_accept_n.patch | 9 | 0009-test-test_pair-fix-deadlock-in-test_connect_accept_n.patch |
389 | 10 | 0010-test-use-larger-keys-for-SSL-tests.patch | 10 | 0010-test-use-larger-keys-for-SSL-tests.patch |
390 | 11 | 0011-Update-for-tzdata-2018f.patch | 11 | 0011-Update-for-tzdata-2018f.patch |
391 | 12 | 1dfc377ae3b174b043d3f0ed36de57b0296b34d0.patch | ||
392 | 13 | 0001-openssl-buffering.rb-no-RS-when-output.patch | ||
393 | 14 | 0006-Workaround-for-old-LibreSSL.patch | ||
394 | 15 | rubygems-2388.patch |
Extra tags to ease review: deconstruct/ 2.5.1-6ubuntu3 -> lp1806694/ deconstruct/ 2.5.1-6ubuntu3 logical/ 2.5.1-6ubuntu3 -> lp1806694/ logical/ 2.5.1-6ubuntu3 new/debian -> lp1806694/ new/debian old/debian -> lp1806694/ old/debian old/ubuntu -> lp1806694/ old/ubuntu reconstruct/ 2.5.1-6ubuntu3 -> lp1806694/ reconstruct/ 2.5.1-6ubuntu3
* [new tag] lp1806694/
* [new tag] lp1806694/
* [new tag] lp1806694/
* [new tag] lp1806694/
* [new tag] lp1806694/
* [new tag] lp1806694/
Test builds in PPA https:/ /launchpad. net/~ci- train-ppa- service/ +archive/ ubuntu/ 3552
Tests to be scheduled from Bileto once build is completed