Hello community,

here is the log from the commit of package rubygem-bunny for openSUSE:Factory 
checked in at 2016-06-14 23:08:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-bunny (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-bunny.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-bunny"

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-bunny/rubygem-bunny.changes      
2016-04-28 16:56:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-bunny.new/rubygem-bunny.changes 
2016-06-14 23:08:07.000000000 +0200
@@ -1,0 +2,6 @@
+Sun Jun 12 04:29:33 UTC 2016 - [email protected]
+
+- updated to version 2.4.0
+ see installed ChangeLog.md
+
+-------------------------------------------------------------------

Old:
----
  bunny-2.3.1.gem

New:
----
  bunny-2.4.0.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-bunny.spec ++++++
--- /var/tmp/diff_new_pack.fZmAkY/_old  2016-06-14 23:08:08.000000000 +0200
+++ /var/tmp/diff_new_pack.fZmAkY/_new  2016-06-14 23:08:08.000000000 +0200
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-bunny
-Version:        2.3.1
+Version:        2.4.0
 Release:        0
 %define mod_name bunny
 %define mod_full_name %{mod_name}-%{version}

++++++ bunny-2.3.1.gem -> bunny-2.4.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CONTRIBUTING.md new/CONTRIBUTING.md
--- old/CONTRIBUTING.md 2016-04-04 12:45:42.000000000 +0200
+++ new/CONTRIBUTING.md 2016-06-11 23:24:31.000000000 +0200
@@ -1,12 +1,78 @@
 ## Pre-requisites
 
-The project uses Bundler for dependency management and requires RabbitMQ 
`3.4+` to be running
-locally. Prior to running the tests, configure the RabbitMQ permissions
-by running `./bin/ci/before_script`. Make
-sure you have those two installed and then run tests:
+The project uses Bundler for dependency management and requires RabbitMQ 
`3.5+` to be running
+locally with the `rabbitmq-management` and `rabbitmq_consistent_hash_exchange` 
plugins enabled.
+
+
+### Running the Specs
+
+The specs require RabbitMQ to be running locally with a specific set of vhosts
+and users. RabbitMQ can be provisioned and started any way that's convenient 
to you
+as long as it has a suitable TLS keys configuration and management plugin 
enabled.
+Make sure you have a recent version of RabbitMQ (> `3.5.3`).
+
+You can also start a clean RabbitMQ server
+node on your machine specifically for the bunny specs.
+This can be done either by using a locally installed RabbitMQ server or by
+running a RabbitMQ server in a Docker container.
+
+#### Using a locally installed RabbitMQ server
+
+Run the following command from the base directory of the gem:
+
+```
+RABBITMQ_NODENAME=bunny RABBITMQ_CONFIG_FILE=./spec/config/rabbitmq 
RABBITMQ_ENABLED_PLUGINS_FILE=./spec/config/enabled_plugins rabbitmq-server
+```
+
+The specs use the RabbitMQ management plugin and require a TLS port to be 
available. The config files in the spec/config directory enable these.
+
+Next up you'll need to prepare your node for the specs (just once):
+
+```
+RABBITMQ_NODENAME=bunny ./bin/ci/before_build
+```
+
+And then run the core integration suite:
+
+```
+RABBITMQ_NODENAME=bunny CI=true rspec
+```
+
+#### Running a RabbitMQ server in a Docker container
+
+First off you have to [install 
Docker](https://docs.docker.com/engine/installation/) (>= 1.9).
+
+After Docker has been installed (and the `docker` command is available on your 
command line path), run
+
+    ./bin/ci/start_rabbitmq
+
+The first time you do this, it will take some time, since it has to download 
everything it needs
+to build the Docker image.
+
+The RabbitMQ server will run in the foreground in the terminal where you 
started it. You can stop
+it by pressing CTRL+C.
+
+### Running Test Suites
+
+Prior to running the tests, configure the RabbitMQ permissions
+by running `./bin/ci/before_script`. The script uses `rabbitmqctl` and 
`rabbitmq-plugins`
+to set up RabbitMQ in a way that Bunny test suites expect. Two environment 
variables,
+`RABBITMQCTL` and `RABBITMQ_PLUGINS`, are available to control what 
`rabbitmqctl` and
+`rabbitmq-plugins` commands will be used. By default they are taken from `PATH`
+and prefixed with `sudo`.
+
+Make sure you have those two installed and then run integration tests:
 
     bundle install
-    bundle exec rspec -cfd spec/    
+    rake integration
+
+It is possible to run all tests:
+
+    bundle exec rspec -c
+
+It is possible to run only integration and regression tests but exclude unit 
and stress tests:
+
+    CI=true bundle exec rspec -c spec/higher_level_api/ spec/lower_level_api 
spec/issues && bundle exec rspec -c 
spec/higher_level_api/integration/connection_recovery_spec.rb
 
 ## Pull Requests
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ChangeLog.md new/ChangeLog.md
--- old/ChangeLog.md    2016-04-04 12:45:42.000000000 +0200
+++ new/ChangeLog.md    2016-06-11 23:24:31.000000000 +0200
@@ -1,4 +1,13 @@
-## Changes between Bunny 2.3.0 and 2.3.1 (Apr 4th, 2016)
+## Changes between Bunny 2.3.0 and 2.4.0 (unreleased)
+
+### Unconfirmed Delivery Tag Set Reset on Network Recovery
+
+Channels will now reset their unconfirmed delivery tag set after
+recovery.
+
+GitHub issue: [#406](https://github.com/ruby-amqp/bunny/pull/406)
+
+Contributed by Bill Ruddock.
 
 ### Support (Quoted) IPv6 Addresses in Address Lists
 
@@ -15,6 +24,22 @@
 
 Contributed by Donal McBreen.
 
+### Client-Provided Session `:properties` Merged with Defaults
+
+Client-Provided Session `:properties` will now be merged with defaults
+instead of replacing them. This makes it much more convenient to
+override a single key.
+
+### More Predictable RABBITMQ_URL Handling
+
+`RABBITMQ_URL` no longer will be used if any other
+connection options are provided. This makes it possible
+to use `RABBITMQ_URL` for some connections and options
+for others in a single OS process.
+
+GitHub issue: [#403](https://github.com/ruby-amqp/bunny/pull/403)
+
+Contributed by Jimmy Petersen.
 
 
 ## Changes between Bunny 2.2.0 and 2.3.0 (Feb 26th, 2016)
@@ -25,6 +50,8 @@
 when set to `true`, makes consumer work pool threads to have
 `Thread#abort_on_exception` set on them.
 
+GH issue: [#382](https://github.com/ruby-amqp/bunny/pull/382)
+
 Contributed by Seamus Abshere.
 
 ### Explicit Transport Closure on Recovery
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2016-04-04 12:45:42.000000000 +0200
+++ new/README.md       2016-06-11 23:24:31.000000000 +0200
@@ -48,7 +48,7 @@
 
 Modern Bunny versions support
 
- * CRuby 2.2, 2.1, 2.0
+ * CRuby 2.0 through 2.3
 
 Bunny works sufficiently well on JRuby but there are known
 JRuby bugs in versions prior to JRuby 9000 that cause high CPU burn. JRuby 
users should
@@ -88,7 +88,7 @@
 To use Bunny in a project managed with Bundler:
 
 ``` ruby
-gem "bunny", ">= 2.2.2"
+gem "bunny", ">= 2.3.1"
 ```
 
 
@@ -183,36 +183,6 @@
 contributing failing test cases.
 
 
-### Running the Specs
-
-The specs require RabbitMQ to be running locally with a specific set of vhosts
-and users. RabbitMQ can be provisioned and started any that's convenient to you
-as long as it has a suitable TLS keys configuration and management plugin 
enabled.
-Make sure you have a recent version of RabbitMQ (> `3.5.3`).
-
-You can also start a clean RabbitMQ server
-node on your machine specifically for the bunny specs.
-To do so, run the following command
-from the base directory of the gem:
-
-```
-RABBITMQ_NODENAME=bunny RABBITMQ_CONFIG_FILE=./spec/config/rabbitmq 
RABBITMQ_ENABLED_PLUGINS_FILE=./spec/config/enabled_plugins rabbitmq-server
-```
-
-The specs use the RabbitMQ management plugin and require a TLS port to be 
available. The config files in the spec/config directory enable these.
-
-Next up you'll need to prepare your node for the specs (just once):
-
-```
-RABBITMQ_NODENAME=bunny ./bin/ci/before_build
-```
-
-And then run the core integration suite:
-
-```
-RABBITMQ_NODENAME=bunny CI=true rspec
-```
-
 ## Other Ruby RabbitMQ Clients
 
 The other widely used Ruby RabbitMQ client is [March 
Hare](http://rubymarchhare.info) (JRuby-only).
@@ -221,22 +191,8 @@
 
 ## Contributing
 
-First, clone the repository and run
-
-    bundle install --binstubs
-
-then set up RabbitMQ vhosts with
-
-    ./bin/ci/before_build
-
-(if needed, set `RABBITMQCTL` env variable to point to `rabbitmqctl` you want 
to use)
-
-and then run tests with
-
-    CI=true ./bin/rspec -cf documentation spec
-
-After that create a branch and make your changes on it. Once you are done with 
your changes and all tests pass, submit a pull request
-on GitHub.
+See [CONTRIBUTING.md](./CONTRIBUTING.md) for more information
+about running various test suites.
 
 
 ## License
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Rakefile new/Rakefile
--- old/Rakefile        1970-01-01 01:00:00.000000000 +0100
+++ new/Rakefile        2016-06-11 23:24:31.000000000 +0200
@@ -0,0 +1,27 @@
+require 'rake'
+require 'rspec/core/rake_task'
+
+RSpec::Core::RakeTask.new(:integration) do |t|
+  # excludes unit tests as those involve many iterations
+  # and sometimes suffer from obscure interference from integration tests (!)
+  t.pattern    = ["spec/higher_level_api/integration", 
"spec/lower_level_api/integration", "spec/issues", "spec/stress"].
+    map { |dir| Dir.glob(File.join(dir, "**", "*_spec.rb")) }.reduce(&:+) - 
["spec/higher_level_api/integration/tls_connection_spec.rb"]
+
+  t.rspec_opts = "--format progress"
+end
+
+RSpec::Core::RakeTask.new(:unit) do |t|
+  t.pattern    = Dir.glob("spec/unit/**/*_spec.rb")
+
+  t.rspec_opts = "--format progress --backtrace"
+end
+
+RSpec::Core::RakeTask.new(:recovery_integration) do |t|
+  # otherwise all examples will be skipped
+  ENV.delete("CI")
+  t.pattern    = 
Dir.glob("spec/higher_level_api/integration/connection_recovery_spec.rb")
+
+  t.rspec_opts = "--format progress --backtrace"
+end
+
+task :default => :integration
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bin/ci/before_build new/bin/ci/before_build
--- old/bin/ci/before_build     2016-04-04 12:45:42.000000000 +0200
+++ new/bin/ci/before_build     2016-06-11 23:24:31.000000000 +0200
@@ -1,7 +1,7 @@
 #!/usr/bin/env ruby
 
-$ctl      = ENV.fetch("RABBITMQCTL",       "sudo rabbitmqctl")
-$plugins  = ENV.fetch("RABBITMQ_PLUGINS",  "sudo rabbitmq-plugins")
+$ctl      = ENV["BUNNY_RABBITMQCTL"]      || ENV["RABBITMQCTL"]      || "sudo 
rabbitmqctl"
+$plugins  = ENV["BUNNY_RABBITMQ_PLUGINS"] || ENV["RABBITMQ_PLUGINS"] || "sudo 
rabbitmq-plugins"
 
 def rabbit_control(args)
   command = "#{$ctl} #{args}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bin/ci/start_rabbitmq new/bin/ci/start_rabbitmq
--- old/bin/ci/start_rabbitmq   1970-01-01 01:00:00.000000000 +0100
+++ new/bin/ci/start_rabbitmq   2016-06-11 23:24:31.000000000 +0200
@@ -0,0 +1,9 @@
+#!/bin/bash
+if [ -z `which docker` ]; then
+  echo 'You need to install docker to run this script. See 
https://docs.docker.com/engine/installation/'
+  exit
+fi
+
+cd $(dirname $(readlink -f $0))
+docker build -t bunny_rabbitmq ../../docker && \
+exec docker run --net host -ti bunny_rabbitmq
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/docker/Dockerfile new/docker/Dockerfile
--- old/docker/Dockerfile       1970-01-01 01:00:00.000000000 +0100
+++ new/docker/Dockerfile       2016-06-11 23:24:31.000000000 +0200
@@ -0,0 +1,14 @@
+FROM debian:jessie
+
+RUN apt-get -q update && \
+    apt-get install -yq --no-install-recommends wget ca-certificates
+
+RUN echo 'deb http://www.rabbitmq.com/debian/ testing main' > 
/etc/apt/sources.list.d/rabbitmq.list && \
+    wget -O- https://www.rabbitmq.com/rabbitmq-signing-key-public.asc | 
apt-key add -
+
+RUN apt-get -q update && \
+    apt-get install -yq --no-install-recommends rabbitmq-server
+
+COPY docker-entrypoint.sh /
+
+ENTRYPOINT /docker-entrypoint.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/docker/docker-entrypoint.sh 
new/docker/docker-entrypoint.sh
--- old/docker/docker-entrypoint.sh     1970-01-01 01:00:00.000000000 +0100
+++ new/docker/docker-entrypoint.sh     2016-06-11 23:24:31.000000000 +0200
@@ -0,0 +1,40 @@
+#!/bin/sh
+server=rabbitmq-server
+ctl=rabbitmqctl
+plugins=rabbitmq-plugins
+delay=3
+
+echo '[Configuration] Starting RabbitMQ in detached mode.'
+
+$server -detached
+
+echo "[Configuration] Waiting $delay seconds for RabbitMQ to start."
+
+sleep $delay
+
+echo '*** Enabling plugins ***'
+$plugins enable --online rabbitmq_management
+$plugins enable --online rabbitmq_consistent_hash_exchange
+
+echo '*** Creating users ***'
+$ctl add_user bunny_gem bunny_password
+$ctl add_user bunny_reader reader_password
+
+echo '*** Creating virtual hosts ***'
+$ctl add_vhost bunny_testbed
+
+echo '*** Setting virtual host permissions ***'
+$ctl set_permissions -p / guest '.*' '.*' '.*'
+$ctl set_permissions -p bunny_testbed bunny_gem '.*' '.*' '.*'
+$ctl set_permissions -p bunny_testbed guest '.*' '.*' '.*'
+$ctl set_permissions -p bunny_testbed bunny_reader '^---$' '^---$' '.*'
+
+$ctl stop
+
+echo "[Configuration] Waiting $delay seconds for RabbitMQ to stop."
+
+sleep $delay
+
+echo 'Starting RabbitMQ in foreground (CTRL-C to exit)'
+
+exec $server
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/bunny/channel.rb new/lib/bunny/channel.rb
--- old/lib/bunny/channel.rb    2016-04-04 12:45:42.000000000 +0200
+++ new/lib/bunny/channel.rb    2016-06-11 23:24:31.000000000 +0200
@@ -366,7 +366,7 @@
     # @see http://rubybunny.info/articles/exchanges.html Exchanges and 
Publishing guide
     # @api public
     def default_exchange
-      self.direct(AMQ::Protocol::EMPTY_STRING, :no_declare => true)
+      Exchange.default(self)
     end
 
     # Declares a headers exchange or looks it up in the cache of previously
@@ -427,26 +427,6 @@
 
     # @group QoS and Flow Control
 
-    # Sets how many messages will be given to consumers on this channel before 
they
-    # have to acknowledge or reject one of the previously consumed messages
-    #
-    # @param [Integer] prefetch_count Prefetch (QoS setting) for this channel
-    # @param [Boolean] global
-    #   Whether to use global mode for prefetch:
-    #   - +false+: per-consumer
-    #   - +true+:  per-channel
-    #   Note that the default value (+false+) hasn't actually changed, but
-    #   previous documentation described that as meaning per-channel and
-    #   unsupported in RabbitMQ, whereas it now actually appears to mean
-    #   per-consumer and supported
-    #   (https://www.rabbitmq.com/consumer-prefetch.html).
-    # @see http://rubybunny.info/articles/exchanges.html Exchanges and 
Publishing guide
-    # @see http://rubybunny.info/articles/queues.html Queues and Consumers 
guide
-    # @api public
-    def prefetch(count, global = false)
-      self.basic_qos(count, global)
-    end
-
     # Flow control. When set to false, RabbitMQ will stop delivering messages 
on this
     # channel.
     #
@@ -649,8 +629,8 @@
     # @see http://rubybunny.info/articles/queues.html Queues and Consumers 
guide
     # @api public
     def basic_qos(count, global = false)
-      raise ArgumentError.new("prefetch count must be a positive integer, 
given: #{prefetch_count}") if count < 0
-      raise ArgumentError.new("prefetch count must be no greater than 
#{MAX_PREFETCH_COUNT}, given: #{prefetch_count}") if count > MAX_PREFETCH_COUNT
+      raise ArgumentError.new("prefetch count must be a positive integer, 
given: #{count}") if count < 0
+      raise ArgumentError.new("prefetch count must be no greater than 
#{MAX_PREFETCH_COUNT}, given: #{count}") if count > MAX_PREFETCH_COUNT
       raise_if_no_longer_open!
 
       @connection.send_frame(AMQ::Protocol::Basic::Qos.encode(@id, 0, count, 
global))
@@ -665,6 +645,7 @@
 
       @last_basic_qos_ok
     end
+    alias prefetch basic_qos
 
     # Redeliver unacknowledged messages
     #
@@ -1514,6 +1495,7 @@
     # @api plugin
     def recover_confirm_mode
       if using_publisher_confirmations?
+        @unconfirmed_set.clear
         @delivery_tag_offset = @next_publish_seq_no - 1
         confirm_select(@confirms_callback)
       end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/bunny/queue.rb new/lib/bunny/queue.rb
--- old/lib/bunny/queue.rb      2016-04-04 12:45:42.000000000 +0200
+++ new/lib/bunny/queue.rb      2016-06-11 23:24:31.000000000 +0200
@@ -37,7 +37,6 @@
       @channel          = channel
       @name             = name
       @options          = self.class.add_default_options(name, opts)
-      @consumers        = Hash.new
 
       @durable          = @options[:durable]
       @exclusive        = @options[:exclusive]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/bunny/reader_loop.rb new/lib/bunny/reader_loop.rb
--- old/lib/bunny/reader_loop.rb        2016-04-04 12:45:42.000000000 +0200
+++ new/lib/bunny/reader_loop.rb        2016-06-11 23:24:31.000000000 +0200
@@ -92,11 +92,11 @@
     end
 
     def stopped?
-      @mutex.synchronize { @stopped = true }
+      @mutex.synchronize { @stopped }
     end
 
     def stopping?
-      @mutex.synchronize { @stopping = true }
+      @mutex.synchronize { @stopping }
     end
 
     def terminate_with(e)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/bunny/session.rb new/lib/bunny/session.rb
--- old/lib/bunny/session.rb    2016-04-04 12:45:42.000000000 +0200
+++ new/lib/bunny/session.rb    2016-06-11 23:24:31.000000000 +0200
@@ -125,12 +125,12 @@
     # @see http://rubybunny.info/articles/connecting.html Connecting to 
RabbitMQ guide
     # @see http://rubybunny.info/articles/tls.html TLS/SSL guide
     # @api public
-    def initialize(connection_string_or_opts = Hash.new, optz = Hash.new)
-      opts = case (ENV["RABBITMQ_URL"] || connection_string_or_opts)
+    def initialize(connection_string_or_opts = ENV['RABBITMQ_URL'], optz = 
Hash.new)
+      opts = case (connection_string_or_opts)
              when nil then
                Hash.new
              when String then
-               self.class.parse_uri(ENV["RABBITMQ_URL"] || 
connection_string_or_opts)
+               self.class.parse_uri(connection_string_or_opts)
              when Hash then
                connection_string_or_opts
              end.merge(optz)
@@ -179,7 +179,7 @@
       @channel_max        = @client_channel_max
       @client_heartbeat   = self.heartbeat_from(opts)
 
-      @client_properties   = opts[:properties] || DEFAULT_CLIENT_PROPERTIES
+      @client_properties   = 
DEFAULT_CLIENT_PROPERTIES.merge(opts.fetch(:properties, {}))
       @mechanism           = opts.fetch(:auth_mechanism, "PLAIN")
       @credentials_encoder = credentials_encoder_for(@mechanism)
       @locale              = @opts.fetch(:locale, DEFAULT_LOCALE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/bunny/version.rb new/lib/bunny/version.rb
--- old/lib/bunny/version.rb    2016-04-04 12:45:42.000000000 +0200
+++ new/lib/bunny/version.rb    2016-06-11 23:24:31.000000000 +0200
@@ -2,5 +2,5 @@
 
 module Bunny
   # @return [String] Version of the library
-  VERSION = "2.3.1"
+  VERSION = "2.4.0"
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/bunny.rb new/lib/bunny.rb
--- old/lib/bunny.rb    2016-04-04 12:45:42.000000000 +0200
+++ new/lib/bunny.rb    2016-06-11 23:24:31.000000000 +0200
@@ -58,7 +58,7 @@
   # @see http://rubybunny.info/articles/getting_started.html
   # @see http://rubybunny.info/articles/connecting.html
   # @api public
-  def self.new(connection_string_or_opts = {}, opts = {}, &block)
+  def self.new(connection_string_or_opts = ENV['RABBITMQ_URL'], opts = {}, 
&block)
     if connection_string_or_opts.respond_to?(:keys) && opts.empty?
       opts = connection_string_or_opts
     end
@@ -70,7 +70,7 @@
   end
 
 
-  def self.run(connection_string_or_opts = {}, opts = {}, &block)
+  def self.run(connection_string_or_opts = ENV['RABBITMQ_URL'], opts = {}, 
&block)
     raise ArgumentError, 'Bunny#run requires a block' unless block
 
     client = Session.new(connection_string_or_opts, opts)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2016-04-04 12:45:42.000000000 +0200
+++ new/metadata        2016-06-11 23:24:31.000000000 +0200
@@ -1,7 +1,7 @@
 --- !ruby/object:Gem::Specification
 name: bunny
 version: !ruby/object:Gem::Version
-  version: 2.3.1
+  version: 2.4.0
 platform: ruby
 authors:
 - Chris Duncan
@@ -12,7 +12,7 @@
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2016-04-04 00:00:00.000000000 Z
+date: 2016-06-11 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: amq-protocol
@@ -46,6 +46,7 @@
 - Gemfile
 - LICENSE
 - README.md
+- Rakefile
 - benchmarks/basic_publish/with_128K_messages.rb
 - benchmarks/basic_publish/with_1k_messages.rb
 - benchmarks/basic_publish/with_4K_messages.rb
@@ -58,7 +59,10 @@
 - benchmarks/synchronized_sorted_set.rb
 - benchmarks/write_vs_write_nonblock.rb
 - bin/ci/before_build
+- bin/ci/start_rabbitmq
 - bunny.gemspec
+- docker/Dockerfile
+- docker/docker-entrypoint.sh
 - examples/connection/authentication_failure.rb
 - examples/connection/automatic_recovery_with_basic_get.rb
 - examples/connection/automatic_recovery_with_client_named_queues.rb
@@ -193,13 +197,11 @@
 - spec/stress/concurrent_publishers_stress_spec.rb
 - spec/stress/connection_open_close_spec.rb
 - spec/stress/long_running_consumer_spec.rb
+- spec/stress/wait_for_confirms_with_connection_loss_stress_spec.rb
 - spec/tls/ca_certificate.pem
 - spec/tls/ca_key.pem
-- spec/tls/cacert.pem
-- spec/tls/client_cert.pem
 - spec/tls/client_certificate.pem
 - spec/tls/client_key.pem
-- spec/tls/server_cert.pem
 - spec/tls/server_certificate.pem
 - spec/tls/server_key.pem
 - spec/unit/bunny_spec.rb
@@ -228,7 +230,7 @@
       version: '0'
 requirements: []
 rubyforge_project: 
-rubygems_version: 2.5.1
+rubygems_version: 2.4.8
 signing_key: 
 specification_version: 4
 summary: Popular easy to use Ruby client for RabbitMQ
@@ -295,13 +297,11 @@
 - spec/stress/concurrent_publishers_stress_spec.rb
 - spec/stress/connection_open_close_spec.rb
 - spec/stress/long_running_consumer_spec.rb
+- spec/stress/wait_for_confirms_with_connection_loss_stress_spec.rb
 - spec/tls/ca_certificate.pem
 - spec/tls/ca_key.pem
-- spec/tls/cacert.pem
-- spec/tls/client_cert.pem
 - spec/tls/client_certificate.pem
 - spec/tls/client_key.pem
-- spec/tls/server_cert.pem
 - spec/tls/server_certificate.pem
 - spec/tls/server_key.pem
 - spec/unit/bunny_spec.rb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/higher_level_api/integration/basic_qos_spec.rb 
new/spec/higher_level_api/integration/basic_qos_spec.rb
--- old/spec/higher_level_api/integration/basic_qos_spec.rb     2016-04-04 
12:45:42.000000000 +0200
+++ new/spec/higher_level_api/integration/basic_qos_spec.rb     2016-06-11 
23:24:31.000000000 +0200
@@ -36,7 +36,10 @@
       ch = connection.create_channel
       expect {
         ch.prefetch(100_000)
-      }.to raise_error(ArgumentError)
+      }.to raise_error(
+        ArgumentError,
+        "prefetch count must be no greater than 
#{Bunny::Channel::MAX_PREFETCH_COUNT}, given: 100000"
+      )
     end
   end
 
@@ -45,7 +48,10 @@
       ch = connection.create_channel
       expect {
         ch.prefetch(-2)
-      }.to raise_error(ArgumentError)
+      }.to raise_error(
+        ArgumentError,
+        "prefetch count must be a positive integer, given: -2"
+      )
     end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/stress/concurrent_consumers_stress_spec.rb 
new/spec/stress/concurrent_consumers_stress_spec.rb
--- old/spec/stress/concurrent_consumers_stress_spec.rb 2016-04-04 
12:45:42.000000000 +0200
+++ new/spec/stress/concurrent_consumers_stress_spec.rb 2016-06-11 
23:24:31.000000000 +0200
@@ -5,7 +5,7 @@
   describe "Concurrent consumers sharing a connection" do
     before :all do
       @connection = Bunny.new(:user => "bunny_gem", :password => 
"bunny_password", :vhost => "bunny_testbed",
-                    :automatic_recovery => false, :continuation_timeout => 
6000)
+                    :automatic_recovery => false)
       @connection.start
     end
 
@@ -21,12 +21,13 @@
       let(:colors) { ["red", "blue", "white"] }
 
       let(:n) { 32 }
-      let(:m) { 1000 }
+      let(:m) { 5000 }
 
       it "successfully drain all queues" do
-        ch   = @connection.create_channel
+        ch0  = @connection.create_channel
+        ch0.confirm_select
         body = "абвг"
-        x    = ch.topic("bunny.stress.concurrent.consumers.topic", :durable => 
true)
+        x    = ch0.topic("bunny.stress.concurrent.consumers.topic", :durable 
=> true)
 
         chs  = {}
         n.times do |i|
@@ -54,14 +55,16 @@
             x.publish(body, :routing_key => colors.sample)
           end
           puts "Published #{(i + 1) * m} messages..."
+          ch0.wait_for_confirms
         end
 
         while any_not_drained?(qs)
           sleep 1.0
         end
-        puts "Drained all the queues..."
+        puts "Drained all queues, winding down..."
 
-        ch.close
+        ch0.close
+        chs.each { |_, ch| ch.close }
       end
     end
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/stress/concurrent_publishers_stress_spec.rb 
new/spec/stress/concurrent_publishers_stress_spec.rb
--- old/spec/stress/concurrent_publishers_stress_spec.rb        2016-04-04 
12:45:42.000000000 +0200
+++ new/spec/stress/concurrent_publishers_stress_spec.rb        2016-06-11 
23:24:31.000000000 +0200
@@ -4,7 +4,7 @@
 unless ENV["CI"]
   describe "Concurrent publishers sharing a connection" do
     before :all do
-      @connection = Bunny.new(:user => "bunny_gem", :password => 
"bunny_password", :vhost => "bunny_testbed", :automatically_recover => false, 
:continuation_timeout => 20.0)
+      @connection = Bunny.new(:user => "bunny_gem", :password => 
"bunny_password", :vhost => "bunny_testbed", :automatically_recover => false)
       @connection.start
     end
 
@@ -16,17 +16,13 @@
     let(:rate)        { 5_000 }
 
     it "successfully finish publishing" do
-      ch = @connection.create_channel
-
-      q    = ch.queue("", :exclusive => true)
       body = "сообщение"
 
-      # let the queue name be sent back by RabbitMQ
-      sleep 0.25
-
       chs  = {}
       concurrency.times do |i|
-        chs[i] = @connection.create_channel
+        ch     = @connection.create_channel
+        ch.confirm_select
+        chs[i] = ch
       end
 
       ts = []
@@ -34,14 +30,13 @@
       concurrency.times do |i|
         t = Thread.new do
           cht = chs[i]
-          x   = ch.default_exchange
+          x   = cht.default_exchange
 
-          5.times do |i|
-            rate.times do
-              x.publish(body, :routing_key => q.name)
-            end
-            puts "Published #{(i + 1) * rate} messages..."
+          rate.times do
+            x.publish(body)
           end
+          puts "Published #{rate} messages..."
+          cht.wait_for_confirms
         end
         t.abort_on_exception = true
 
@@ -51,6 +46,8 @@
       ts.each do |t|
         t.join
       end
+
+      chs.each { |_, ch| ch.close }
     end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/spec/stress/wait_for_confirms_with_connection_loss_stress_spec.rb 
new/spec/stress/wait_for_confirms_with_connection_loss_stress_spec.rb
--- old/spec/stress/wait_for_confirms_with_connection_loss_stress_spec.rb       
1970-01-01 01:00:00.000000000 +0100
+++ new/spec/stress/wait_for_confirms_with_connection_loss_stress_spec.rb       
2016-06-11 23:24:31.000000000 +0200
@@ -0,0 +1,131 @@
+require "spec_helper"
+
+unless ENV["CI"]
+  describe "Publisher with wait_for_confirms suffering a lost connection" do
+    before :all do
+      @connection = Bunny.new(
+        :user => "bunny_gem",
+        :password => "bunny_password",
+        :vhost => "bunny_testbed",
+        :recover_from_connection_close => true,
+        :network_recovery_interval => 0.2,
+        :recovery_attempts => 3,
+        :continuation_timeout => 3_000)
+      @connection.start
+    end
+
+    after :all do
+      @connection.close
+    end
+
+    let(:rate)        { 50 }
+    let(:inner_rate)  { 5 }
+    let(:max_retries) { 3 }
+    let(:routing_key) { 'confirms' }
+
+    let(:http_client) { RabbitMQ::HTTP::Client.new('http://127.0.0.1:15672') }
+
+    let!(:ch_pub) { @connection.create_channel.tap { |ch| ch.confirm_select } }
+    let!(:ch_sub) { @connection.create_channel }
+    let!(:topic) { 'bunny.stress.concurrent.confirms.topic' }
+    let!(:x) { ch_pub.topic(topic, :durable => true) }
+    let!(:q) do
+      ch_sub.queue('', :durable => true).tap do |q|
+        q.bind(x.name, :routing_key => routing_key)
+        q.purge
+      end
+    end
+
+    def close_all_connections!
+      http_client.list_connections.each do |conn_info|
+        begin
+          http_client.close_connection(conn_info.name)
+        rescue Bunny::ConnectionForced => e
+          # This is not a problem, but the specs intermittently believe it is.
+          printf "Rescued forced connection: #{e.inspect}\n"
+        end
+      end
+    end
+
+    def wait_for_recovery
+      sleep 1.5
+    end
+
+    after do
+      unless ch_sub.closed?
+        q.delete
+        ch_sub.close
+      end
+      ch_pub.close unless ch_pub.closed?
+    end
+
+    it "successfully publish and consume all messages" do
+      begin
+        subscriber_mutex = Mutex.new
+        ids_received = Set.new
+        message_count = nil
+
+        sub = Thread.new do
+          begin
+            q.subscribe do |delivery_info, meta, payload|
+              subscriber_mutex.synchronize do
+                ids_received << payload.to_i
+                message_count = q.message_count
+              end
+            end
+          end
+        end
+        sub.abort_on_exception = true
+
+        pub = Thread.new do
+          rate.times do |i|
+            retries = 0
+            begin
+              inner_rate.times do |j|
+                id = i * inner_rate + j
+                x.publish(id.to_s, :routing_key => routing_key)
+              end
+              until ch_pub.unconfirmed_set.empty?
+                unless ch_pub.wait_for_confirms
+                  raise "Not all messages acknowledged, nacks: 
#{ch_pub.nacked_set.inspect}"
+                end
+              end
+            rescue => e
+              puts "Rescued error in iteration #{i}: #{e.inspect}"
+              retries += 1
+              raise if retries > max_retries
+
+              puts "sleeping before retry #{retries}"
+              sleep 0.5
+              retry
+            end
+          end
+          puts "Published #{rate * inner_rate} messages..."
+        end
+        pub.abort_on_exception = true
+        sleep 0.2 while ids_received.size < 10
+
+        close_all_connections!
+        wait_for_recovery
+
+        pub.join
+
+        sleep 0.1 until message_count == 0
+        puts "Drained queue, winding down..."
+
+        q.delete
+        ch_pub.close
+        ch_sub.close
+        sub.kill
+
+        expect(ch_pub.unconfirmed_set).to be_empty
+
+        expected_ids = Set.new((rate * inner_rate).times)
+        missing_ids = expected_ids - ids_received
+        expect(missing_ids).to eq(Set.new)
+      ensure
+        sub.kill
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/tls/ca_certificate.pem 
new/spec/tls/ca_certificate.pem
--- old/spec/tls/ca_certificate.pem     2016-04-04 12:45:42.000000000 +0200
+++ new/spec/tls/ca_certificate.pem     2016-06-11 23:24:31.000000000 +0200
@@ -1,18 +1,18 @@
 -----BEGIN CERTIFICATE-----
-MIIC7jCCAdagAwIBAgIJAO45Jh9JetM2MA0GCSqGSIb3DQEBBQUAMCcxFTATBgNV
-BAMTDE15VGVzdFJvb3RDQTEOMAwGA1UEBxMFODA1NDcwHhcNMTQwOTEyMDg0ODQx
-WhcNMjQwOTA5MDg0ODQxWjAnMRUwEwYDVQQDEwxNeVRlc3RSb290Q0ExDjAMBgNV
-BAcTBTgwNTQ3MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzfvqL+nO
-vDEb3wLFiuRXKbyrBvNbQ4jb1lVQTbagR1kpv0cMHXM8q0kpq2PX+eG1kqcAzMv5
-W2QJm+xU3J6Fl9Lono6/iBasVAGJfOFg7lh79KaUqWg9i/1JqXGS0M5FyaFZfu5N
-c8ZGinjSqbP5de9ZJJIew/e0dSZ2JbshhbLyACIvSySeCZUGdckw0o74CtYIHeJC
-+leQ/fWV1PFZbbnQZM+ZSSK8oN5qxsq2KZIRaX/+PkuY0iYLMBbL1EAWxR5cptIi
-s+pdI8nB0juM4wb5yGTHyEDA/wKXXMKiD2xCERO8F0rjJbW7FfGje9UUPXD3w7vQ
-R0ARM3QKxsulRwIDAQABox0wGzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjAN
-BgkqhkiG9w0BAQUFAAOCAQEAHdTC6LAh3yLaogfJSpZdJT2eKGjvdU7uSf4xm339
-BqbnKo61w4JCLQA/U2ltsva5H0RfivQk0WqX0lN3YCYerWpjl2O4ovYh0SZfArwG
-CUhYTSYFdDNJMG6hqe7x7nzx32MUgBKR6M7GMhLbdxEkj6OOBi87FlD+Lgq90ruC
-eQRroEzlDwjs1FgK7iYkWN9kHYKdKTwUdBHjIuiF6PTxpyOHAXI6V7abNEX+zdrX
-18eq/MRU47vBQg/C7MZ/pJbTxaCH+BJ6nubk1S/ty4JWGLkJ3RXIwddvNQ2Y6smK
-grPqwejXT2DOhErPN5KKg0TGMxsGLxjoRW3XZIXQwJlWPQ==
+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
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/tls/ca_key.pem new/spec/tls/ca_key.pem
--- old/spec/tls/ca_key.pem     2016-04-04 12:45:42.000000000 +0200
+++ new/spec/tls/ca_key.pem     2016-06-11 23:24:31.000000000 +0200
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/tls/cacert.pem new/spec/tls/cacert.pem
--- old/spec/tls/cacert.pem     2016-04-04 12:45:42.000000000 +0200
+++ new/spec/tls/cacert.pem     1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIC5DCCAcygAwIBAgIJAMa8aNd9TfEZMA0GCSqGSIb3DQEBBQUAMCIxETAPBgNV
-BAMTCE15VGVzdENBMQ0wCwYDVQQHEwQxODE1MB4XDTEzMDYwMjE1NTQwMFoXDTE0
-MDYwMjE1NTQwMFowIjERMA8GA1UEAxMITXlUZXN0Q0ExDTALBgNVBAcTBDE4MTUw
-ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDSLh8ZM0+1wVrr4J9KZLLt
-VtGoKEhuTWYa+DvDbdUYaD/G06GfRqsM0eOKuJfoaMz3qY49j/bZXmuG64rGx5oq
-Lp6VBwAw1R3Pmw3rD7XgiK0/7mVmnC4nwQAs9/uCKeAMPHfMDAG33aalxb3FzJfa
-RUiSIY7y7Kt7nCVC53foTFxbt0EKm7wjey1S8P9XkCB8x+ZT5GetzoqulKxt/f1u
-0K/gVnMUvFmflR4hsx5qBNV6wFEYwMfi+C6q184aJv7jmjumimf9IBOcOkZrDnQD
-+7HeOeZAbMgLtCaacD2SH72s3hIHvgetbIJva+zJkbjjjA+Ycd824WjG+CiOEIch
-AgMBAAGjHTAbMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEB
-BQUAA4IBAQAvLziFQ56+vNyNAGDD8bQaUY8JElXj4X3vC0nFeN0zuPQz9Aa8UH4A
-Y7e/j3NS2mfYdqC8U3iYEXZwp4qk4/JZ9SkhRiaLbeIF7VT+xg+K/HDmBmwNZpQL
-b9bNBk9BeRMv4jJUuM/BE04nmqQnbD8h2QleT0A7uVe94ym86rHcimCYmZT7wEZ0
-D3TZPRnETwe2WtpAU3qB6Zd2ug/GulFdeugHe8bM0Kjz+BiK+Tmsa0SIN31t/uu4
-Tcxk1uFldIGPURAgs6MXxBHohOdJySBLrjsJWlD02Oxv9LeCfxej/gA6pZ4Wiyh/
-VtkyWoFlx/8n2S7IH1bKqMFy0SU/Fp3F
------END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/tls/client_cert.pem new/spec/tls/client_cert.pem
--- old/spec/tls/client_cert.pem        2016-04-04 12:45:42.000000000 +0200
+++ new/spec/tls/client_cert.pem        1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIC+zCCAeOgAwIBAgIBATANBgkqhkiG9w0BAQUFADAnMRUwEwYDVQQDEwxNeVRl
-c3RSb290Q0ExDjAMBgNVBAcTBTgwNTQ3MB4XDTE0MDkxMjA4NDg0MVoXDTI0MDkw
-OTA4NDg0MVowKjEXMBUGA1UEAxMObWVyY3VyaW8ubG9jYWwxDzANBgNVBAoTBmNs
-aWVudDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJd+NA0M21Kj1CyH
-WmnLzUAQAi3GawvLnxwyrlW3nfl1BLEL2kLHrHYS7S0giL0T/Zziw9BqNB2Fba3l
-RbI8d0JppuMXRRHnFTY/fLYpQlcwB8hT17NBk8euoU1r2VopCwDKP8rxAxLLL9Im
-2Cg+ksvZe+6yJPzAQ5aw1zc+UMSwJ8p2gAI7BI8Oekk506iccwbHwqVHH3DwCCXp
-0dRtzMeRqZY9lC1wsLHVYLl/Pc/xWtqjuk0j5px6RtrBoW16MaK43zH1nFlEA8KH
-c0RVFaQsQMVYBbxsVq54rymGInmmSk+vy5ZoFC1ItBRPSSgI1beaL5/4B/dJGI74
-7u/+cpsCAwEAAaMvMC0wCQYDVR0TBAIwADALBgNVHQ8EBAMCB4AwEwYDVR0lBAww
-CgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBALPEuvS/1/0IBM/Kyi0MHa6m
-KjltIm2Cp8iaTkziy9r2UDckvSqv8GW0itE69126j4L1iVUYNIVemUvcAwaX3YLf
-nN80XMjNl8mpSKwCXvKKXUTAFUQN+SPMbEC7Uzip1WgJGyc2T9ka8iN+nd1T7btU
-482+zf5bGh+d0E7c4j0jfpf/1+VkfG/Vn5/EpG51DCvYtgg3F3PR39mDmnvKJu8p
-eYYvk3Jab0r/v3cLdt5GgZ4/WXZCdVpGgfDd60miXh7DUWilXBRuntVxZequF/ZI
-obei8teP2T/4oos3GWPOLxEA8EnQsdUoXxK/2DTq+9G6PQTQNm2/kvR6hPKimBk=
------END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/tls/client_certificate.pem 
new/spec/tls/client_certificate.pem
--- old/spec/tls/client_certificate.pem 2016-04-04 12:45:42.000000000 +0200
+++ new/spec/tls/client_certificate.pem 2016-06-11 23:24:32.000000000 +0200
@@ -1,18 +1,18 @@
 -----BEGIN CERTIFICATE-----
-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
+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
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/tls/client_key.pem new/spec/tls/client_key.pem
--- old/spec/tls/client_key.pem 2016-04-04 12:45:42.000000000 +0200
+++ new/spec/tls/client_key.pem 2016-06-11 23:24:32.000000000 +0200
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/tls/server_cert.pem new/spec/tls/server_cert.pem
--- old/spec/tls/server_cert.pem        2016-04-04 12:45:42.000000000 +0200
+++ new/spec/tls/server_cert.pem        1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIC+zCCAeOgAwIBAgIBAjANBgkqhkiG9w0BAQUFADAnMRUwEwYDVQQDEwxNeVRl
-c3RSb290Q0ExDjAMBgNVBAcTBTgwNTQ3MB4XDTE0MDkxMjA4NDg0MloXDTI0MDkw
-OTA4NDg0MlowKjEXMBUGA1UEAxMObWVyY3VyaW8ubG9jYWwxDzANBgNVBAoTBnNl
-cnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALvQX6P7Tz0sNKNg
-yiEb71gg84gyOaaTnIbgPKHTJ9kFMLZFQ3HN05dHLwqH1noefauV6HVPESVVf01m
-Ph28jre9tBorPAaiIzuf2kKlpZolN7Q9d/5rb2Vw3dUpoZJoD4aL+u8cghmkzodV
-vts1WRIRjH/yTUc266+h6m9lIi9L9BCYMTAWOF0KHoXA2VgLLkQNv+2GKHFP32ZH
-1vXa98fxErpJ//3jRwP5m4t0PDSPlAw++bOiwgZb8r+vEOCyZE15BoukSi8rtibc
-tSpYsbyvWaoe/JQfGPI3St84DhrUPPm2FUMyWMeTmldcfyLA25/vQPha4JC4f4Bc
-CYvzCVUCAwEAAaMvMC0wCQYDVR0TBAIwADALBgNVHQ8EBAMCBSAwEwYDVR0lBAww
-CgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEFBQADggEBADWhd3ikOdCFNZfDy9If9txm
-WtiBJ8g3oWjj99zIvb0CNqp0Xv5jvWgw8DYXG5FZAA7g5sKrihkxKTtpYnKsTZ40
-HEcGRUqF/Z1LLeh7/OYMx597yBn86ZcqUyBIaIsEhHNa+yC1zHWa4rg1vpDwY/iI
-Mbewjy9KyB4n6w+3TpSHvhpEa5OJiDOMFePURsS3io9r7MGfFVTM0Cho1qIYT1vt
-tOoUXpKAJxu+6TwDXzMwoSmjMw5GtchqhpCHQcHBH9z1rGHh/VShGl/+rif4JZ98
-natbZ91esBaJKbWLUxH1U9Aol8wwYD4MzK3rvfImgjgig+htAqhCMxLu1z9VE+o=
------END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/tls/server_certificate.pem 
new/spec/tls/server_certificate.pem
--- old/spec/tls/server_certificate.pem 2016-04-04 12:45:42.000000000 +0200
+++ new/spec/tls/server_certificate.pem 2016-06-11 23:24:32.000000000 +0200
@@ -1,18 +1,18 @@
 -----BEGIN CERTIFICATE-----
-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
+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
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/tls/server_key.pem new/spec/tls/server_key.pem
--- old/spec/tls/server_key.pem 2016-04-04 12:45:42.000000000 +0200
+++ new/spec/tls/server_key.pem 2016-06-11 23:24:32.000000000 +0200
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----


Reply via email to