Hello community,

here is the log from the commit of package rabbitmq-server for openSUSE:Factory 
checked in at 2019-10-30 14:46:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rabbitmq-server (Old)
 and      /work/SRC/openSUSE:Factory/.rabbitmq-server.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rabbitmq-server"

Wed Oct 30 14:46:48 2019 rev:51 rq:743858 version:3.7.20

Changes:
--------
--- /work/SRC/openSUSE:Factory/rabbitmq-server/rabbitmq-server.changes  
2019-10-21 12:32:36.972247420 +0200
+++ 
/work/SRC/openSUSE:Factory/.rabbitmq-server.new.2990/rabbitmq-server.changes    
    2019-10-30 14:46:52.966122586 +0100
@@ -1,0 +2,8 @@
+Tue Oct 29 09:42:32 UTC 2019 - Gabriele Santomaggio <[email protected]>
+
+- Update to RabbitMQ version 3.7.20
+- Full release notes: 
https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.20
+- RabbitMQ 3.7.20 is a maintenance release that focuses on bug fixes.
+- RabbitMQ 3.7.x series is supported through March 2020.
+
+-------------------------------------------------------------------

Old:
----
  rabbitmq-server-3.7.19.tar.xz

New:
----
  rabbitmq-server-3.7.20.tar.xz

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

Other differences:
------------------
++++++ rabbitmq-server.spec ++++++
--- /var/tmp/diff_new_pack.7zehor/_old  2019-10-30 14:46:54.210123909 +0100
+++ /var/tmp/diff_new_pack.7zehor/_new  2019-10-30 14:46:54.210123909 +0100
@@ -33,7 +33,7 @@
 %define _make_args DESTDIR="%{buildroot}" PREFIX="%{_prefix}" 
RMQ_ROOTDIR=%{_rabbit_libdir} RMQ_ERLAPP_DIR=%{_rabbit_erllibdir} 
MAN_INSTALL_PATH="%{_mandir}" DOC_INSTALL_DIR=%{buildroot}/%{_docdir} 
VERSION=%{version} V=1
 
 Name:           rabbitmq-server
-Version:        3.7.19
+Version:        3.7.20
 Release:        0
 Summary:        A message broker supporting AMQP, STOMP and MQTT
 License:        MPL-1.1

++++++ rabbitmq-server-3.7.19.tar.xz -> rabbitmq-server-3.7.20.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rabbitmq-server-3.7.19/Makefile 
new/rabbitmq-server-3.7.20/Makefile
--- old/rabbitmq-server-3.7.19/Makefile 2019-09-25 11:55:44.000000000 +0200
+++ new/rabbitmq-server-3.7.20/Makefile 2019-10-24 15:33:03.000000000 +0200
@@ -227,7 +227,7 @@
 
 packages package-deb package-rpm \
 package-rpm-redhat package-rpm-fedora package-rpm-rhel6 package-rpm-rhel7 \
-package-rpm-suse package-rpm-opensuse package-rpm-sles11 \
+package-rpm-rhel8 package-rpm-suse package-rpm-opensuse package-rpm-sles11 \
 package-windows package-standalone-macosx \
 package-standalone-linux-x86_64 \
 package-standalone-freebsd-x86_64 \
Binary files old/rabbitmq-server-3.7.19/deps/.hex/cache.ets and 
new/rabbitmq-server-3.7.20/deps/.hex/cache.ets differ
Binary files 
old/rabbitmq-server-3.7.19/deps/.hex/packages/hexpm/observer_cli-1.5.2.tar and 
new/rabbitmq-server-3.7.20/deps/.hex/packages/hexpm/observer_cli-1.5.2.tar 
differ
Binary files 
old/rabbitmq-server-3.7.19/deps/.hex/packages/hexpm/observer_cli-1.5.3.tar and 
new/rabbitmq-server-3.7.20/deps/.hex/packages/hexpm/observer_cli-1.5.3.tar 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/amqp_client/src/amqp_main_reader.erl 
new/rabbitmq-server-3.7.20/deps/amqp_client/src/amqp_main_reader.erl
--- old/rabbitmq-server-3.7.19/deps/amqp_client/src/amqp_main_reader.erl        
2019-09-22 10:19:34.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/amqp_client/src/amqp_main_reader.erl        
2019-10-11 16:33:35.000000000 +0200
@@ -88,7 +88,7 @@
 handle_info({Tag, Sock, Reason}, State = #state{sock = Sock})
             when Tag =:= tcp_error; Tag =:= ssl_error ->
     handle_error(Reason, State);
-handle_info({timeout, TimerRef, idle_timeout}, State = #state{timer = 
TimerRef}) ->
+handle_info({timeout, _TimerRef, idle_timeout}, State) ->
     handle_error(timeout, State).
 
 handle_data(<<Type:8, Channel:16, Length:32, Payload:Length/binary, ?FRAME_END,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rabbitmq-server-3.7.19/deps/rabbit/src/rabbit.erl 
new/rabbitmq-server-3.7.20/deps/rabbit/src/rabbit.erl
--- old/rabbitmq-server-3.7.19/deps/rabbit/src/rabbit.erl       2019-10-02 
06:29:45.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbit/src/rabbit.erl       2019-10-22 
02:19:14.000000000 +0200
@@ -783,6 +783,10 @@
 wait_for_boot_to_finish(Node, PrintProgressReports) ->
     wait_for_boot_to_finish(Node, PrintProgressReports, ?BOOT_FINISH_TIMEOUT).
 
+wait_for_boot_to_finish(Node, PrintProgressReports, infinity) ->
+    %% This assumes that 100K iterations is close enough to "infinity".
+    %% Now that's deep.
+    do_wait_for_boot_to_finish(Node, PrintProgressReports, 100000);
 wait_for_boot_to_finish(Node, PrintProgressReports, Timeout) ->
     Iterations = Timeout div ?BOOT_STATUS_CHECK_INTERVAL,
     do_wait_for_boot_to_finish(Node, PrintProgressReports, Iterations).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbit/src/rabbit_epmd_monitor.erl 
new/rabbitmq-server-3.7.20/deps/rabbit/src/rabbit_epmd_monitor.erl
--- old/rabbitmq-server-3.7.19/deps/rabbit/src/rabbit_epmd_monitor.erl  
2019-10-02 06:29:45.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbit/src/rabbit_epmd_monitor.erl  
2019-10-22 02:19:14.000000000 +0200
@@ -61,17 +61,29 @@
                    me = Me,
                    host = Host,
                    port = undefined},
