bunny 1.6.3 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 14d586f46e53649e9c27b63b5607675dc839cc9e
4
- data.tar.gz: fa41d53c74c60948e416ba3587e9b79e1facf2ba
3
+ metadata.gz: ea321437a2d9950b2f2805e707dda557eef218e7
4
+ data.tar.gz: fdffb1a797acfa57566398ca2fdc9c142fbfc675
5
5
  SHA512:
6
- metadata.gz: fa29c50cc14e1876594b664574a3948a4fec74643add577116a950f64da2ec079d4ca84347b59b16844f4f4a966b8b2ba9eb78d84b952977391ce6cefa0132f9
7
- data.tar.gz: 9b7d163bd2ec192bb92c4e1e0700ecc0d72a14c57f0a05e4e425066f3132871dba0ebe8c746f50ff058f412888e673dd4bd0efd5e88ba86d02fe2da80db82e15
6
+ metadata.gz: 56cf2d1d7c7eabe6b694760e0bec181969aa33168ccf7f963aa8d6083a3476bcd35595319a4416a3e24f739358395c85fac567dc8a34bb13cdc35bf5c5ec3406
7
+ data.tar.gz: 3746761d4ba98aa2eedcd6ba4f4a7d22473349b4b8a84232069dcbbde45e1fddb71906b645a73f87f5b16e0b485822694a076f15ef46ce6d0f7d7750575a306f
@@ -1,6 +1,6 @@
1
1
  language: ruby
2
2
  bundler_args: --without development
3
- before_script: "./bin/ci/before_build.sh"
3
+ before_script: "./bin/ci/before_build"
4
4
  script: "bundle exec rspec -cfs spec"
5
5
  rvm:
6
6
  - "2.1.0"
