summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2010-08-24 14:56:27 +0100
committerEmile Joubert <emile@rabbitmq.com>2010-08-24 14:56:27 +0100
commit7585c95b3afb1dcb10f1641d415a93e99886294d (patch)
tree7da2ff00b53cd5847e940ba3d62e8c8bac93e7ff /src
parent74c283c36726b52b17e44a9400c80ab31ab46abf (diff)
downloadrabbitmq-server-git-7585c95b3afb1dcb10f1641d415a93e99886294d.tar.gz
Take peer verification config into account in verify function
This works around a limitation in the ssl module, which does not honour verify_none
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_networking.erl12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl
index 5457bde4c0..4c3b9bbd0c 100644
--- a/src/rabbit_networking.erl
+++ b/src/rabbit_networking.erl
@@ -108,9 +108,15 @@ boot_ssl() ->
{ok, SslListeners} ->
ok = rabbit_misc:start_applications([crypto, public_key, ssl]),
{ok, SslOptsConfig} = application:get_env(ssl_options),
- SslOpts = [{verify_fun, fun([]) -> true;
- ([_|_]) -> false
- end} | SslOptsConfig],
+ VerifyFun =
+ fun([]) -> true;
+ ([_|_]) ->
+ case proplists:get_value(verify, SslOptsConfig, verify_none) of
+ verify_none -> true;
+ verify_peer -> false
+ end
+ end,
+ SslOpts = [{verify_fun, VerifyFun} | SslOptsConfig],
[start_ssl_listener(Host, Port, SslOpts) || {Host, Port} <- SslListeners],
ok
end.