+    rabbit_log:info("epmd does not know us, re-registering as ~s~n", [Me]),
     {ok, ensure_timer(State)};
 init_handle_port_please({port, Port, _Version}, Mod, Me, Host) ->
+    rabbit_log:info("epmd monitor knows us, inter-node communication 
(distribution) port: ~p", [Port]),
     State = #state{mod = Mod,
                    me = Me,
                    host = Host,
                    port = Port},
+    {ok, ensure_timer(State)};
+init_handle_port_please({error, Error}, Mod, Me, Host) ->
+    rabbit_log:error("epmd monitor failed to retrieve our port from epmd: ~p", 
[Error]),
+    State = #state{mod = Mod,
+                   me = Me,
+                   host = Host,
+                   port = undefined},
     {ok, ensure_timer(State)}.
 
 handle_call(_Request, _From, State) ->
     {noreply, State}.
 
+handle_cast(check, State0) ->
+    {ok, State1} = check_epmd(State0),
+    {noreply, ensure_timer(State1#state{timer = undefined})};
 handle_cast(_Msg, State) ->
     {noreply, State}.
 
@@ -97,14 +109,19 @@
                           me   = Me,
                           host = Host,
                           port = Port}) ->
+    rabbit_log:debug("Asked to [re-]register this node (~s@~s) with epmd...", 
[Me, Host]),
     Port1 = case Mod:port_please(Me, Host) of
                 noport ->
                     rabbit_log:warning("epmd does not know us, re-registering 
~s at port ~b~n",
                                        [Me, Port]),
                     Port;
                 {port, NewPort, _Version} ->
-                    NewPort
+                    NewPort;
+                {error, Error} ->
+                    rabbit_log:error("epmd monitor failed to retrieve our port 
from epmd: ~p", [Error]),
+                    Port
             end,
     rabbit_nodes:ensure_epmd(),
     Mod:register_node(Me, Port1),
+    rabbit_log:debug("[Re-]registered this node (~s@~s) with epmd at port ~p", 
[Me, Host, Port1]),
     {ok, State#state{port = Port1}}.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbit/src/rabbit_feature_flags.erl 
new/rabbitmq-server-3.7.20/deps/rabbit/src/rabbit_feature_flags.erl
--- old/rabbitmq-server-3.7.19/deps/rabbit/src/rabbit_feature_flags.erl 
2019-10-02 06:29:45.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbit/src/rabbit_feature_flags.erl 
2019-10-22 02:19:14.000000000 +0200
@@ -250,6 +250,8 @@
               migration_fun/0,
               migration_fun_context/0]).
 
+-on_load(on_load/0).
+
 -spec list() -> feature_flags().
 %% @doc
 %% Lists all supported feature flags.
@@ -1645,8 +1647,9 @@
           end,
     case Ret of
         {error, pre_feature_flags_rabbitmq} ->
-            %% See run_feature_flags_mod_on_remote_node/4 for an
-            %% explanation why we consider this node a 3.7.x node.
+            %% See run_feature_flags_mod_on_remote_node/4 for
+            %% an explanation why we consider this node a 3.7.x
+            %% pre-feature-flags node.
             rabbit_log:debug(
               "Feature flags: no feature flags support on node `~s`, "
               "consider the feature flags unsupported: ~p",
@@ -1809,8 +1812,9 @@
                   {undef,
                    [{?MODULE, Function, Args, []}
                     | _]}}} ->
-            %% If rabbit_feature_flags:is_supported_locally/1 is undefined
-            %% on the remote node, we consider it to be a 3.7.x node.
+            %% If rabbit_feature_flags:Function() is undefined
+            %% on the remote node, we consider it to be a 3.7.x
+            %% pre-feature-flags node.
             %%
             %% Theoretically, it could be an older version (3.6.x and
             %% older). But the RabbitMQ version consistency check
@@ -1819,7 +1823,7 @@
             %% this situation from happening before we reach this point.
             rabbit_log:debug(
               "Feature flags: ~s:~s~p unavailable on node `~s`: "
-              "assuming it is a RabbitMQ 3.7.x node",
+              "assuming it is a RabbitMQ 3.7.x pre-feature-flags node",
               [?MODULE, Function, Args, Node]),
             {error, pre_feature_flags_rabbitmq};
         {badrpc, Reason} = Error ->
@@ -1844,8 +1848,9 @@
                      [Which, Node]),
     case run_feature_flags_mod_on_remote_node(Node, list, [Which], Timeout) of
         {error, pre_feature_flags_rabbitmq} ->
-            %% See run_feature_flags_mod_on_remote_node/4 for an
-            %% explanation why we consider this node a 3.7.x node.
+            %% See run_feature_flags_mod_on_remote_node/4 for
+            %% an explanation why we consider this node a 3.7.x
+            %% pre-feature-flags node.
             rabbit_log:debug(
               "Feature flags: no feature flags support on node `~s`, "
               "consider the list of feature flags empty", [Node]),
@@ -2268,3 +2273,63 @@
 share_new_feature_flags_after_app_load(FeatureFlags, Timeout) ->
     push_local_feature_flags_from_apps_unknown_remotely(
       node(), FeatureFlags, Timeout).