@@ -1,12 +1,35 @@
1
- ## Changes between Bunny 1.6.2 and 1.6.3
1
+ ## Changes between Bunny 1.6.0 and 1.7.0
2
+
3
+ ### TLS Peer Verification Enabled by Default
4
+
5
+ When using TLS, peer verification is now enabled by default.
6
+ It is still possible to [disable verification](http://rubybunny.info/articles/tls.html), e.g. for convenient
7
+ development locally.
8
+
9
+ Peer verification is a means of protection against man-in-the-middle attacks
10
+ and is highly recommended in production settings. However, it can be an inconvenience
11
+ during local development. We believe it's time to have the default to be
12
+ more secure.
13
+
14
+ Contributed by Michael Klishin (Pivotal) and Andre Foeken (Nedap).
15
+
16
+
17
+ ### Higher Default Connection Timeout
18
+
19
+ Default connection timeout has been increased to 25 seconds. The older
20
+ default of 5 seconds wasn't sufficient in some edge cases with DNS
21
+ resolution (e.g. when primary DNS server is down).
22
+
23
+ The value can be overriden at connection time.
24
+
25
+ Contributed by Yury Batenko.
26
+
2
27
 
3
28
  ### Socket Read Timeout No Longer Set to 0 With Disabled Heartbeats
4
29
 
5
30
  GH issue: [#267](https://github.com/ruby-amqp/bunny/pull/267).
6
31
 
7
32
 
8
- ## Changes between Bunny 1.6.1 and 1.6.2
9
-
10
33
  ### JRuby Writes Fixes
11
34
 
12
35
  On JRuby, Bunny reverts back to using plain old `write(2)` for writes. The CRuby implementation
@@ -16,15 +39,13 @@ Bunny users who run on JRuby are highly recommended to switch to [March Hare](ht
16
39
  which has nearly identical API and is significantly more efficient.
17
40
 
18
41
 
19
-
20
- ## Changes between Bunny 1.6.0 and 1.6.1
21
-
22
42
  ### Bunny::Session#with_channel Synchornisation Improvements
23
43
 
24
44
  `Bunny::Session#with_channel` is now fully synchronised and won't run into `COMMAND_INVALID` errors
25
45
  when used from multiple threads that share a connection.
26
46
 
27
47
 
48
+
28
49
  ## Changes between Bunny 1.5.0 and 1.6.0
29
50
 
30
51
  ### TLSv1 by Default
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Bunny, a Ruby RabbitMQ Client
2
2
 
3
- Bunny is a synchronous RabbitMQ client that focuses on ease of use. It
4
- is feature complete, supports all RabbitMQ 3.0 features and does not
3
+ Bunny is a RabbitMQ client that focuses on ease of use. It
4
+ is feature complete, supports all recent RabbitMQ features and does not
5
5
  have any heavyweight dependencies.
6
6
 
7
7
 
@@ -58,7 +58,7 @@ use [March Hare](http://rubymarchhare.info).
58
58
 
59
59
  ## Supported RabbitMQ Versions
60
60
 
61
- Bunny `1.5.0` (including previews) and later versions only support RabbitMQ `3.2+`.
61
+ Bunny `1.5.0` (including previews) and later versions only support RabbitMQ `3.3+`.
62
62
  Bunny `1.4.x` and supports RabbitMQ 2.x and 3.x.
63
63
 
64
64
 
@@ -50,7 +50,7 @@ module Bunny
50
50
  AMQ::Protocol::PROTOCOL_VERSION
51
51
  end
52
52
 
53
- # Instantiates a new connection. The actual connection network
53
+ # Instantiates a new connection. The actual network
54
54
  # connection is started with {Bunny::Session#start}
55
55
  #
56
56
  # @return [Bunny::Session]
@@ -1117,6 +1117,7 @@ module Bunny
1117
1117
  # Declares a echange using echange.declare AMQP 0.9.1 method.
1118
1118
  #
1119
1119
  # @param [String] name Exchange name
1120
+ # @param [String,Symbol] type Exchange type, e.g. :fanout or :topic
1120
1121
  # @param [Hash] opts Exchange properties
1121
1122
  #
1122
1123
  # @option opts [Boolean] durable (false) Should information about this echange be persisted to disk so that it
@@ -113,6 +113,10 @@ module Bunny
113
113
  # @option connection_string_or_opts [Integer] :continuation_timeout (4000) Timeout for client operations that expect a response (e.g. {Bunny::Queue#get}), in milliseconds.
114
114
  # @option connection_string_or_opts [Integer] :connection_timeout (5) Timeout in seconds for connecting to the server.
115
115
  # @option connection_string_or_opts [Proc] :hosts_shuffle_strategy A Proc that reorders a list of host strings, defaults to Array#shuffle
116
+ # @option connection_string_or_opts [Logger] :logger The logger. If missing, one is created using :log_file and :log_level.
117
+ # @option connection_string_or_opts [IO, String] :log_file The file or path to use when creating a logger. Defaults to STDOUT.
118
+ # @option connection_string_or_opts [IO, String] :logfile DEPRECATED: use :log_file instead. The file or path to use when creating a logger. Defaults to STDOUT.
119
+ # @option connection_string_or_opts [Integer] :log_level The log level to use when creating a logger. Defaults to LOGGER::WARN
116
120
  #
117
121
  # @option optz [String] :auth_mechanism ("PLAIN") Authentication mechanism, PLAIN or EXTERNAL
118
122
  # @option optz [String] :locale ("PLAIN") Locale RabbitMQ should use
@@ -20,7 +20,7 @@ module Bunny
20
20
  #
21
21
 
22
22
  # Default TCP connection timeout
23
- DEFAULT_CONNECTION_TIMEOUT = 5.0
23
+ DEFAULT_CONNECTION_TIMEOUT = 25.0
24
24
 
25
25
  DEFAULT_READ_TIMEOUT = 5.0
26
26
  DEFAULT_WRITE_TIMEOUT = 5.0
@@ -79,7 +79,9 @@ module Bunny
79
79
  def connect
80
80
  if uses_ssl?
81
81
  @socket.connect
82
- @socket.post_connection_check(host) if uses_tls? && @verify_peer
82
+ if uses_tls? && @verify_peer
83
+ @socket.post_connection_check(host)
84
+ end
83
85
 
84
86
  @status = :connected
85
87
 
@@ -339,6 +341,10 @@ module Bunny
339
341
  end
340
342
 
341
343
  def prepare_tls_context(opts)
344
+ if (opts[:verify_ssl] || opts[:verify_peer]).nil?
345
+ opts[:verify_peer] = true
346
+ end
347
+
342
348
  # client cert/key paths
343
349
  @tls_certificate_path = tls_certificate_path_from(opts)
344
350
  @tls_key_path = tls_key_path_from(opts)
@@ -348,7 +354,7 @@ module Bunny
348
354
  @tls_certificate_store = opts[:tls_certificate_store]
349
355
 
350
356
  @tls_ca_certificates = opts.fetch(:tls_ca_certificates, default_tls_certificates)
351
- @verify_peer = opts[:verify_ssl] || opts[:verify_peer]
357
+ @verify_peer = (opts[:verify_ssl] || opts[:verify_peer])
352
358
 
353
359
  @tls_context = initialize_tls_context(OpenSSL::SSL::SSLContext.new, opts)
354
360
  end
@@ -395,8 +401,8 @@ module Bunny
395
401
 
396
402
  if !@tls_certificate
397
403
  @logger.warn <<-MSG
398
- Using TLS but no client certificate is provided! If RabbitMQ is configured to verify peer
399
- certificate, connection upgrade will fail!
404
+ Using TLS but no client certificate is provided! If RabbitMQ is configured to verify peer
405
+ certificate, connection upgrade will fail!
400
406
  MSG
401
407
  end
402
408
  if @tls_certificate && !@tls_key
@@ -410,6 +416,13 @@ module Bunny
410
416
  end
411
417
  ctx.verify_mode = verify_mode
412
418
 
419
+ if !@verify_peer
420
+ @logger.warn <<-MSG
421
+ Using TLS but peer hostname verification is disabled. This is convenient for local development
422
+ but prone man-in-the-middle attacks. Please set :verify_peer => true in production!
423
+ MSG
424
+ end
425
+
413
426
  ssl_version = opts[:tls_protocol] || opts[:ssl_version]
414
427
  ctx.ssl_version = ssl_version if ssl_version
415
428
 
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Bunny
4
4
  # @return [String] Version of the library
5
- VERSION = "1.6.3"
5
+ VERSION = "1.7.0"
6
6
  end
@@ -28,7 +28,11 @@ describe "A message" do
28
28
 
29
29
  sleep 0.2
30
30
  q.message_count.should be_zero
31
- dlq.message_count.should == 1
31
+
32
+ delivery, properties, body = dlq.pop
33
+ ds = properties.headers["x-death"]
34
+ ds.should_not be_empty
35
+ expect(ds.first["reason"]).to eq("rejected")
32
36
 
33
37
  dlx.delete
34
38
  end
@@ -49,4 +53,23 @@ describe "A message" do
49
53
 
50
54
  dlx.delete
51
55
  end
56
+
57
+ it "carries the x-death header" do
58
+ ch = connection.create_channel
59
+ x = ch.fanout("amq.fanout")
60
+ dlx = ch.fanout("bunny.tests.dlx.exchange")
61
+ q = ch.queue("", :exclusive => true, :arguments => {"x-dead-letter-exchange" => dlx.name, "x-message-ttl" => 100}).bind(x)
62
+ # dead letter queue
63
+ dlq = ch.queue("", :exclusive => true).bind(dlx)
64
+
65
+ x.publish("")
66
+ sleep 0.2
67
+
68
+ delivery, properties, body = dlq.pop
69
+ ds = properties.headers["x-death"]
70
+ ds.should_not be_empty
71
+ expect(ds.first["reason"]).to eq("expired")
72
+
73
+ dlx.delete
74
+ end
52
75
  end
@@ -39,7 +39,8 @@ unless ENV["CI"]
39
39
  :tls => true,
40
40
  :tls_cert => "spec/tls/client_cert.pem",
41
41
  :tls_key => "spec/tls/client_key.pem",
42
- :tls_ca_certificates => ["./spec/tls/cacert.pem"])
42
+ :tls_ca_certificates => ["./spec/tls/cacert.pem"],
43
+ :verify_peer => false)
43
44
  c.start
44
45
  c
45
46
  end
@@ -58,7 +59,8 @@ unless ENV["CI"]
58
59
  :password => "bunny_password",
59
60
  :vhost => "bunny_testbed",
60
61
  :tls => true,
61
- :tls_ca_certificates => ["./spec/tls/cacert.pem"])
62
+ :tls_ca_certificates => ["./spec/tls/cacert.pem"],
63
+ :verify_peer => false)
62
64
  c.start
