jruby-openssl 0.11.0.cr1-java → 0.12.2-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +5 -5
  2. data/History.md +45 -0
  3. data/Mavenfile +20 -25
  4. data/README.md +3 -0
  5. data/Rakefile +21 -35
  6. data/lib/jopenssl/load.rb +49 -14
  7. data/lib/jopenssl/version.rb +2 -1
  8. data/lib/jopenssl.jar +0 -0
  9. data/lib/openssl/bn.rb +40 -9
  10. data/lib/openssl/buffering.rb +478 -9
  11. data/lib/openssl/cipher.rb +67 -9
  12. data/lib/openssl/config.rb +496 -12
  13. data/lib/openssl/digest.rb +73 -9
  14. data/lib/openssl/hmac.rb +13 -0
  15. data/lib/openssl/marshal.rb +30 -0
  16. data/lib/openssl/pkcs5.rb +3 -3
  17. data/lib/openssl/pkey.rb +42 -5
  18. data/lib/openssl/ssl.rb +543 -9
  19. data/lib/openssl/x509.rb +369 -9
  20. data/lib/openssl.rb +3 -1
  21. data/pom.xml +35 -126
  22. metadata +9 -44
  23. data/lib/jopenssl19/openssl/bn.rb +0 -29
  24. data/lib/jopenssl19/openssl/buffering.rb +0 -449
  25. data/lib/jopenssl19/openssl/cipher.rb +0 -28
  26. data/lib/jopenssl19/openssl/config.rb +0 -472
  27. data/lib/jopenssl19/openssl/digest.rb +0 -32
  28. data/lib/jopenssl19/openssl/ssl-internal.rb +0 -223
  29. data/lib/jopenssl19/openssl/ssl.rb +0 -2
  30. data/lib/jopenssl19/openssl/x509-internal.rb +0 -115
  31. data/lib/jopenssl19/openssl/x509.rb +0 -2
  32. data/lib/jopenssl19/openssl.rb +0 -22
  33. data/lib/jopenssl21/openssl/bn.rb +0 -28
  34. data/lib/jopenssl21/openssl/buffering.rb +0 -1
  35. data/lib/jopenssl21/openssl/cipher.rb +0 -1
  36. data/lib/jopenssl21/openssl/config.rb +0 -1
  37. data/lib/jopenssl21/openssl/digest.rb +0 -1
  38. data/lib/jopenssl21/openssl/ssl.rb +0 -1
  39. data/lib/jopenssl21/openssl/x509.rb +0 -119
  40. data/lib/jopenssl21/openssl.rb +0 -22
  41. data/lib/jopenssl22/openssl/bn.rb +0 -39
  42. data/lib/jopenssl22/openssl/buffering.rb +0 -456
  43. data/lib/jopenssl22/openssl/cipher.rb +0 -28
  44. data/lib/jopenssl22/openssl/config.rb +0 -313
  45. data/lib/jopenssl22/openssl/digest.rb +0 -54
  46. data/lib/jopenssl22/openssl/ssl.rb +0 -330
  47. data/lib/jopenssl22/openssl/x509.rb +0 -139
  48. data/lib/jopenssl22/openssl.rb +0 -22
  49. data/lib/jopenssl23/openssl/bn.rb +0 -38
  50. data/lib/jopenssl23/openssl/buffering.rb +0 -455
  51. data/lib/jopenssl23/openssl/cipher.rb +0 -25
  52. data/lib/jopenssl23/openssl/config.rb +0 -474
  53. data/lib/jopenssl23/openssl/digest.rb +0 -43
  54. data/lib/jopenssl23/openssl/pkey.rb +0 -25
  55. data/lib/jopenssl23/openssl/ssl.rb +0 -508
  56. data/lib/jopenssl23/openssl/x509.rb +0 -208
  57. data/lib/jopenssl23/openssl.rb +0 -19
  58. data/lib/openssl/ssl-internal.rb +0 -5
  59. data/lib/openssl/x509-internal.rb +0 -5