+
+on_load() ->
+    %% The goal of this `on_load()` code server hook is to prevent this
+    %% module from being loaded in an already running RabbitMQ node if
+    %% the running version does not have the feature flags subsystem.
+    %%
+    %% This situation happens when an upgrade overwrites RabbitMQ files
+    %% with the node still running. This is the case with many packages:
+    %% files are updated on disk, then a post-install step takes care of
+    %% restarting the service.
+    %%
+    %% The problem is that if many nodes in a cluster are updated at the
+    %% same time, one node running the newer version might query feature
+    %% flags on an old node where this module is already available
+    %% (because files were already overwritten). This causes the query
+    %% to report an unexpected answer and the newer node to refuse to
+    %% start.
+    %%
+    %% However, when the module is executed outside of RabbitMQ (for
+    %% debugging purpose or in the context of EUnit for instance), we
+    %% want to allow the load. That's why we first check if RabbitMQ is
+    %% actually running.
+    case rabbit:is_running() of
+        true ->
+            %% RabbitMQ is running.
+            %%
+            %% Now we want to differenciate a pre-feature-flags node
+            %% from one having the subsystem.
+            %%
+            %% To do that, we verify if the `feature_flags_file`
+            %% application environment variable is defined. With a
+            %% feature-flags-enabled node, this application environment
+            %% variable is defined by rabbitmq-server(8).
+            case application:get_env(rabbit, feature_flags_file) of
+                {ok, _} ->
+                    %% This is a feature-flags-enabled version. Loading
+                    %% the module is permitted.
+                    ok;
+                _ ->
+                    %% This is a pre-feature-flags version. We deny the
+                    %% load and report why, possibly specifying the
+                    %% version of RabbitMQ.
+                    Vsn = case application:get_key(rabbit, vsn) of
+                              {ok, V}   -> V;
+                              undefined -> "unknown version"
+                          end,
+                    "Refusing to load '" ?MODULE_STRING "' on this "
+                    "node. It appears to be running a pre-feature-flags "
+                    "version of RabbitMQ (" ++ Vsn ++ "). This is fine: "
+                    "a newer version of RabbitMQ was deployed on this "
+                    "node, but it was not restarted yet. This warning "
+                    "is probably caused by a remote node querying this "
+                    "node for its feature flags."
+            end;
+        false ->
+            %% RabbitMQ is not running. Loading the module is permitted
+            %% because this Erlang node will never be queried for its
+            %% feature flags.
+            ok
+    end.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbit_common/src/rabbit_log.erl 
new/rabbitmq-server-3.7.20/deps/rabbit_common/src/rabbit_log.erl
--- old/rabbitmq-server-3.7.19/deps/rabbit_common/src/rabbit_log.erl    
2019-09-22 10:19:34.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbit_common/src/rabbit_log.erl    
2019-10-21 11:41:17.000000000 +0200
@@ -31,7 +31,7 @@
 -include("rabbit_log.hrl").
 %%----------------------------------------------------------------------------
 
--type category() :: connection | channel | mirroring | queue | federation | 
upgrade.
+-type category() :: connection | channel | ldap | mirroring | queue | 
federation | upgrade.
 
 -spec debug(string()) -> 'ok'.
 -spec debug(string(), [any()]) -> 'ok'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_auth_backend_ldap/Makefile 
new/rabbitmq-server-3.7.20/deps/rabbitmq_auth_backend_ldap/Makefile
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_auth_backend_ldap/Makefile 
2019-10-02 23:28:57.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_auth_backend_ldap/Makefile 
2019-10-25 14:54:38.000000000 +0200
@@ -2,6 +2,8 @@
 PROJECT_DESCRIPTION = RabbitMQ LDAP Authentication Backend
 PROJECT_MOD = rabbit_auth_backend_ldap_app
 
