From 6aa27b4694b043423d2d992602643420f955f91d Mon Sep 17 00:00:00 2001 From: Jean-Sebastien Pedron Date: Tue, 2 Dec 2014 17:45:27 +0100 Subject: Only include ssl/certificate informations when the connection is over SSL This gives lighter notifications for plain TCP connections. --- src/rabbit_reader.erl | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index 60246fbe..1ec8a150 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -60,7 +60,10 @@ -define(AUTH_NOTIFICATION_INFO_KEYS, [host, vhost, name, peer_host, peer_port, protocol, auth_mechanism, - ssl, ssl_protocol, ssl_cipher, peer_cert_issuer, peer_cert_subject, + ssl]). + +-define(AUTH_NOTIFICATION_SSL_INFO_KEYS, + [ssl_protocol, ssl_cipher, peer_cert_issuer, peer_cert_subject, peer_cert_validity]). -define(IS_RUNNING(State), @@ -1114,13 +1117,21 @@ notify_auth_result(Username, AuthResult, Msg, Args, State) -> name -> {connection_name, i(name, State)}; _ -> {Item, i(Item, State)} end || Item <- ?AUTH_NOTIFICATION_INFO_KEYS], - EventProps2 = case Username of - none -> [{name, ''} | EventProps1]; - _ -> [{name, Username} | EventProps1] + EventProps2 = case i(ssl, State) of + false -> EventProps1; + true -> EventProps1 ++ [ + case Item of + name -> {connection_name, i(name, State)}; + _ -> {Item, i(Item, State)} + end || Item <- ?AUTH_NOTIFICATION_SSL_INFO_KEYS] + end, + EventProps3 = case Username of + none -> [{name, ''} | EventProps2]; + _ -> [{name, Username} | EventProps2] end, EventProps = case Msg of - "" -> EventProps2; - _ -> [{error, rabbit_misc:format(Msg, Args)} | EventProps2] + "" -> EventProps3; + _ -> [{error, rabbit_misc:format(Msg, Args)} | EventProps3] end, rabbit_event:notify(AuthResult, EventProps). -- cgit v1.2.1