diff --git a/.gitignore b/.gitignore index 7679c4a..9b427f6 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,4 @@ rabbitmq-server-1.8.0.tar.gz /rabbitmq-server-3.6.12.tar.xz /rabbitmq-server-3.6.14.tar.xz /rabbitmq-server-3.6.15.tar.xz +/rabbitmq-server-3.6.16.tar.xz diff --git a/rabbitmq-server-0003-Allow-guest-login-from-non-loopback-connections.patch b/rabbitmq-server-0003-Allow-guest-login-from-non-loopback-connections.patch index 4136faa..a8dc1eb 100644 --- a/rabbitmq-server-0003-Allow-guest-login-from-non-loopback-connections.patch +++ b/rabbitmq-server-0003-Allow-guest-login-from-non-loopback-connections.patch @@ -4,10 +4,10 @@ Subject: [PATCH] Allow guest login from non-loopback connections diff --git a/Makefile b/Makefile -index 2f91e3f96..d92e27da7 100644 +index 8cb133ab1..85215122c 100644 --- a/Makefile +++ b/Makefile -@@ -37,7 +37,7 @@ define PROJECT_ENV +@@ -38,7 +38,7 @@ define PROJECT_ENV {default_user_tags, [administrator]}, {default_vhost, <<"/">>}, {default_permissions, [<<".*">>, <<".*">>, <<".*">>]}, diff --git a/rabbitmq-server-0005-Add-special-case-in-handle_other-for-normal-TCP-port.patch b/rabbitmq-server-0005-Add-special-case-in-handle_other-for-normal-TCP-port.patch deleted file mode 100644 index e0971ea..0000000 --- a/rabbitmq-server-0005-Add-special-case-in-handle_other-for-normal-TCP-port.patch +++ /dev/null @@ -1,134 +0,0 @@ -From: Luke Bakken -Date: Tue, 13 Mar 2018 09:00:50 -0700 -Subject: [PATCH] Add special case in handle_other for normal TCP port exit - -Handle noport at epmd monitor startup - -Handle EXIT from TCP port more gracefully - -Ensure that Parent pid is matched - -diff --git a/src/rabbit_epmd_monitor.erl b/src/rabbit_epmd_monitor.erl -index 9d8044e6e..1a14a640d 100644 ---- a/src/rabbit_epmd_monitor.erl -+++ b/src/rabbit_epmd_monitor.erl -@@ -48,16 +48,26 @@ - %% epmd" as a shutdown or uninstall step. - %% ---------------------------------------------------------------------------- - --start_link() -> gen_server:start_link({local, ?SERVER}, ?MODULE, [], []). -+start_link() -> -+ gen_server:start_link({local, ?SERVER}, ?MODULE, [], []). - - init([]) -> - {Me, Host} = rabbit_nodes:parts(node()), - Mod = net_kernel:epmd_module(), -- {port, Port, _Version} = Mod:port_please(Me, Host), -- {ok, ensure_timer(#state{mod = Mod, -- me = Me, -- host = Host, -- port = Port})}. -+ init_handle_port_please(Mod:port_please(Me, Host), Mod, Me, Host). -+ -+init_handle_port_please(noport, Mod, Me, Host) -> -+ State = #state{mod = Mod, -+ me = Me, -+ host = Host, -+ port = undefined}, -+ {ok, ensure_timer(State)}; -+init_handle_port_please({port, Port, _Version}, Mod, Me, Host) -> -+ State = #state{mod = Mod, -+ me = Me, -+ host = Host, -+ port = Port}, -+ {ok, ensure_timer(State)}. - - handle_call(_Request, _From, State) -> - {noreply, State}. -@@ -65,9 +75,9 @@ handle_call(_Request, _From, State) -> - handle_cast(_Msg, State) -> - {noreply, State}. - --handle_info(check, State) -> -- check_epmd(State), -- {noreply, ensure_timer(State#state{timer = undefined})}; -+handle_info(check, State0) -> -+ {ok, State1} = check_epmd(State0), -+ {noreply, ensure_timer(State1#state{timer = undefined})}; - - handle_info(_Info, State) -> - {noreply, State}. -@@ -83,15 +93,18 @@ code_change(_OldVsn, State, _Extra) -> - ensure_timer(State) -> - rabbit_misc:ensure_timer(State, #state.timer, ?CHECK_FREQUENCY, check). - --check_epmd(#state{mod = Mod, -- me = Me, -- host = Host, -- port = Port}) -> -- 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]), -- rabbit_nodes:ensure_epmd(), -- Mod:register_node(Me, Port); -- _ -> ok -- end. -+check_epmd(State = #state{mod = Mod, -+ me = Me, -+ host = Host, -+ port = Port}) -> -+ 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 -+ end, -+ rabbit_nodes:ensure_epmd(), -+ Mod:register_node(Me, Port1), -+ {ok, State#state{port = Port1}}. -diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl -index 24de35e7e..a6cca9438 100644 ---- a/src/rabbit_reader.erl -+++ b/src/rabbit_reader.erl -@@ -563,9 +563,14 @@ handle_other({channel_closing, ChPid}, State) -> - ok = rabbit_channel:ready_for_close(ChPid), - {_, State1} = channel_cleanup(ChPid, State), - maybe_close(control_throttle(State1)); -+handle_other({'EXIT', Parent, normal}, State = #v1{parent = Parent}) -> -+ %% rabbitmq/rabbitmq-server#544 -+ %% The connection port process has exited due to the TCP socket being closed. -+ %% Handle this case in the same manner as receiving {error, closed} -+ stop(closed, State); - handle_other({'EXIT', Parent, Reason}, State = #v1{parent = Parent}) -> -- terminate(io_lib:format("broker forced connection closure " -- "with reason '~w'", [Reason]), State), -+ Msg = io_lib:format("broker forced connection closure with reason '~w'", [Reason]), -+ terminate(Msg, State), - %% this is what we are expected to do according to - %% http://www.erlang.org/doc/man/sys.html - %% -@@ -794,7 +799,7 @@ wait_for_channel_termination(N, TimerRef, - wait_for_channel_termination(N-1, TimerRef, State1) - end; - {'EXIT', Sock, _Reason} -> -- [channel_cleanup(ChPid, State) || ChPid <- all_channels()], -+ clean_up_all_channels(State), - exit(normal); - cancel_wait -> - exit(channel_termination_timeout) -@@ -963,6 +968,12 @@ channel_cleanup(ChPid, State = #v1{channel_count = ChannelCount}) -> - - all_channels() -> [ChPid || {{ch_pid, ChPid}, _ChannelMRef} <- get()]. - -+clean_up_all_channels(State) -> -+ CleanupFun = fun(ChPid) -> -+ channel_cleanup(ChPid, State) -+ end, -+ lists:foreach(CleanupFun, all_channels()). -+ - %%-------------------------------------------------------------------------- - - handle_frame(Type, 0, Payload, diff --git a/rabbitmq-server-3.6.16.tar.xz.asc b/rabbitmq-server-3.6.16.tar.xz.asc new file mode 100644 index 0000000..bcfe570 --- /dev/null +++ b/rabbitmq-server-3.6.16.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEECpryEV9Gh70pgDoga3OjbmAm38oFAlshCk8ACgkQa3OjbmAm +38rGpg//S5ASA8q66LMWo2G0erDtpi04RXrBvXvHgf8A1Qoi/Q+MuAbU542lPQie +MuYzW7aHbrCvmbACqUW6xuIPuhiMl1eoILutn4wuKNT5mpmjCqWRLVKrILpI7h+5 +UAwby9V9avrdkSPYDgY6rn0h8XzmSTaRo8gQrrgsc+suvCF2KiV2pL6gv7fF385E +z0bhIADXIwZUeyNe2mI6NbmkIleflT014YmqKvV/CxEvhejsbzrn2osrnJK3i1KG +Ru1b/ttqH28zc+NZ28PQdD0tXS3rrGka/96qVPU28xkVeDwv8xmzC1tzUuIrUF0Y +mOx7LueWt18elJ7VjQnTQHLw9CoysXGcl7yY7jHek7KkCACjUs9Jo8QmIrR+Lgon +VlQujR1Ua28skcenIHCYN9slShTvSTeHrLYj1aeuNEMXceQRHAvlk2QLTrPhJqlK +eIDx8yOu+WYNH1YmTracywFmjXmF/hvJTRS0/OffZDlb6X1hOws6CJIj3SW0W+3H +q1F6BEdAt0TkGzmgv9QtjhbSPS2c421KpXb09M+19Z14VEvB2PHhRNHwPsEWcJMQ ++UALCPdt0gNGLydM4GiGERWlIbRtopbgh9kfkc9FLeBjPMsr8DFZDa38YAyocDXK +NrgQ6PDPIOphqvveiFu+oambDsa83auhT7qx+aVYTRB6DNowCyY= +=reui +-----END PGP SIGNATURE----- diff --git a/rabbitmq-server.spec b/rabbitmq-server.spec index 3754ee0..5bf1a03 100644 --- a/rabbitmq-server.spec +++ b/rabbitmq-server.spec @@ -4,19 +4,19 @@ Name: rabbitmq-server -Version: 3.6.15 -Release: 3%{?dist} +Version: 3.6.16 +Release: 1%{?dist} License: MPLv1.1 -Source0: https://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{version}.tar.xz +Source0: https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_16/%{name}-%{version}.tar.xz +Source1: https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_16/%{name}-%{version}.tar.xz.asc # curl -O https://raw.githubusercontent.com/lemenkov/rabbitmq-server/cdfc661/packaging/RPMS/Fedora/rabbitmq-server.logrotate Source3: rabbitmq-server.logrotate -# curl -O https://raw.githubusercontent.com/rabbitmq/rabbitmq-server-release/rabbitmq_v3_6_15/packaging/RPMS/Fedora/rabbitmq-server.tmpfiles +# curl -O https://raw.githubusercontent.com/rabbitmq/rabbitmq-server-release/rabbitmq_v3_6_16/packaging/RPMS/Fedora/rabbitmq-server.tmpfiles Source5: rabbitmq-server.tmpfiles Patch1: rabbitmq-server-0001-Remove-excessive-sd_notify-code.patch Patch2: rabbitmq-server-0002-Add-systemd-notification-support.patch Patch3: rabbitmq-server-0003-Allow-guest-login-from-non-loopback-connections.patch Patch4: rabbitmq-server-0004-rabbit_prelaunch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch -Patch5: rabbitmq-server-0005-Add-special-case-in-handle_other-for-normal-TCP-port.patch Patch101: rabbitmq-common-0001-Use-proto_dist-from-command-line.patch Patch201: rabbitmq-server-release-0001-Don-t-use-templates.patch @@ -58,7 +58,6 @@ cd deps/rabbit %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 cd ../.. cd deps/rabbit_common @@ -180,6 +179,9 @@ done %changelog +* Thu Jun 14 2018 Peter Lemenkov - 3.6.16-1 +- Ver. 3.6.16 + * Mon Apr 09 2018 Peter Lemenkov - 3.6.15-3 - Handle noport at epmd monitor startup - Handle EXIT from TCP port more gracefully diff --git a/sources b/sources index 79a3330..2163a93 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rabbitmq-server-3.6.15.tar.xz) = c8e15e1638d1bc6a65cbc69db46ec0c06f7078304d0997256e0379570b7256928c6565b0d7880aa12d7436fa58d6abc8a38a76b3a1fb3599033377abbabb2a46 +SHA512 (rabbitmq-server-3.6.16.tar.xz) = e63d62966af4fe6289450f9e2826b9e07673abedb5c63dc16df8dc33e46e2b1e5e2aafb6a2254f282d86add8b4c2fa9bea8edb01d2d7de33120a52890be1d32f