summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2011-01-07 16:03:50 +0000
committerSimon MacMullen <simon@rabbitmq.com>2011-01-07 16:03:50 +0000
commitd4ace7f82d9e26fd4430465622d5f7d110977d56 (patch)
tree0e4f07f581965e00254644fee069402f4412399b /src
parent999226e6d4e2aac047955102656a9afa2d6729ca (diff)
downloadrabbitmq-server-git-d4ace7f82d9e26fd4430465622d5f7d110977d56.tar.gz
Don't have the scripts set bind address of 0.0.0.0 if the port is specified but IP isn't. Instead use the same logic as if it's specified in the configuration file.
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_networking.erl25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl
index 621343c488..5243f17ab9 100644
--- a/src/rabbit_networking.erl
+++ b/src/rabbit_networking.erl
@@ -176,15 +176,11 @@ resolve_family(IP, auto) -> throw({error, {strange_family, IP}});
resolve_family(_, F) -> F.
check_tcp_listener_address(NamePrefix, Port) when is_integer(Port) ->
- case ipv6_status(Port) of
- ipv4_only ->
- check_tcp_listener_address(NamePrefix, {"0.0.0.0", Port, inet});
- ipv6_single_stack ->
- check_tcp_listener_address(NamePrefix, {"::", Port, inet6});
- ipv6_dual_stack ->
- check_tcp_listener_address(NamePrefix, {"0.0.0.0", Port, inet})
- ++ check_tcp_listener_address(NamePrefix, {"::", Port, inet6})
- end;
+ check_tcp_listener_address_auto(NamePrefix, Port);
+
+check_tcp_listener_address(NamePrefix, {"auto", Port}) ->
+ %% Variant to prevent lots of hacking around in bash and batch files
+ check_tcp_listener_address_auto(NamePrefix, Port);
check_tcp_listener_address(NamePrefix, {Host, Port}) ->
%% auto: determine family IPv4 / IPv6 after converting to IP address
@@ -200,6 +196,17 @@ check_tcp_listener_address(NamePrefix, {Host, Port, Family0}) ->
Name = rabbit_misc:tcp_name(NamePrefix, IPAddress, Port),
[{IPAddress, Port, Family, Name}].
+check_tcp_listener_address_auto(NamePrefix, Port) ->
+ case ipv6_status(Port) of
+ ipv4_only ->
+ check_tcp_listener_address(NamePrefix, {"0.0.0.0", Port, inet});
+ ipv6_single_stack ->
+ check_tcp_listener_address(NamePrefix, {"::", Port, inet6});
+ ipv6_dual_stack ->
+ check_tcp_listener_address(NamePrefix, {"0.0.0.0", Port, inet})
+ ++ check_tcp_listener_address(NamePrefix, {"::", Port, inet6})
+ end.
+
start_tcp_listener(Listener) ->
start_listener(Listener, amqp, "TCP Listener",
{?MODULE, start_client, []}).