data/lib/openssl/x509.rb CHANGED
@@ -1,9 +1,369 @@
1
- if RUBY_VERSION > '2.3'
2
- load "jopenssl23/openssl/#{File.basename(__FILE__)}"
3
- elsif RUBY_VERSION > '2.2'
4
- load "jopenssl22/openssl/#{File.basename(__FILE__)}"
5
- elsif RUBY_VERSION > '2.1'
6
- load "jopenssl21/openssl/#{File.basename(__FILE__)}"
7
- else
8
- load "jopenssl19/openssl/#{File.basename(__FILE__)}"
9
- end
1
+ # frozen_string_literal: true
2
+ #--
3
+ # = Ruby-space definitions that completes C-space funcs for X509 and subclasses
4
+ #
5
+ # = Info
6
+ # 'OpenSSL for Ruby 2' project
7
+ # Copyright (C) 2002 Michal Rokos <m.rokos@sh.cvut.cz>
8
+ # All rights reserved.
9
+ #
10
+ # = Licence
11
+ # This program is licensed under the same licence as Ruby.
12
+ # (See the file 'LICENCE'.)
13
+ #++
14
+
15
+ require_relative 'marshal'
16
+
17
+ module OpenSSL
18
+ module X509
19
+ # class ExtensionFactory
20
+ # def create_extension(*arg)
21
+ # if arg.size > 1
22
+ # create_ext(*arg)
23
+ # else
24
+ # send("create_ext_from_"+arg[0].class.name.downcase, arg[0])
25
+ # end
26
+ # end
27
+ #
28
+ # def create_ext_from_array(ary)
29
+ # raise ExtensionError, "unexpected array form" if ary.size > 3
30
+ # create_ext(ary[0], ary[1], ary[2])
31
+ # end
32
+ #
33
+ # def create_ext_from_string(str) # "oid = critical, value"
34
+ # oid, value = str.split(/=/, 2)
35
+ # oid.strip!
36
+ # value.strip!
37
+ # create_ext(oid, value)
38
+ # end
39
+ #
40
+ # def create_ext_from_hash(hash)
41
+ # create_ext(hash["oid"], hash["value"], hash["critical"])
42
+ # end
43
+ # end
44
+
45
+ class Extension
46
+ include OpenSSL::Marshal
47
+
48
+ def ==(other)
49
+ return false unless Extension === other
50
+ to_der == other.to_der
51
+ end
52
+
53
+ # def to_s # "oid = critical, value"
54
+ # str = self.oid
55
+ # str << " = "
56
+ # str << "critical, " if self.critical?
57
+ # str << self.value.gsub(/\n/, ", ")
58
+ # end
59
+ #
60
+ # def to_h # {"oid"=>sn|ln, "value"=>value, "critical"=>true|false}
61
+ # {"oid"=>self.oid,"value"=>self.value,"critical"=>self.critical?}
62
+ # end
63
+ #
64
+ # def to_a
65
+ # [ self.oid, self.value, self.critical? ]
66
+ # end
67
+
68
+ module Helpers
69
+ def find_extension(oid)
70
+ extensions.find { |e| e.oid == oid }
71
+ end
72
+ end
73
+
74
+ module SubjectKeyIdentifier
75
+ include Helpers
76
+
77
+ # Get the subject's key identifier from the subjectKeyIdentifier
78
+ # exteension, as described in RFC5280 Section 4.2.1.2.
79
+ #
80
+ # Returns the binary String key identifier or nil or raises
81
+ # ASN1::ASN1Error.
82
+ def subject_key_identifier
83
+ ext = find_extension("subjectKeyIdentifier")
84
+ return nil if ext.nil?
85
+
86
+ ski_asn1 = ASN1.decode(ext.value_der)
87
+ if ext.critical? || ski_asn1.tag_class != :UNIVERSAL || ski_asn1.tag != ASN1::OCTET_STRING
88
+ raise ASN1::ASN1Error, "invalid extension"
89
+ end
90
+
91
+ ski_asn1.value
92
+ end
93
+ end
94
+
95
+ module AuthorityKeyIdentifier
96
+ include Helpers
97
+
98
+ # Get the issuing certificate's key identifier from the
99
+ # authorityKeyIdentifier extension, as described in RFC5280
100
+ # Section 4.2.1.1
101
+ #
102
+ # Returns the binary String keyIdentifier or nil or raises
103
+ # ASN1::ASN1Error.
104
+ def authority_key_identifier
105
+ ext = find_extension("authorityKeyIdentifier")
106
+ return nil if ext.nil?
107
+
108
+ aki_asn1 = ASN1.decode(ext.value_der)
109
+ if ext.critical? || aki_asn1.tag_class != :UNIVERSAL || aki_asn1.tag != ASN1::SEQUENCE
110
+ raise ASN1::ASN1Error, "invalid extension"
111
+ end
112
+
113
+ key_id = aki_asn1.value.find do |v|
114
+ v.tag_class == :CONTEXT_SPECIFIC && v.tag == 0
115
+ end
116
+
117
+ key_id.nil? ? nil : key_id.value
118
+ end
119
+ end
120
+
121
+ module CRLDistributionPoints
122
+ include Helpers
123
+
124
+ # Get the distributionPoint fullName URI from the certificate's CRL
125
+ # distribution points extension, as described in RFC5280 Section
126
+ # 4.2.1.13
127
+ #
128
+ # Returns an array of strings or nil or raises ASN1::ASN1Error.
129
+ def crl_uris
130
+ ext = find_extension("crlDistributionPoints")
131
+ return nil if ext.nil?
132
+
133
+ cdp_asn1 = ASN1.decode(ext.value_der)
134
+ if cdp_asn1.tag_class != :UNIVERSAL || cdp_asn1.tag != ASN1::SEQUENCE
135
+ raise ASN1::ASN1Error, "invalid extension"
136
+ end
137
+
138
+ crl_uris = cdp_asn1.map do |crl_distribution_point|
139
+ distribution_point = crl_distribution_point.value.find do |v|
140
+ v.tag_class == :CONTEXT_SPECIFIC && v.tag == 0
141
+ end
142
+ full_name = distribution_point&.value&.find do |v|
143
+ v.tag_class == :CONTEXT_SPECIFIC && v.tag == 0
144
+ end
145
+ full_name&.value&.find do |v|
146
+ v.tag_class == :CONTEXT_SPECIFIC && v.tag == 6 # uniformResourceIdentifier
147
+ end
148
+ end
149
+
150
+ crl_uris&.map(&:value)
151
+ end
152
+ end
153
+
154
+ module AuthorityInfoAccess
155
+ include Helpers
156
+
157
+ # Get the information and services for the issuer from the certificate's
158
+ # authority information access extension exteension, as described in RFC5280
159
+ # Section 4.2.2.1.
160
+ #
161
+ # Returns an array of strings or nil or raises ASN1::ASN1Error.
162
+ def ca_issuer_uris
163
+ aia_asn1 = parse_aia_asn1
164
+ return nil if aia_asn1.nil?
165
+
166
+ ca_issuer = aia_asn1.value.select do |authority_info_access|
167
+ authority_info_access.value.first.value == "caIssuers"
168
+ end
169
+
170
+ ca_issuer&.map(&:value)&.map(&:last)&.map(&:value)
171
+ end
172
+
173
+ # Get the URIs for OCSP from the certificate's authority information access
174
+ # extension exteension, as described in RFC5280 Section 4.2.2.1.
175
+ #
176
+ # Returns an array of strings or nil or raises ASN1::ASN1Error.
177
+ def ocsp_uris
178
+ aia_asn1 = parse_aia_asn1
179
+ return nil if aia_asn1.nil?
180
+
181
+ ocsp = aia_asn1.value.select do |authority_info_access|
182
+ authority_info_access.value.first.value == "OCSP"
183
+ end
184
+
185
+ ocsp&.map(&:value)&.map(&:last)&.map(&:value)
186
+ end
187
+
188
+ private
189
+
190
+ def parse_aia_asn1
191
+ ext = find_extension("authorityInfoAccess")
192
+ return nil if ext.nil?
193
+
194
+ aia_asn1 = ASN1.decode(ext.value_der)
195
+ if ext.critical? || aia_asn1.tag_class != :UNIVERSAL || aia_asn1.tag != ASN1::SEQUENCE
196
+ raise ASN1::ASN1Error, "invalid extension"
197
+ end
198
+
199
+ aia_asn1
200
+ end
201
+ end
202
+ end
203
+
204
+ class Name
205
+ include OpenSSL::Marshal
206
+
207
+ module RFC2253DN
208
+ Special = ',=+<>#;'
209
+ HexChar = /[0-9a-fA-F]/
210
+ HexPair = /#{HexChar}#{HexChar}/
211
+ HexString = /#{HexPair}+/
212
+ Pair = /\\(?:[#{Special}]|\\|"|#{HexPair})/
213
+ StringChar = /[^\\"#{Special}]/
214
+ QuoteChar = /[^\\"]/
215
+ AttributeType = /[a-zA-Z][0-9a-zA-Z]*|[0-9]+(?:\.[0-9]+)*/
216
+ AttributeValue = /
217
+ (?!["#])((?:#{StringChar}|#{Pair})*)|
218
+ \#(#{HexString})|
219
+ "((?:#{QuoteChar}|#{Pair})*)"
220
+ /x
221
+ TypeAndValue = /\A(#{AttributeType})=#{AttributeValue}/
222
+
223
+ module_function
224
+
225
+ def expand_pair(str)
226
+ return nil unless str
227
+ return str.gsub(Pair){
228
+ pair = $&
229
+ case pair.size
230
+ when 2 then pair[1,1]
231
+ when 3 then Integer("0x#{pair[1,2]}").chr
232
+ else raise OpenSSL::X509::NameError, "invalid pair: #{str}"
233
+ end
234
+ }
235
+ end
236
+
237
+ def expand_hexstring(str)
238
+ return nil unless str
239
+ der = str.gsub(HexPair){$&.to_i(16).chr }
240
+ a1 = OpenSSL::ASN1.decode(der)
241
+ return a1.value, a1.tag
242
+ end
243
+
244
+ def expand_value(str1, str2, str3)
245
+ value = expand_pair(str1)
246
+ value, tag = expand_hexstring(str2) unless value
247
+ value = expand_pair(str3) unless value
248
+ return value, tag
249
+ end
250
+
251
+ def scan(dn)
252
+ str = dn
253
+ ary = []
254
+ while true
255
+ if md = TypeAndValue.match(str)
256
+ remain = md.post_match
257
+ type = md[1]
258
+ value, tag = expand_value(md[2], md[3], md[4]) rescue nil
259
+ if value
260
+ type_and_value = [type, value]
261
+ type_and_value.push(tag) if tag
262
+ ary.unshift(type_and_value)
263
+ if remain.length > 2 && remain[0] == ?,
264
+ str = remain[1..-1]
265
+ next
266
+ elsif remain.length > 2 && remain[0] == ?+
267
+ raise OpenSSL::X509::NameError,
268
+ "multi-valued RDN is not supported: #{dn}"
269
+ elsif remain.empty?
270
+ break
271
+ end
272
+ end
273
+ end
274
+ msg_dn = dn[0, dn.length - str.length] + " =>" + str
275
+ raise OpenSSL::X509::NameError, "malformed RDN: #{msg_dn}"
276
+ end
277
+ return ary
278
+ end
279
+ end
280
+
281
+ class << self
282
+ def parse_rfc2253(str, template=OBJECT_TYPE_TEMPLATE)
283
+ ary = OpenSSL::X509::Name::RFC2253DN.scan(str)
284
+ self.new(ary, template)
285
+ end
286
+
287
+ def parse_openssl(str, template=OBJECT_TYPE_TEMPLATE)
288
+ if str.start_with?("/")
289
+ # /A=B/C=D format
290
+ ary = str[1..-1].split("/").map { |i| i.split("=", 2) }
291
+ else
292
+ # Comma-separated
293
+ ary = str.split(",").map { |i| i.strip.split("=", 2) }
294
+ end
295
+ self.new(ary, template)
296
+ end
297
+
298
+ alias parse parse_openssl
299
+ end
300
+
301
+ def pretty_print(q)
302
+ q.object_group(self) {
303
+ q.text ' '
304
+ q.text to_s(OpenSSL::X509::Name::RFC2253)
305
+ }
306
+ end
307
+ end
308
+
309
+ class Attribute
310
+ include OpenSSL::Marshal
311
+
312
+ def ==(other)
313
+ return false unless Attribute === other
314
+ to_der == other.to_der
315
+ end
316
+ end
317
+
318
+ class StoreContext
319
+ def cleanup
320
+ warn "(#{caller.first}) OpenSSL::X509::StoreContext#cleanup is deprecated with no replacement" if $VERBOSE
321
+ end
322
+ end
323
+
324
+ class Certificate
325
+ include OpenSSL::Marshal
326
+ include Extension::SubjectKeyIdentifier
327
+ include Extension::AuthorityKeyIdentifier
328
+ include Extension::CRLDistributionPoints
329
+ include Extension::AuthorityInfoAccess
330
+
331
+ def pretty_print(q)
332
+ q.object_group(self) {
333
+ q.breakable
334
+ q.text 'subject='; q.pp self.subject; q.text ','; q.breakable
335
+ q.text 'issuer='; q.pp self.issuer; q.text ','; q.breakable
336
+ q.text 'serial='; q.pp self.serial; q.text ','; q.breakable
337
+ q.text 'not_before='; q.pp self.not_before; q.text ','; q.breakable
338
+ q.text 'not_after='; q.pp self.not_after
339
+ }
340
+ end
341
+ end
342
+
343
+ class CRL
344
+ include OpenSSL::Marshal
345
+ include Extension::AuthorityKeyIdentifier
346
+
347
+ def ==(other)
348
+ return false unless CRL === other
349
+ to_der == other.to_der
350
+ end
351
+ end
352
+
353
+ class Revoked
354
+ def ==(other)
355
+ return false unless Revoked === other
356
+ to_der == other.to_der
357
+ end
358
+ end
359
+
360
+ class Request
361
+ include OpenSSL::Marshal
362
+
363
+ def ==(other)
364
+ return false unless Request === other
365
+ to_der == other.to_der
366
+ end
367
+ end
368
+ end
369
+ end
data/lib/openssl.rb CHANGED
@@ -1 +1,3 @@
1
- require 'jopenssl/load'
1
+ # frozen_string_literal: true
2
+
3
+ require 'jopenssl/load'
data/pom.xml CHANGED
@@ -2,7 +2,7 @@
2
2
  <!--
3
3
 
4
4
 
5
- DO NOT MODIFIY - GENERATED CODE
5
+ DO NOT MODIFY - GENERATED CODE
6
6
 
7
7
 
8
8
  -->
@@ -11,7 +11,7 @@ DO NOT MODIFIY - GENERATED CODE
11
11
  <modelVersion>4.0.0</modelVersion>
12
12
  <groupId>rubygems</groupId>
13
13
  <artifactId>jruby-openssl</artifactId>
14
- <version>0.11.0.cr1-SNAPSHOT</version>
14
+ <version>0.12.2</version>
15
15
  <packaging>gem</packaging>
16
16
  <name>JRuby OpenSSL</name>
17
17
  <description>JRuby-OpenSSL is an add-on gem for JRuby that emulates the Ruby OpenSSL native library.</description>
@@ -63,10 +63,10 @@ DO NOT MODIFIY - GENERATED CODE
63
63
  <bc.versions>1.68</bc.versions>
64
64
  <invoker.skip>${maven.test.skip}</invoker.skip>
65
65
  <invoker.test>${bc.versions}</invoker.test>
66
- <jruby.plugins.version>1.1.8</jruby.plugins.version>
66
+ <jruby.plugins.version>2.0.1</jruby.plugins.version>
67
67
  <jruby.switches>-W0</jruby.switches>
68
- <jruby.version>9.1.17.0</jruby.version>
69
- <jruby.versions>9.1.17.0</jruby.versions>
68
+ <jruby.version>9.2.19.0</jruby.version>
69
+ <jruby.versions>9.2.19.0</jruby.versions>
70
70
  <mavengem-wagon.version>1.0.3</mavengem-wagon.version>
71
71
  <mavengem.wagon.version>1.0.3</mavengem.wagon.version>
72
72
  <polyglot.dump.pom>pom.xml</polyglot.dump.pom>
@@ -92,9 +92,15 @@ DO NOT MODIFIY - GENERATED CODE
92
92
  <dependency>
93
93
  <groupId>org.jruby</groupId>
94
94
  <artifactId>jruby-core</artifactId>
95
- <version>1.7.20</version>
95
+ <version>9.1.11.0</version>
96
96
  <scope>provided</scope>
97
97
  </dependency>
98
+ <dependency>
99
+ <groupId>javax.annotation</groupId>
100
+ <artifactId>javax.annotation-api</artifactId>
101
+ <version>1.3.1</version>
102
+ <scope>compile</scope>
103
+ </dependency>
98
104
  <dependency>
99
105
  <groupId>junit</groupId>
100
106
  <artifactId>junit</artifactId>
@@ -175,7 +181,7 @@ DO NOT MODIFIY - GENERATED CODE
175
181
  <version>${jruby.plugins.version}</version>
176
182
  <executions>
177
183
  <execution>
178
- <id>default-initialize</id>
184
+ <id>default-package</id>
179
185
  <configuration>
180
186
  <addProjectClasspath>false</addProjectClasspath>
181
187
  <libDirectory>something-which-does-not-exists</libDirectory>
@@ -240,7 +246,7 @@ DO NOT MODIFIY - GENERATED CODE
240
246
  </plugin>
241
247
  <plugin>
242
248
  <artifactId>maven-compiler-plugin</artifactId>
243
- <version>3.1</version>
249
+ <version>3.9.0</version>
244
250
  <executions>
245
251
  <execution>
246
252
  <id>compile-populators</id>
@@ -263,6 +269,7 @@ DO NOT MODIFIY - GENERATED CODE
263
269
  <configuration>
264
270
  <source>1.8</source>
265
271
  <target>1.8</target>
272
+ <release>8</release>
266
273
  <encoding>UTF-8</encoding>
267
274
  <debug>true</debug>
268
275
  <showWarnings>true</showWarnings>
@@ -356,67 +363,6 @@ DO NOT MODIFIY - GENERATED CODE
356
363
  </plugins>
357
364
  </build>
358
365
  <profiles>
359
- <profile>
360
- <id>module-info</id>
361
- <activation>
362
- <jdk>[9,)</jdk>
363
- </activation>
364
- <build>
365
- <plugins>
366
- <plugin>
367
- <artifactId>maven-compiler-plugin</artifactId>
368
- <version>3.8.1</version>
369
- <configuration>
370
- <source>9</source>
371
- <target>1.8</target>
372
- <release>9</release>
373
- <includes>
374
- <include>module-info.java</include>
375
- </includes>
376
- </configuration>
377
- </plugin>
378
- </plugins>
379
- </build>
380
- </profile>
381
- <profile>
382
- <id>test-9.0.5.0</id>
383
- <build>
384
- <plugins>
385
- <plugin>
386
- <artifactId>maven-invoker-plugin</artifactId>
387
- <version>1.8</version>
388
- <executions>
389
- <execution>
390
- <id>tests-with-different-bc-versions</id>
391
- <goals>
392
- <goal>install</goal>
393
- <goal>run</goal>
394
- </goals>
395
- <configuration>
396
- <projectsDirectory>integration</projectsDirectory>
397
- <pomIncludes>
398
- <pomInclude>*/pom.xml</pomInclude>
399
- </pomIncludes>
400
- <streamLogs>true</streamLogs>
401
- <properties>
402
- <jruby.versions>${jruby.versions}</jruby.versions>
403
- <jruby.modes>${jruby.modes}</jruby.modes>
404
- <jruby.openssl.version>${project.version}</jruby.openssl.version>
405
- <bc.versions>${bc.versions}</bc.versions>
406
- <runit.dir>${runit.dir}</runit.dir>
407
- </properties>
408
- </configuration>
409
- </execution>
410
- </executions>
411
- </plugin>
412
- </plugins>
413
- </build>
414
- <properties>
415
- <bc.versions>1.58,1.59,1.60,1.61,1.62,1.63,1.64,1.65</bc.versions>
416
- <jruby.version>9.0.5.0</jruby.version>
417
- <jruby.versions>9.0.5.0</jruby.versions>
418
- </properties>
419
- </profile>
420
366
  <profile>
421
367
  <id>test-9.1.2.0</id>
422
368
  <build>
@@ -426,6 +372,7 @@ DO NOT MODIFIY - GENERATED CODE
426
372
  <version>1.8</version>
427
373
  <executions>
428
374
  <execution>
375
+ <id>tests-with-different-bc-versions</id>
429
376
  <goals>
430
377
  <goal>install</goal>
431
378
  <goal>run</goal>
@@ -450,7 +397,7 @@ DO NOT MODIFIY - GENERATED CODE
450
397
  </plugins>
451
398
  </build>
452
399
  <properties>
453
- <bc.versions>1.58,1.59,1.60,1.61,1.62,1.63,1.64,1.65</bc.versions>
400
+ <bc.versions>1.60,1.61,1.62,1.63,1.64,1.65,1.66,1.67,1.68</bc.versions>
454
401
  <jruby.version>9.1.2.0</jruby.version>
455
402
  <jruby.versions>9.1.2.0</jruby.versions>
456
403
  </properties>
@@ -488,7 +435,7 @@ DO NOT MODIFIY - GENERATED CODE
488
435
  </plugins>
489
436
  </build>
490
437
  <properties>
491
- <bc.versions>1.58,1.59,1.60,1.61,1.62,1.63,1.64,1.65</bc.versions>
438
+ <bc.versions>1.60,1.61,1.62,1.63,1.64,1.65,1.66,1.67,1.68</bc.versions>
492
439
  <jruby.version>9.1.8.0</jruby.version>
493
440
  <jruby.versions>9.1.8.0</jruby.versions>
494
441
  </properties>
@@ -526,7 +473,7 @@ DO NOT MODIFIY - GENERATED CODE
526
473
  </plugins>
527
474
  </build>
528
475
  <properties>
529
- <bc.versions>1.58,1.59,1.60,1.61,1.62,1.63,1.64,1.65</bc.versions>
476
+ <bc.versions>1.60,1.61,1.62,1.63,1.64,1.65,1.66,1.67,1.68</bc.versions>
530
477
  <jruby.version>9.1.12.0</jruby.version>
531
478
  <jruby.versions>9.1.12.0</jruby.versions>
532
479
  </properties>
@@ -564,7 +511,7 @@ DO NOT MODIFIY - GENERATED CODE
564
511
  </plugins>
565
512
  </build>
566
513
  <properties>
567
- <bc.versions>1.58,1.59,1.60,1.61,1.62,1.63,1.64,1.65</bc.versions>
514
+ <bc.versions>1.60,1.61,1.62,1.63,1.64,1.65,1.66,1.67,1.68</bc.versions>
568
515
  <jruby.version>9.1.16.0</jruby.version>
569
516
  <jruby.versions>9.1.16.0</jruby.versions>
570
517
  </properties>
@@ -602,7 +549,7 @@ DO NOT MODIFIY - GENERATED CODE
602
549
  </plugins>
603
550
  </build>
604
551
  <properties>
605
- <bc.versions>1.58,1.59,1.60,1.61,1.62,1.63,1.64,1.65</bc.versions>
552
+ <bc.versions>1.60,1.61,1.62,1.63,1.64,1.65,1.66,1.67,1.68</bc.versions>
606
553
  <jruby.version>9.1.17.0</jruby.version>
607
554
  <jruby.versions>9.1.17.0</jruby.versions>
608
555
  </properties>
@@ -640,7 +587,7 @@ DO NOT MODIFIY - GENERATED CODE
640
587
  </plugins>
641
588
  </build>
642
589
  <properties>
643
- <bc.versions>1.58,1.59,1.60,1.61,1.62,1.63,1.64,1.65</bc.versions>
590
+ <bc.versions>1.60,1.61,1.62,1.63,1.64,1.65,1.66,1.67,1.68</bc.versions>
644
591
  <jruby.version>9.2.0.0</jruby.version>
645
592
  <jruby.versions>9.2.0.0</jruby.versions>
646
593
  </properties>
@@ -678,51 +625,13 @@ DO NOT MODIFIY - GENERATED CODE
678
625
  </plugins>
679
626
  </build>
680
627
  <properties>
681
- <bc.versions>1.58,1.59,1.60,1.61,1.62,1.63,1.64,1.65</bc.versions>
628
+ <bc.versions>1.60,1.61,1.62,1.63,1.64,1.65,1.66,1.67,1.68</bc.versions>
682
629
  <jruby.version>9.2.5.0</jruby.version>
683
630
  <jruby.versions>9.2.5.0</jruby.versions>
684
631
  </properties>
685
632
  </profile>
686
633
  <profile>
687
- <id>test-9.2.6.0</id>
688
- <build>
689
- <plugins>
690
- <plugin>
691
- <artifactId>maven-invoker-plugin</artifactId>
692
- <version>1.8</version>
693
- <executions>
694
- <execution>
695
- <goals>
696
- <goal>install</goal>
697
- <goal>run</goal>
698
- </goals>
699
- <configuration>
700
- <projectsDirectory>integration</projectsDirectory>
701
- <pomIncludes>
702
- <pomInclude>*/pom.xml</pomInclude>
703
- </pomIncludes>
704
- <streamLogs>true</streamLogs>
705
- <properties>
706
- <jruby.versions>${jruby.versions}</jruby.versions>
707
- <jruby.modes>${jruby.modes}</jruby.modes>
708
- <jruby.openssl.version>${project.version}</jruby.openssl.version>
709
- <bc.versions>${bc.versions}</bc.versions>
710
- <runit.dir>${runit.dir}</runit.dir>
711
- </properties>
712
- </configuration>
713
- </execution>
714
- </executions>
715
- </plugin>
716
- </plugins>
717
- </build>
718
- <properties>
719
- <bc.versions>1.58,1.59,1.60,1.61,1.62,1.63,1.64,1.65</bc.versions>
720
- <jruby.version>9.2.6.0</jruby.version>
721
- <jruby.versions>9.2.6.0</jruby.versions>
722
- </properties>
723
- </profile>
724
- <profile>
725
- <id>test-9.2.7.0</id>
634
+ <id>test-9.2.10.0</id>
726
635
  <build>
727
636
  <plugins>
728
637
  <plugin>
@@ -754,13 +663,13 @@ DO NOT MODIFIY - GENERATED CODE
754
663
  </plugins>
755
664
  </build>
756
665
  <properties>
757
- <bc.versions>1.58,1.59,1.60,1.61,1.62,1.63,1.64,1.65</bc.versions>
758
- <jruby.version>9.2.7.0</jruby.version>
759
- <jruby.versions>9.2.7.0</jruby.versions>
666
+ <bc.versions>1.60,1.61,1.62,1.63,1.64,1.65,1.66,1.67,1.68</bc.versions>
667
+ <jruby.version>9.2.10.0</jruby.version>
668
+ <jruby.versions>9.2.10.0</jruby.versions>
760
669
  </properties>
761
670
  </profile>
762
671
  <profile>
763
- <id>test-9.2.8.0</id>
672
+ <id>test-9.2.17.0</id>
764
673
  <build>
765
674
  <plugins>
766
675
  <plugin>
@@ -792,13 +701,13 @@ DO NOT MODIFIY - GENERATED CODE
792
701
  </plugins>
793
702
  </build>
794
703
  <properties>
795
- <bc.versions>1.58,1.59,1.60,1.61,1.62,1.63,1.64,1.65</bc.versions>
796
- <jruby.version>9.2.8.0</jruby.version>
797
- <jruby.versions>9.2.8.0</jruby.versions>
704
+ <bc.versions>1.60,1.61,1.62,1.63,1.64,1.65,1.66,1.67,1.68</bc.versions>
705
+ <jruby.version>9.2.17.0</jruby.version>
706
+ <jruby.versions>9.2.17.0</jruby.versions>
798
707
  </properties>
799
708
  </profile>
800
709
  <profile>
801
- <id>test-9.2.9.0</id>
710
+ <id>test-9.2.19.0</id>
802
711
  <build>
803
712
  <plugins>
804
713
  <plugin>
@@ -830,9 +739,9 @@ DO NOT MODIFIY - GENERATED CODE
830
739
  </plugins>
831
740
  </build>
832
741
  <properties>
833
- <bc.versions>1.58,1.59,1.60,1.61,1.62,1.63,1.64,1.65</bc.versions>
834
- <jruby.version>9.2.9.0</jruby.version>
835
- <jruby.versions>9.2.9.0</jruby.versions>
742
+ <bc.versions>1.60,1.61,1.62,1.63,1.64,1.65,1.66,1.67,1.68</bc.versions>
743
+ <jruby.version>9.2.19.0</jruby.version>
744
+ <jruby.versions>9.2.19.0</jruby.versions>
836
745
  </properties>
837
746
  </profile>
838
747
  <profile>