63
65
  c
64
66
  end
@@ -76,7 +78,8 @@ unless ENV["CI"]
76
78
  c = Bunny.new("amqps://bunny_gem:bunny_password@127.0.0.1/bunny_testbed",
77
79
  :tls_cert => "spec/tls/client_cert.pem",
78
80
  :tls_key => "spec/tls/client_key.pem",
79
- :tls_ca_certificates => ["./spec/tls/cacert.pem"])
81
+ :tls_ca_certificates => ["./spec/tls/cacert.pem"],
82
+ :verify_peer => false)
80
83
  c.start
81
84
  c
82
85
  end
@@ -92,7 +95,8 @@ unless ENV["CI"]
92
95
  describe "TLS connection to RabbitMQ with a connection string and w/o client certificate and key" do
93
96
  let(:connection) do
94
97
  c = Bunny.new("amqps://bunny_gem:bunny_password@127.0.0.1/bunny_testbed",
95
- :tls_ca_certificates => ["./spec/tls/cacert.pem"])
98
+ :tls_ca_certificates => ["./spec/tls/cacert.pem"],
99
+ :verify_peer => false)
96
100
  c.start
97
101
  c
98
102
  end
@@ -107,13 +111,14 @@ unless ENV["CI"]
107
111
 
108
112
  describe "TLS connection to RabbitMQ with client certificates provided inline" do
