summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniil Fedotov <dfedotov@pivotal.io>2016-03-18 16:26:04 +0000
committerDaniil Fedotov <dfedotov@pivotal.io>2016-03-29 14:13:14 +0100
commit0feb95d76c18a9a8ba67acaf4f638fd4524abf32 (patch)
tree56bb372ffee820bd211bbcaedd523fe2451028f6 /src
parent1089be3c5990d03e4d157007f61d678fea045f27 (diff)
downloadrabbitmq-server-git-0feb95d76c18a9a8ba67acaf4f638fd4524abf32.tar.gz
Support extensions in config files
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_prelaunch.erl44
1 files changed, 24 insertions, 20 deletions
diff --git a/src/rabbit_prelaunch.erl b/src/rabbit_prelaunch.erl
index 3f83a153ea..e872663200 100644
--- a/src/rabbit_prelaunch.erl
+++ b/src/rabbit_prelaunch.erl
@@ -79,35 +79,39 @@ duplicate_node_check(NodeName, NodeHost) ->
end.
dist_port_set_check() ->
- case os:getenv("RABBITMQ_CONFIG_FILE") of
- false ->
+ case get_config(os:getenv("RABBITMQ_CONFIG_FILE")) of
+ {ok, [Config]} ->
+ Kernel = pget(kernel, Config, []),
+ case {pget(inet_dist_listen_min, Kernel, none),
+ pget(inet_dist_listen_max, Kernel, none)} of
+ {none, none} -> ok;
+ _ -> rabbit_misc:quit(?DO_NOT_SET_DIST_PORT)
+ end;
+ {ok, _} ->
ok;
- File ->
- case get_config(File) of
- {ok, [Config]} ->
- Kernel = pget(kernel, Config, []),
- case {pget(inet_dist_listen_min, Kernel, none),
- pget(inet_dist_listen_max, Kernel, none)} of
- {none, none} -> ok;
- _ -> rabbit_misc:quit(?DO_NOT_SET_DIST_PORT)
- end;
- {ok, _} ->
- ok;
- {error, _} ->
- ok
- end
+ {error, _} ->
+ ok
end.
-get_config(File) ->
- case rabbit_file:is_file(File ++ ".config") of
- true -> file:consult(File ++ ".config");
- false ->
+get_config(File) ->
+ case consult_file(File) of
+ {ok, Contents} -> {ok, Contents};
+ {error, _} ->
case rabbit_config:get_advanced_config() of
none -> {error, enoent};
FileName -> file:consult(FileName)
end
end.
+consult_file(false) -> {error, nofile};
+consult_file(File) ->
+ FileName = case filename:extension(File) of
+ "" -> File ++ ".config";
+ ".config" -> File;
+ _ -> ""
+ end,
+ file:consult(FileName).
+
dist_port_range_check() ->
case os:getenv("RABBITMQ_DIST_PORT") of
false -> ok;