diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2011-01-07 16:03:50 +0000 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2011-01-07 16:03:50 +0000 |
| commit | d4ace7f82d9e26fd4430465622d5f7d110977d56 (patch) | |
| tree | 0e4f07f581965e00254644fee069402f4412399b /src | |
| parent | 999226e6d4e2aac047955102656a9afa2d6729ca (diff) | |
| download | rabbitmq-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.erl | 25 |
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, []}). |