109
113
  let(:connection) do
110
- c = Bunny.new(:user => "bunny_gem",
111
- :password => "bunny_password",
112
- :vhost => "bunny_testbed",
113
- :tls => true,
114
- :tls_cert => File.read("./spec/tls/client_cert.pem"),
115
- :tls_key => File.read("./spec/tls/client_key.pem"),
116
- :tls_ca_certificates => ["./spec/tls/cacert.pem"])
114
+ c = Bunny.new(:user => "bunny_gem",
115
+ :password => "bunny_password",
116
+ :vhost => "bunny_testbed",
117
+ :tls => true,
118
+ :tls_cert => File.read("./spec/tls/client_cert.pem"),
119
+ :tls_key => File.read("./spec/tls/client_key.pem"),
120
+ :tls_ca_certificates => ["./spec/tls/cacert.pem"],
121
+ :verify_peer => false)
117
122
  c.start
118
123
  c
119
124
  end
@@ -127,12 +132,13 @@ unless ENV["CI"]
127
132
 
128
133
  describe "TLS connection to RabbitMQ with tls_version TLSv1 specified" do
129
134
  let(:connection) do
130
- c = Bunny.new(:user => "bunny_gem",
131
- :password => "bunny_password",
132
- :vhost => "bunny_testbed",
133
- :tls => true,
134
- :tls_protocol => :TLSv1,
135
- :tls_ca_certificates => ["./spec/tls/cacert.pem"])
135
+ c = Bunny.new(:user => "bunny_gem",
136
+ :password => "bunny_password",
137
+ :vhost => "bunny_testbed",
138
+ :tls => true,
139
+ :tls_protocol => :TLSv1,
140
+ :tls_ca_certificates => ["./spec/tls/cacert.pem"],
141
+ :verify_peer => false)
136
142
  c.start
137
143
  c
138
144
  end
@@ -1,6 +1,6 @@
1
1
  require "spec_helper"
2
2
 
3
- describe "Rapidly opening and closing lots of channels" do
3
+ describe "Rapidly closing lots of temporary channels" do
4
4
  before :all do
5
5
  @connection = Bunny.new(:automatic_recovery => false).tap do |c|
6
6
  c.start