+# Note:
+# Use of these default values in calls to get_expected_env_str/2
 define PROJECT_ENV
 [
            {servers,               undefined},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl
 2019-09-23 00:08:04.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl
 2019-10-14 21:46:35.000000000 +0200
@@ -219,9 +219,11 @@
 evaluate0({in_group_nested, DNPattern, Desc, Scope}, Args,
           #auth_user{impl = #impl{user_dn = UserDN}}, LDAP) ->
     GroupsBase = case env(group_lookup_base) of
-        none -> env(dn_lookup_base);
-        B    -> B
-    end,
+                     none ->
+                         get_expected_env_str(dn_lookup_base, none);
+                     B ->
+                         B
+                 end,
     GroupDN = fill(DNPattern, Args),
     EldapScope =
         case Scope of
@@ -692,6 +694,20 @@
 at_least(Ver) ->
     rabbit_misc:version_compare(erlang:system_info(version), Ver) =/= lt.
 
+% Note:
+% Default is configured in the Makefile
+get_expected_env_str(Key, Default) ->
+    V = case env(Key) of
+            Default ->
+                rabbit_log_ldap:warning("rabbitmq_auth_backend_ldap 
configuration key '~p' is set to "
+                                        "the default value of '~p', expected 
to get a non-default value~n",
+                                        [Key, Default]),
+                Default;
+            V0 ->
+                V0
+        end,
+    rabbit_data_coercion:to_list(V).
+
 env(F) ->
     {ok, V} = application:get_env(rabbitmq_auth_backend_ldap, F),
     V.
@@ -740,14 +756,19 @@
 vhost_if_defined(<<>>)  -> [];
 vhost_if_defined(VHost) -> [{vhost, VHost}].
 
-dn_lookup_when() -> case {env(dn_lookup_attribute), env(dn_lookup_bind)} of
-                        {none, _}       -> never;
-                        {_,    as_user}   -> postbind;
-                        %% make it more obvious what the invariants are,
-                        %% see rabbitmq/rabbitmq-auth-backend-ldap#94. MK.
-                        {_,    anon}      -> prebind;
-                        {_,    _}         -> prebind
-                    end.
+dn_lookup_when() ->
+    case {env(dn_lookup_attribute), env(dn_lookup_bind)} of
+        {none, DnLookupBind} ->
+            rabbit_log_ldap:warning(
+              "dn_lookup_attribute is 'none' but dn_lookup_bind is ~p. No DN 
lookup bind will be performed~n",
+              [DnLookupBind]),
+            never;
+        {_, as_user} -> postbind;
+        %% make it more obvious what the invariants are,
+        %% see rabbitmq/rabbitmq-auth-backend-ldap#94. MK.
+        {_, anon} -> prebind;
+        {_, _} -> prebind
+    end.
 
 username_to_dn_prebind(Username) ->
     with_ldap({ok, env(dn_lookup_bind)},
@@ -758,10 +779,11 @@
 
 dn_lookup(Username, LDAP) ->
     Filled = fill_user_dn_pattern(Username),
+    DnLookupBase = get_expected_env_str(dn_lookup_base, none),
+    DnLookupAttribute = get_expected_env_str(dn_lookup_attribute, none),
     case eldap:search(LDAP,
-                      [{base, env(dn_lookup_base)},
-                       {filter, eldap:equalityMatch(
-                                  env(dn_lookup_attribute), Filled)},
+                      [{base, DnLookupBase},
+                       {filter, eldap:equalityMatch(DnLookupAttribute, 
Filled)},
                        {attributes, ["distinguishedName"]}]) of
         {ok, {referral, Referrals}} ->
             {error, {referrals_not_supported, Referrals}};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex
    2019-09-24 17:10:35.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex
    2019-10-23 15:25:09.000000000 +0200
@@ -14,12 +14,18 @@
 ## Copyright (c) 2007-2019 Pivotal Software, Inc.  All rights reserved.
 
 defmodule RabbitMQ.CLI.Diagnostics.Helpers do
+  def test_connection(hostname, port, timeout) do
+      case :gen_tcp.connect(hostname, port, [], timeout) do
+          {:error, _} -> :gen_tcp.connect(hostname, port, [:inet6], timeout)
+          r -> r
+      end
+  end
+
   def check_port_connectivity(port, node_name, timeout) do
     regex = Regex.recompile!(~r/^(.+)@/)
     hostname = Regex.replace(regex, to_string(node_name), "") |> to_charlist
-
     try do
-      case :gen_tcp.connect(hostname, port, [], timeout) do
+      case test_connection(hostname, port, timeout) do
         {:error, _} ->
           false
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rabbitmq-server-3.7.19/deps/rabbitmq_cli/mix.lock 
new/rabbitmq-server-3.7.20/deps/rabbitmq_cli/mix.lock
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_cli/mix.lock       2019-10-02 
23:29:00.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_cli/mix.lock       2019-10-25 
14:54:40.000000000 +0200
@@ -1,7 +1,7 @@
 %{
   "csv": {:hex, :csv, "2.0.0", 
"c66fea89ba7862b94901baf0871285e9b73cad89c5fdb57a6386d2adcf29593e", [:mix], 
[{:parallel_stream, "~> 1.0.4", [hex: :parallel_stream, repo: "hexpm", 
optional: false]}], "hexpm"},
   "json": {:hex, :json, "1.2.5", 
"3682c18c6b07480df2122d0daf5c05457b42c1990f197ce3de53884e8ba834c4", [:mix], 
[{:benchee, "~> 0.8", [hex: :benchee, repo: "hexpm", optional: true]}, 
{:benchee_html, "~> 0.1", [hex: :benchee_html, repo: "hexpm", optional: true]}, 
{:exjsx, "~> 4.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:jason, "~> 
1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:jsone, "~> 1.4", [hex: 
:jsone, repo: "hexpm", optional: true]}, {:poison, "~> 3.0", [hex: :poison, 
repo: "hexpm", optional: true]}, {:tiny, "~> 1.0", [hex: :tiny, repo: "hexpm", 
optional: true]}], "hexpm"},
-  "observer_cli": {:hex, :observer_cli, "1.5.2", 
"6e93437f74a99708068a32b767b02432d113896275421409e3018d989236a65a", [:mix, 
:rebar3], [{:recon, "~>2.5.0", [hex: :recon, repo: "hexpm", optional: false]}], 
"hexpm"},
+  "observer_cli": {:hex, :observer_cli, "1.5.3", 
"d42e20054116c49d5242d3ff9e1913acccebe6015f449d6e312a5bc160e79a62", [:mix, 
:rebar3], [{:recon, "~>2.5.0", [hex: :recon, repo: "hexpm", optional: false]}], 
"hexpm"},
   "parallel_stream": {:hex, :parallel_stream, "1.0.6", 
"b967be2b23f0f6787fab7ed681b4c45a215a81481fb62b01a5b750fa8f30f76c", [:mix], [], 
"hexpm"},
   "recon": {:hex, :recon, "2.5.0", 
"2f7fcbec2c35034bade2f9717f77059dc54eb4e929a3049ca7ba6775c0bd66cd", [:mix, 
:rebar3], [], "hexpm"},
   "stdout_formatter": {:hex, :stdout_formatter, "0.2.3", 
"ec24868d8619757a68f0798357c7190807a1cfc42ce90c18c23760e59249a21a", [:mix, 
:rebar3], [], "hexpm"},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_federation_management/priv/www/js/tmpl/federation.ejs
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_federation_management/priv/www/js/tmpl/federation.ejs
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_federation_management/priv/www/js/tmpl/federation.ejs
      2019-09-23 02:42:41.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_federation_management/priv/www/js/tmpl/federation.ejs
      2019-10-25 06:17:18.000000000 +0200
@@ -84,8 +84,8 @@
     <td>
         <form action="#/federation-restart-link" method="delete" 
class="confirm">
         <input type="hidden" name="id" value="<%= link.id %>"/>
-        <input type="hidden" name="node" value="<%= link.node %>"/>
-        <input type="hidden" name="vhost" value="<%= link.vhost %>"/>
+        <input type="hidden" name="node" value="<%= fmt_node(link.node) %>"/>
+        <input type="hidden" name="vhost" value="<%= fmt_string(link.vhost) 
%>"/>
         <input type="submit" value="Restart"/>
         </form>
     </td>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt.erl 
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt.erl
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt.erl   
2019-09-23 21:58:24.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt.erl   
2019-10-22 13:56:57.000000000 +0200
@@ -11,7 +11,7 @@
 %% The Original Code is RabbitMQ.
 %%
 %% The Initial Developer of the Original Code is GoPivotal, Inc.
-%% Copyright (c) 2007-2017 Pivotal Software, Inc.  All rights reserved.
+%% Copyright (c) 2007-2019 Pivotal Software, Inc.  All rights reserved.
 %%
 
 -module(rabbit_mqtt).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_sup.erl
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_sup.erl
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_sup.erl
    2019-09-23 21:58:24.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_sup.erl
    2019-10-22 13:56:57.000000000 +0200
@@ -11,7 +11,7 @@
 %% The Original Code is RabbitMQ.
 %%
 %% The Initial Developer of the Original Code is GoPivotal, Inc.
-%% Copyright (c) 2007-2017 Pivotal Software, Inc.  All rights reserved.
+%% Copyright (c) 2007-2019 Pivotal Software, Inc.  All rights reserved.
 %%
 
 -module(rabbit_mqtt_connection_sup).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_frame.erl 
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_frame.erl
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_frame.erl     
2019-09-23 21:58:24.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_frame.erl     
2019-10-22 13:56:57.000000000 +0200
@@ -11,7 +11,7 @@
 %% The Original Code is RabbitMQ.
 %%
 %% The Initial Developer of the Original Code is GoPivotal, Inc.
-%% Copyright (c) 2007-2017 Pivotal Software, Inc.  All rights reserved.
+%% Copyright (c) 2007-2019 Pivotal Software, Inc.  All rights reserved.
 %%
 
 -module(rabbit_mqtt_frame).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl 
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl    
2019-09-23 21:58:24.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl    
2019-10-22 13:56:57.000000000 +0200
@@ -11,7 +11,7 @@
 %% The Original Code is RabbitMQ.
 %%
 %% The Initial Developer of the Original Code is GoPivotal, Inc.
-%% Copyright (c) 2007-2017 Pivotal Software, Inc.  All rights reserved.
+%% Copyright (c) 2007-2019 Pivotal Software, Inc.  All rights reserved.
 %%
 
 -module(rabbit_mqtt_reader).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_sup.erl 
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_sup.erl
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_sup.erl       
2019-09-23 21:58:24.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_sup.erl       
2019-10-22 13:56:57.000000000 +0200
@@ -11,7 +11,7 @@
 %% The Original Code is RabbitMQ.
 %%
 %% The Initial Developer of the Original Code is GoPivotal, Inc.
-%% Copyright (c) 2007-2017 Pivotal Software, Inc.  All rights reserved.
+%% Copyright (c) 2007-2019 Pivotal Software, Inc.  All rights reserved.
 %%
 
 -module(rabbit_mqtt_sup).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_util.erl 
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_util.erl
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_util.erl      
2019-09-23 21:58:24.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_util.erl      
2019-10-22 13:56:57.000000000 +0200
@@ -11,7 +11,7 @@
 %% The Original Code is RabbitMQ.
 %%
 %% The Initial Developer of the Original Code is GoPivotal, Inc.
-%% Copyright (c) 2007-2017 Pivotal Software, Inc.  All rights reserved.
+%% Copyright (c) 2007-2019 Pivotal Software, Inc.  All rights reserved.
 %%
 
 -module(rabbit_mqtt_util).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_aws/src/rabbit_peer_discovery_aws.erl
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_aws/src/rabbit_peer_discovery_aws.erl
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_aws/src/rabbit_peer_discovery_aws.erl
       2019-09-23 01:56:44.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_aws/src/rabbit_peer_discovery_aws.erl
       2019-10-24 20:14:57.000000000 +0200
@@ -90,7 +90,8 @@
     %% we cannot start this plugin yet since it depends on the rabbit app,
     %% which is in the process of being started by the time this function is 
called
     application:load(rabbitmq_peer_discovery_common),
-    rabbit_peer_discovery_httpc:maybe_configure_proxy().
+    rabbit_peer_discovery_httpc:maybe_configure_proxy(),
+    rabbit_peer_discovery_httpc:maybe_configure_inet6().
 
 -spec list_nodes() -> {ok, {Nodes :: list(), NodeType :: 
rabbit_types:node_type()}}.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_app.erl
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_app.erl
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_app.erl
     2019-09-23 01:56:43.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_app.erl
     2019-10-23 21:54:57.000000000 +0200
@@ -21,6 +21,7 @@
 
 start(_Type, _StartArgs) ->
     rabbit_peer_discovery_httpc:maybe_configure_proxy(),
+    rabbit_peer_discovery_httpc:maybe_configure_inet6(),
     rabbit_peer_discovery_common_sup:start_link().
 
 stop(_State) ->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl
  2019-09-23 01:56:43.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl
  2019-10-23 21:54:57.000000000 +0200
@@ -32,7 +32,8 @@
          post/6,
          put/6,
          put/7,
-         maybe_configure_proxy/0]).
+         maybe_configure_proxy/0,
+         maybe_configure_inet6/0]).
 
 %% Export all for unit tests
 -ifdef(TEST).
@@ -284,6 +285,19 @@
           ok
   end.
 
+%% @public
+%% @spec maybe_configure_inet6() -> Result
+%% @where Result = ok.
+%% @doc Configures HTTP[S] inet6 settings in httpc, if necessary
+%% @end
+-spec maybe_configure_inet6() -> ok.
+maybe_configure_inet6() ->
+    IpFamily = case proplists:get_value(inet6, inet:get_rc(), false) of
+                   true -> inet6;
+                   false -> inet
+               end,
+    httpc:set_option(ipfamily, IpFamily).
+
 %%--------------------------------------------------------------------
 %% @private
 %% @doc Set httpc proxy options.
@@ -299,7 +313,7 @@
       rabbit_log:debug(
         "Configuring HTTP client's ~s setting: ~p, exclusions: ~p",
         [Option, {Host, Port}, ProxyExclusions]),
-      httpc:set_options([{Option, {{Host, Port}, ProxyExclusions}}]);
+      httpc:set_option(Option, {{Host, Port}, ProxyExclusions});
     {error, Reason} ->
           rabbit_log:error("Failed to set HTTP client setting ~p"
                            " with value of ~p, exclusions of ~p: ~p",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl
   2019-09-23 01:56:43.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl
   2019-10-23 21:54:57.000000000 +0200
@@ -44,7 +44,9 @@
 -type stringifyable() :: atom() | binary() | string() | integer().
 
 
--spec getenv(Key :: string()) -> string() | false.
+-spec getenv(Key :: string() | undefined) -> string() | false.
+getenv(undefined) ->
+  false;
 getenv(Key) ->
   process_getenv_value(Key, os:getenv(Key)).
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_consul/include/rabbit_peer_discovery_consul.hrl
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_consul/include/rabbit_peer_discovery_consul.hrl
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_consul/include/rabbit_peer_discovery_consul.hrl
     2019-09-23 02:13:34.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_consul/include/rabbit_peer_discovery_consul.hrl
     2019-10-24 20:33:33.000000000 +0200
@@ -75,6 +75,10 @@
                                                    env_variable  = 
"CONSUL_SVC_TAGS",
                                                    default_value = []
                                                   },
+          consul_svc_meta                    => 
#peer_discovery_config_entry_meta{
+                                                   type          = list,
+                                                   default_value = []
+                                                  },
           consul_deregister_after            => 