@@ -0,0 +1,18 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIC+zCCAeOgAwIBAgIBATANBgkqhkiG9w0BAQUFADAnMRUwEwYDVQQDEwxNeVRl
3
+ c3RSb290Q0ExDjAMBgNVBAcTBTgwNTQ3MB4XDTE0MDkxMjA4NDg0MVoXDTI0MDkw
4
+ OTA4NDg0MVowKjEXMBUGA1UEAxMObWVyY3VyaW8ubG9jYWwxDzANBgNVBAoTBmNs
5
+ aWVudDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJd+NA0M21Kj1CyH
6
+ WmnLzUAQAi3GawvLnxwyrlW3nfl1BLEL2kLHrHYS7S0giL0T/Zziw9BqNB2Fba3l
7
+ RbI8d0JppuMXRRHnFTY/fLYpQlcwB8hT17NBk8euoU1r2VopCwDKP8rxAxLLL9Im
8
+ 2Cg+ksvZe+6yJPzAQ5aw1zc+UMSwJ8p2gAI7BI8Oekk506iccwbHwqVHH3DwCCXp
9
+ 0dRtzMeRqZY9lC1wsLHVYLl/Pc/xWtqjuk0j5px6RtrBoW16MaK43zH1nFlEA8KH
10
+ c0RVFaQsQMVYBbxsVq54rymGInmmSk+vy5ZoFC1ItBRPSSgI1beaL5/4B/dJGI74
11
+ 7u/+cpsCAwEAAaMvMC0wCQYDVR0TBAIwADALBgNVHQ8EBAMCB4AwEwYDVR0lBAww
12
+ CgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBALPEuvS/1/0IBM/Kyi0MHa6m
13
+ KjltIm2Cp8iaTkziy9r2UDckvSqv8GW0itE69126j4L1iVUYNIVemUvcAwaX3YLf
14
+ nN80XMjNl8mpSKwCXvKKXUTAFUQN+SPMbEC7Uzip1WgJGyc2T9ka8iN+nd1T7btU
15
+ 482+zf5bGh+d0E7c4j0jfpf/1+VkfG/Vn5/EpG51DCvYtgg3F3PR39mDmnvKJu8p
16
+ eYYvk3Jab0r/v3cLdt5GgZ4/WXZCdVpGgfDd60miXh7DUWilXBRuntVxZequF/ZI
17
+ obei8teP2T/4oos3GWPOLxEA8EnQsdUoXxK/2DTq+9G6PQTQNm2/kvR6hPKimBk=
18
+ -----END CERTIFICATE-----
@@ -0,0 +1,18 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIC+zCCAeOgAwIBAgIBAjANBgkqhkiG9w0BAQUFADAnMRUwEwYDVQQDEwxNeVRl
3
+ c3RSb290Q0ExDjAMBgNVBAcTBTgwNTQ3MB4XDTE0MDkxMjA4NDg0MloXDTI0MDkw
4
+ OTA4NDg0MlowKjEXMBUGA1UEAxMObWVyY3VyaW8ubG9jYWwxDzANBgNVBAoTBnNl
5
+ cnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALvQX6P7Tz0sNKNg
6
+ yiEb71gg84gyOaaTnIbgPKHTJ9kFMLZFQ3HN05dHLwqH1noefauV6HVPESVVf01m
7
+ Ph28jre9tBorPAaiIzuf2kKlpZolN7Q9d/5rb2Vw3dUpoZJoD4aL+u8cghmkzodV
8
+ vts1WRIRjH/yTUc266+h6m9lIi9L9BCYMTAWOF0KHoXA2VgLLkQNv+2GKHFP32ZH
9
+ 1vXa98fxErpJ//3jRwP5m4t0PDSPlAw++bOiwgZb8r+vEOCyZE15BoukSi8rtibc
10
+ tSpYsbyvWaoe/JQfGPI3St84DhrUPPm2FUMyWMeTmldcfyLA25/vQPha4JC4f4Bc
11
+ CYvzCVUCAwEAAaMvMC0wCQYDVR0TBAIwADALBgNVHQ8EBAMCBSAwEwYDVR0lBAww
12
+ CgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEFBQADggEBADWhd3ikOdCFNZfDy9If9txm
13
+ WtiBJ8g3oWjj99zIvb0CNqp0Xv5jvWgw8DYXG5FZAA7g5sKrihkxKTtpYnKsTZ40
14
+ HEcGRUqF/Z1LLeh7/OYMx597yBn86ZcqUyBIaIsEhHNa+yC1zHWa4rg1vpDwY/iI
15
+ Mbewjy9KyB4n6w+3TpSHvhpEa5OJiDOMFePURsS3io9r7MGfFVTM0Cho1qIYT1vt
16
+ tOoUXpKAJxu+6TwDXzMwoSmjMw5GtchqhpCHQcHBH9z1rGHh/VShGl/+rif4JZ98
17
+ natbZ91esBaJKbWLUxH1U9Aol8wwYD4MzK3rvfImgjgig+htAqhCMxLu1z9VE+o=
18
+ -----END CERTIFICATE-----
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bunny
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.3
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Duncan
@@ -12,20 +12,20 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-11-09 00:00:00.000000000 Z
15
+ date: 2015-02-05 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: amq-protocol
19
19
  requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - '>='
21
+ - - ">="
22
22
  - !ruby/object:Gem::Version
23
23
  version: 1.9.2
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - '>='
28
+ - - ">="
29
29
  - !ruby/object:Gem::Version
30
30
  version: 1.9.2
31
31
  description: Easy to use, feature complete Ruby client for RabbitMQ 3.3 and later
@@ -41,10 +41,10 @@ extensions: []
41
41
  extra_rdoc_files:
42
42
  - README.md
43
43
  files:
44
- - .gitignore
45
- - .rspec
46
- - .travis.yml
47
- - .yardopts
44
+ - ".gitignore"
45
+ - ".rspec"
46
+ - ".travis.yml"
47
+ - ".yardopts"
48
48
  - ChangeLog.md
49
49
  - Gemfile
50
50
  - LICENSE
@@ -60,7 +60,7 @@ files:
60
60
  - benchmarks/queue_declare_bind_and_delete.rb
61
61
  - benchmarks/synchronized_sorted_set.rb
62
62
  - benchmarks/write_vs_write_nonblock.rb
63
- - bin/ci/before_build.sh
63
+ - bin/ci/before_build
64
64
  - bunny.gemspec
65
65
  - examples/connection/authentication_failure.rb
66
66
  - examples/connection/automatic_recovery_with_basic_get.rb
@@ -201,8 +201,10 @@ files:
201
201
  - spec/tls/ca_key.pem
202
202
  - spec/tls/cacert.pem
203
203
  - spec/tls/client_cert.pem
204
+ - spec/tls/client_certificate.pem
204
205
  - spec/tls/client_key.pem
205
206
  - spec/tls/server_cert.pem
207
+ - spec/tls/server_certificate.pem
206
208
  - spec/tls/server_key.pem
207
209
  - spec/unit/bunny_spec.rb
208
210
  - spec/unit/concurrent/atomic_fixnum_spec.rb
@@ -221,17 +223,17 @@ require_paths:
221
223
  - lib
222
224
  required_ruby_version: !ruby/object:Gem::Requirement
223
225
  requirements:
224
- - - '>='
226
+ - - ">="
225
227
  - !ruby/object:Gem::Version
226
228
  version: '0'
227
229
  required_rubygems_version: !ruby/object:Gem::Requirement
228
230
  requirements:
229
- - - '>='
231
+ - - ">="
230
232
  - !ruby/object:Gem::Version
231
233
  version: '0'
232
234
  requirements: []
233
235
  rubyforge_project:
234
- rubygems_version: 2.2.2
236
+ rubygems_version: 2.4.5
235
237
  signing_key:
236
238
  specification_version: 4
237
239
  summary: Popular easy to use Ruby client for RabbitMQ
@@ -302,8 +304,10 @@ test_files:
302
304
  - spec/tls/ca_key.pem
303
305
  - spec/tls/cacert.pem
304
306
  - spec/tls/client_cert.pem
307
+ - spec/tls/client_certificate.pem
305
308
  - spec/tls/client_key.pem
306
309
  - spec/tls/server_cert.pem
310
+ - spec/tls/server_certificate.pem
307
311
  - spec/tls/server_key.pem
308
312
  - spec/unit/bunny_spec.rb
309
313
  - spec/unit/concurrent/atomic_fixnum_spec.rb