#peer_discovery_config_entry_meta{
                                                    type          = integer,
                                                    env_variable  = 
"CONSUL_DEREGISTER_AFTER",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_consul/priv/schema/rabbitmq_peer_discovery_consul.schema
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_consul/priv/schema/rabbitmq_peer_discovery_consul.schema
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_consul/priv/schema/rabbitmq_peer_discovery_consul.schema
    2019-09-23 02:13:34.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_consul/priv/schema/rabbitmq_peer_discovery_consul.schema
    2019-10-24 20:33:33.000000000 +0200
@@ -258,6 +258,26 @@
     end
 end}.
 
+%% service metadata
+
+{mapping, "cluster_formation.consul.svc_meta", 
"rabbit.cluster_formation.peer_discovery_consul.consul_svc_meta", [
+    {datatype, {enum, [none]}}
+]}.
+
+{mapping, "cluster_formation.consul.svc_meta.$name", 
"rabbit.cluster_formation.peer_discovery_consul.consul_svc_meta", [
+    {datatype, string}
+]}.
+
+{translation, "rabbit.cluster_formation.peer_discovery_consul.consul_svc_meta",
+fun(Conf) ->
+    case cuttlefish:conf_get("cluster_formation.consul.svc_meta", Conf, 
undefined) of
+        none -> [];
+        _    ->
+          Pairs = 
cuttlefish_variable:filter_by_prefix("cluster_formation.consul.svc_meta", Conf),
+          [{list_to_binary(lists:last(Segments)), list_to_binary(V)} || 
{Segments, V} <- Pairs]
+    end
+end}.
+
 %% lock key prefix
 
 {mapping, "cluster_formation.consul.lock_prefix", 
"rabbit.cluster_formation.peer_discovery_consul.consul_lock_prefix", [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl
 2019-09-23 02:13:34.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl
 2019-10-24 20:33:33.000000000 +0200
@@ -50,7 +50,8 @@
     %% we cannot start this plugin yet since it depends on the rabbit app,
     %% which is in the process of being started by the time this function is 
called
     application:load(rabbitmq_peer_discovery_common),
-    rabbit_peer_discovery_httpc:maybe_configure_proxy().
+    rabbit_peer_discovery_httpc:maybe_configure_proxy(),
+    rabbit_peer_discovery_httpc:maybe_configure_inet6().
 
 -spec list_nodes() -> {ok, {Nodes :: list(), NodeType :: 
rabbit_types:node_type()}} | {error, Reason :: string()}.
 
@@ -269,7 +270,8 @@
   Payload3 = registration_body_maybe_add_address(Payload2),
   Payload4 = registration_body_add_port(Payload3),
   Payload5 = registration_body_maybe_add_check(Payload4),
-  registration_body_maybe_add_tag(Payload5).
+  Payload6 = registration_body_maybe_add_tag(Payload5),
+  registration_body_maybe_add_meta(Payload6).
 
 -spec registration_body_add_id() -> list().
 registration_body_add_id() ->
@@ -356,6 +358,27 @@
   lists:append(Payload, [{'Tags', [rabbit_data_coercion:to_atom(Cluster)] ++ 
[rabbit_data_coercion:to_atom(X) || X <- Tags]}]).
 
 
+-spec registration_body_maybe_add_meta(Payload :: list()) -> list().
+registration_body_maybe_add_meta(Payload) ->
+  M = ?CONFIG_MODULE:config_map(?BACKEND_CONFIG_KEY),
+  ClusterName = get_config_key(cluster_name, M),
+  Meta = ?UTIL_MODULE:as_list(get_config_key(consul_svc_meta, M)),
+  registration_body_maybe_add_meta(Payload, ClusterName, Meta).
+
+-spec registration_body_maybe_add_meta(Payload :: list(),
+                                       ClusterName :: string(),
+                                       Meta :: list()) -> list().
+registration_body_maybe_add_meta(Payload, "default", []) ->
+  Payload;
+registration_body_maybe_add_meta(Payload, "default", Meta) ->
+  lists:append(Payload, [{<<"meta">>, Meta}]);
+registration_body_maybe_add_meta(Payload, _ClusterName, []) ->
+  Payload;
+registration_body_maybe_add_meta(Payload, ClusterName, Meta) ->
+  Merged = maps:to_list(maps:merge(#{<<"cluster">> => 
rabbit_data_coercion:to_binary(ClusterName)}, maps:from_list(Meta))),
+  lists:append(Payload, [{<<"meta">>, Merged}]).
+
+
 -spec validate_addr_parameters(false | true, false | true) -> false | true.
 validate_addr_parameters(false, true) ->
     rabbit_log:warning("The parameter CONSUL_SVC_ADDR_NODENAME" ++
@@ -517,7 +540,7 @@
 %% @end
 %%--------------------------------------------------------------------
 -spec consul_session_create(Query, Headers, Body) -> {ok, term()} | {error, 
Reason::string()} when
-      Query :: [autocluster_httpc:query_component()],
+      Query :: list(),
       Headers :: [{string(), string()}],
       Body :: term().
 consul_session_create(Query, Headers, Body) ->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_etcd/src/rabbit_peer_discovery_etcd.erl
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_etcd/src/rabbit_peer_discovery_etcd.erl
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_etcd/src/rabbit_peer_discovery_etcd.erl
     2019-09-23 02:16:43.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_etcd/src/rabbit_peer_discovery_etcd.erl
     2019-10-24 20:32:57.000000000 +0200
@@ -44,7 +44,8 @@
     %% we cannot start this plugin yet since it depends on the rabbit app,
     %% which is in the process of being started by the time this function is 
called
     application:load(rabbitmq_peer_discovery_common),
-    ?HTTPC_MODULE:maybe_configure_proxy().
+    ?HTTPC_MODULE:maybe_configure_proxy(),
+    ?HTTPC_MODULE:maybe_configure_inet6().
 
 
 -spec list_nodes() -> {ok, {Nodes :: list(), NodeType :: 
rabbit_types:node_type()}} | {error, Reason :: string()}.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_rbac.yaml
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_rbac.yaml
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_rbac.yaml
    2019-09-23 02:47:04.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_rbac.yaml
    2019-10-24 11:37:23.000000000 +0200
@@ -4,6 +4,9 @@
 metadata:
   name: rabbitmq
   namespace: test-rabbitmq
+# Required from EKS 1.13
+# 
https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-the-default-service-account-to-access-the-api-server
+automountServiceAccountToken: true
 ---
 kind: Role
 apiVersion: rbac.authorization.k8s.io/v1beta1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_statefulsets.yaml
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_statefulsets.yaml
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_statefulsets.yaml
    2019-09-23 02:47:04.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_statefulsets.yaml
    2019-10-24 11:37:23.000000000 +0200
@@ -70,6 +70,10 @@
     spec:
       serviceAccountName: rabbitmq
       terminationGracePeriodSeconds: 10
+      nodeSelector:
+        # Use Linux nodes in a mixed OS kubernetes cluster.
+        # Learn more at 
https://kubernetes.io/docs/reference/kubernetes-api/labels-annotations-taints/#kubernetes-io-os
+        kubernetes.io/os: linux
       containers:
       - name: rabbitmq-k8s
         image: rabbitmq:3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_k8s/src/rabbit_peer_discovery_k8s.erl
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_k8s/src/rabbit_peer_discovery_k8s.erl
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_k8s/src/rabbit_peer_discovery_k8s.erl
       2019-09-23 02:47:04.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_k8s/src/rabbit_peer_discovery_k8s.erl
       2019-10-24 11:37:23.000000000 +0200
@@ -47,7 +47,8 @@
     %% we cannot start this plugin yet since it depends on the rabbit app,
     %% which is in the process of being started by the time this function is 
called
     application:load(rabbitmq_peer_discovery_common),
-    rabbit_peer_discovery_httpc:maybe_configure_proxy().
+    rabbit_peer_discovery_httpc:maybe_configure_proxy(),
+    rabbit_peer_discovery_httpc:maybe_configure_inet6().
 
 -spec list_nodes() -> {ok, {Nodes :: list(), NodeType :: 
rabbit_types:node_type()}}.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_shovel_management/priv/www/js/tmpl/shovels.ejs
 
new/rabbitmq-server-3.7.20/deps/rabbitmq_shovel_management/priv/www/js/tmpl/shovels.ejs
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_shovel_management/priv/www/js/tmpl/shovels.ejs
     2019-09-23 02:47:04.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_shovel_management/priv/www/js/tmpl/shovels.ejs
     2019-10-25 06:33:28.000000000 +0200
@@ -60,8 +60,8 @@
 <% if (shovel.type == 'dynamic') { %>
     <td>
      <form action="#/shovel-restart-link" method="delete" class="confirm">
-     <input type="hidden" name="name" value="<%= shovel.name %>"/>
-     <input type="hidden" name="vhost" value="<%= shovel.vhost %>"/>
+     <input type="hidden" name="name" value="<%= fmt_node(shovel.name) %>"/>
+     <input type="hidden" name="vhost" value="<%= fmt_string(shovel.vhost) 
%>"/>
      <input type="submit" value="Restart"/>
      </form>
     </td>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rabbitmq-server-3.7.19/deps/rabbitmq_tracing/src/rabbit_tracing_files.erl 
new/rabbitmq-server-3.7.20/deps/rabbitmq_tracing/src/rabbit_tracing_files.erl
--- 
old/rabbitmq-server-3.7.19/deps/rabbitmq_tracing/src/rabbit_tracing_files.erl   
    2019-09-23 02:55:54.000000000 +0200
+++ 
new/rabbitmq-server-3.7.20/deps/rabbitmq_tracing/src/rabbit_tracing_files.erl   
    2019-10-18 00:44:59.000000000 +0200
@@ -46,6 +46,12 @@
 %%--------------------------------------------------------------------
 
 file_info(Name) ->
-    {ok, Info} = file:read_file_info(full_path(Name)),
-    [{name, list_to_binary(Name)},
-     {size, Info#file_info.size}].
+    Size = case file:read_file_info(full_path(Name)) of
+               {ok, Info} ->
+                   Info#file_info.size;
+               {error, Error} ->
+                   rabbit_log:warning("error getting file info for ~s: ~p",
+                                      [Name, Error]),
+                   0
+           end,
+    [{name, list_to_binary(Name)}, {size, Size}].
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rabbitmq-server-3.7.19/git-revisions.txt 
new/rabbitmq-server-3.7.20/git-revisions.txt
--- old/rabbitmq-server-3.7.19/git-revisions.txt        2019-10-02 
23:29:03.000000000 +0200
+++ new/rabbitmq-server-3.7.20/git-revisions.txt        2019-10-25 
14:54:43.000000000 +0200
@@ -1,8 +1,8 @@
-RabbitMQ Server 3.7.19
-rabbitmq_server_release b5667778becd4e810da0902f6341bfcd29db9515 
-amqp10_client 9b34f676642d08883fcc3fe38a9f65fe37ca0bc7 v3.7.18
-amqp10_common 2603f6dd5d38e53928e94260fee76a2c0c2415aa v3.7.18
-amqp_client 818f3faf135f36e4a9b2f849079daf1a63dd79c1 v3.7.18
+RabbitMQ Server 3.7.20
+rabbitmq_server_release ef4ee54e097d0f870105b66f0bb5c12f8b5ff249 
+amqp10_client 9b34f676642d08883fcc3fe38a9f65fe37ca0bc7 v3.7.19
+amqp10_common 2603f6dd5d38e53928e94260fee76a2c0c2415aa v3.7.19
+amqp_client 47d244d8948c220e32027aadd2a94f831969ba83 
 cowboy  
 cowlib 8588724cf91ddbb53b9c35ed665866556b217323 2.7.0
 credentials_obfuscation  
@@ -11,43 +11,43 @@
 jsx  
 lager  
 observer_cli  
-rabbit c83e056a22a536a4003a573dc1be01a54be76098 
-rabbit_common 6945aa257047f4c20a7fae2b3dadb4ce9f2b3210 v3.7.18
-rabbitmq_amqp1_0 efebe416a5bdcbef29a9102f5a95e4d094b67474 v3.7.18
-rabbitmq_auth_backend_cache 745233e297dd8110660fae55322a7878b489151a v3.7.18
-rabbitmq_auth_backend_http c130398b7d2abf45be897d67499263d3beddbb1a v3.7.18
-rabbitmq_auth_backend_ldap 32eaff6a19747eea8ce11d8860aac5c8a6fbbfe2 v3.7.18
-rabbitmq_auth_mechanism_ssl decabd86963e535dc3f326c408e5279167ee553b v3.7.18
-rabbitmq_aws e64adca1d513ea3d86aafb68a6c9ba0047da1985 v3.7.18
-rabbitmq_cli e4b957dc9d57df475b50d38e790664c8e059d3bd 
-rabbitmq_codegen b808d4231384eeaa11af0e8f26436ee5b6f96bec v3.7.18
-rabbitmq_consistent_hash_exchange 5ff7f6718413bcc6427c92c4b3ab5bea1360acf3 
v3.7.18
-rabbitmq_event_exchange d2518a66ced5db5404e8d1da69ca36ec4b0db206 
-rabbitmq_federation e6f0e2c6b62dca303ec4f870bbd1ae1216c74651 v3.7.18
-rabbitmq_federation_management 1ae889a41b411a9c2c832d669c52c1c367cc1292 v3.7.18
-rabbitmq_jms_topic_exchange 70f89eda4650daf9e366f15b2bed05051d91d23c v3.7.18
-rabbitmq_management a19a05943c75195ed4bb8825e4b9535413ccdea2 
-rabbitmq_management_agent bcd12aecfd95dc8e0109cc6d9c0ce6b72ec6e9a7 v3.7.18
-rabbitmq_mqtt db26e20e6decf7cc6730fcd8087eae9c96b32a67 
-rabbitmq_peer_discovery_aws 0ade1fbd762211f73bccd5cb3d1838ace735369b v3.7.18
-rabbitmq_peer_discovery_common 03daa37608f05745fe0ea4dbbd4c30397aa83093 v3.7.18
-rabbitmq_peer_discovery_consul 7b8d63cd1194bd1c2828fb4b8d61645812a81fe9 v3.7.18
-rabbitmq_peer_discovery_etcd 744cec458f72cd489fafa2215465b22fb0d6d846 v3.7.18
-rabbitmq_peer_discovery_k8s b14f1945e4d68d63d94772944a22eb1fd987bd3b v3.7.18
-rabbitmq_random_exchange 62ac0effd3e64518758e52aadcf2a7d49cec2ce3 v3.7.18
-rabbitmq_recent_history_exchange ad2e479cf76fbb3c8a125bd4b39e6e85b5f01157 
v3.7.18
-rabbitmq_sharding ed15e34adce9cfa330481c1450ed0eb857420bb5 v3.7.18
-rabbitmq_shovel 858ca0e51f21e494af11f9d496bdceedff43af9d 
-rabbitmq_shovel_management d17c13272c135fa7e50f3b4e36e29b498e84a8e5 v3.7.18
-rabbitmq_stomp 000226a067e9397a7dedcc871c15572f37bf8562 
-rabbitmq_top 7dfe45fee14628f1b5bb9f424c28500981fe140e v3.7.18
-rabbitmq_tracing 20bdcea7953a66067f8b3cf259170c89d7e0c428 v3.7.18
-rabbitmq_trust_store ab8138c3a38d6c5bbc0ca862b01995c0f70198a1 v3.7.18
-rabbitmq_web_dispatch 473d3af6226ba5673461aed74a8e1e060461c593 v3.7.18
-rabbitmq_web_mqtt 4e826a436f8ff81e761b1eb732a43f9ac9396ff5 v3.7.18
-rabbitmq_web_mqtt_examples dce1cb830ab85a93515781e596ff29d268fa16d0 v3.7.18
-rabbitmq_web_stomp 5b6cdf44ecaec6cc35b6e8049c56eb0a0068c9b2 v3.7.18
-rabbitmq_web_stomp_examples 8e1dc308359e20ea34882d1b664d8529849fed6d v3.7.18
+rabbit 39b57573df9ab26d98724235b1be12a9773e6c11 
+rabbit_common fe67d981c2c393b053c9df6b7f6523c8f484e4d0 
+rabbitmq_amqp1_0 efebe416a5bdcbef29a9102f5a95e4d094b67474 v3.7.19
+rabbitmq_auth_backend_cache 745233e297dd8110660fae55322a7878b489151a v3.7.19
+rabbitmq_auth_backend_http c130398b7d2abf45be897d67499263d3beddbb1a v3.7.19
+rabbitmq_auth_backend_ldap 6a9560000e676ced23933c4bf4474ef5b9845698 
+rabbitmq_auth_mechanism_ssl decabd86963e535dc3f326c408e5279167ee553b v3.7.19
+rabbitmq_aws e64adca1d513ea3d86aafb68a6c9ba0047da1985 v3.7.19
+rabbitmq_cli 6aaa2fbde7e5172a9e933bcbebfacbcf397b0a85 
+rabbitmq_codegen b808d4231384eeaa11af0e8f26436ee5b6f96bec v3.7.19
+rabbitmq_consistent_hash_exchange 5ff7f6718413bcc6427c92c4b3ab5bea1360acf3 
v3.7.19
+rabbitmq_event_exchange d2518a66ced5db5404e8d1da69ca36ec4b0db206 v3.7.19
+rabbitmq_federation e6f0e2c6b62dca303ec4f870bbd1ae1216c74651 v3.7.19
+rabbitmq_federation_management 7dfd6f98688e54cfbdc0370537df705cfb65177e 
+rabbitmq_jms_topic_exchange 70f89eda4650daf9e366f15b2bed05051d91d23c v3.7.19
+rabbitmq_management a19a05943c75195ed4bb8825e4b9535413ccdea2 v3.7.19
+rabbitmq_management_agent bcd12aecfd95dc8e0109cc6d9c0ce6b72ec6e9a7 v3.7.19
+rabbitmq_mqtt f73d4021eaddca5c3a0e7be33ffcb1331b078889 
+rabbitmq_peer_discovery_aws 45c208a21f734db2ecc5cc253060e7ed03b0e63c 
+rabbitmq_peer_discovery_common 9a5913c2577d2693b99d7a84b67ae08aaf3cd511 
+rabbitmq_peer_discovery_consul b0fd6a01b288cb29abfc3263d6836ff7f34fd45e 
+rabbitmq_peer_discovery_etcd cdb9ccc888a4a25cb2e4265e6b55214f01a828cc 
+rabbitmq_peer_discovery_k8s 2da5a78716361c0d37a09fc7b6b1f11c4f0ee5ef 
+rabbitmq_random_exchange 62ac0effd3e64518758e52aadcf2a7d49cec2ce3 v3.7.19
+rabbitmq_recent_history_exchange ad2e479cf76fbb3c8a125bd4b39e6e85b5f01157 
v3.7.19
+rabbitmq_sharding ed15e34adce9cfa330481c1450ed0eb857420bb5 v3.7.19
+rabbitmq_shovel 858ca0e51f21e494af11f9d496bdceedff43af9d v3.7.19
+rabbitmq_shovel_management 4ed231a13054f9bab228462c82dfa977429436c8 
+rabbitmq_stomp 000226a067e9397a7dedcc871c15572f37bf8562 v3.7.19
+rabbitmq_top 7dfe45fee14628f1b5bb9f424c28500981fe140e v3.7.19
+rabbitmq_tracing e5772822957c2c636b63ba484afdfd8d64063335 
+rabbitmq_trust_store ab8138c3a38d6c5bbc0ca862b01995c0f70198a1 v3.7.19
+rabbitmq_web_dispatch 473d3af6226ba5673461aed74a8e1e060461c593 v3.7.19
+rabbitmq_web_mqtt 4e826a436f8ff81e761b1eb732a43f9ac9396ff5 v3.7.19
+rabbitmq_web_mqtt_examples dce1cb830ab85a93515781e596ff29d268fa16d0 v3.7.19
+rabbitmq_web_stomp 5b6cdf44ecaec6cc35b6e8049c56eb0a0068c9b2 v3.7.19
+rabbitmq_web_stomp_examples 8e1dc308359e20ea34882d1b664d8529849fed6d v3.7.19
 ranch  
 recon  
 stdout_formatter  


Reply via email to