diff options
author | Emile Joubert <emile@rabbitmq.com> | 2010-11-15 14:08:18 +0000 |
---|---|---|
committer | Emile Joubert <emile@rabbitmq.com> | 2010-11-15 14:08:18 +0000 |
commit | b3d023dc7006c29c69ad39f3db4756f42ffcf8ac (patch) | |
tree | 54b1f12e8731f3ae7dc41f87b28a55d49100020b | |
parent | 8fffd3efed0ae3fe9af9b2b9b027850eaa5fc163 (diff) | |
parent | a5071d8d0dfcff236bda1012ed2fc685a9216db3 (diff) | |
download | rabbitmq-server-b3d023dc7006c29c69ad39f3db4756f42ffcf8ac.tar.gz |
Merged bug23493 into default
-rw-r--r-- | docs/rabbitmqctl.1.xml | 5 | ||||
-rw-r--r-- | src/rabbit_control.erl | 2 | ||||
-rw-r--r-- | src/rabbit_net.erl | 6 | ||||
-rw-r--r-- | src/rabbit_reader.erl | 6 |
4 files changed, 14 insertions, 5 deletions
diff --git a/docs/rabbitmqctl.1.xml b/docs/rabbitmqctl.1.xml index acb99bc8..6b02abe4 100644 --- a/docs/rabbitmqctl.1.xml +++ b/docs/rabbitmqctl.1.xml @@ -972,6 +972,11 @@ <listitem><para>Peer port.</para></listitem> </varlistentry> <varlistentry> + <term>ssl</term> + <listitem><para>Boolean indicating whether the + connection is secured with SSL.</para></listitem> + </varlistentry> + <varlistentry> <term>peer_cert_subject</term> <listitem><para>The subject of the peer's SSL certificate, in RFC4514 form.</para></listitem> diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl index 6b212745..6c0a727b 100644 --- a/src/rabbit_control.erl +++ b/src/rabbit_control.erl @@ -346,8 +346,6 @@ format_info_item([{TableEntryKey, TableEntryType, _TableEntryValue} | _] = Value) when is_binary(TableEntryKey) andalso is_atom(TableEntryType) -> io_lib:format("~1000000000000p", [prettify_amqp_table(Value)]); -format_info_item([C|_] = Value) when is_number(C), C >= 32, C =< 255 -> - Value; format_info_item(Value) -> io_lib:format("~w", [Value]). diff --git a/src/rabbit_net.erl b/src/rabbit_net.erl index 53d0d5cb..0940dce2 100644 --- a/src/rabbit_net.erl +++ b/src/rabbit_net.erl @@ -34,7 +34,7 @@ -export([async_recv/3, close/1, controlling_process/2, getstat/2, peername/1, peercert/1, port_command/2, - send/2, sockname/1]). + send/2, sockname/1, is_ssl/1]). %%--------------------------------------------------------------------------- @@ -65,6 +65,7 @@ -spec(sockname/1 :: (socket()) -> ok_val_or_error({inet:ip_address(), rabbit_networking:ip_port()})). +-spec(is_ssl/1 :: (socket()) -> boolean()). -spec(getstat/2 :: (socket(), [stat_option()]) -> ok_val_or_error([{stat_option(), integer()}])). @@ -133,3 +134,6 @@ sockname(Sock) when ?IS_SSL(Sock) -> ssl:sockname(Sock#ssl_socket.ssl); sockname(Sock) when is_port(Sock) -> inet:sockname(Sock). + +is_ssl(Sock) -> + ?IS_SSL(Sock). diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index 23eb3058..12730ccf 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -65,7 +65,7 @@ -define(STATISTICS_KEYS, [pid, recv_oct, recv_cnt, send_oct, send_cnt, send_pend, state, channels]). --define(CREATION_EVENT_KEYS, [pid, address, port, peer_address, peer_port, +-define(CREATION_EVENT_KEYS, [pid, address, port, peer_address, peer_port, ssl, peer_cert_subject, peer_cert_issuer, peer_cert_validity, protocol, user, vhost, timeout, frame_max, @@ -848,6 +848,8 @@ i(peer_address, #v1{sock = Sock}) -> socket_info(fun rabbit_net:peername/1, fun ({A, _}) -> A end, Sock); i(peer_port, #v1{sock = Sock}) -> socket_info(fun rabbit_net:peername/1, fun ({_, P}) -> P end, Sock); +i(ssl, #v1{sock = Sock}) -> + rabbit_net:is_ssl(Sock); i(peer_cert_issuer, #v1{sock = Sock}) -> cert_info(fun rabbit_ssl:peer_cert_issuer/1, Sock); i(peer_cert_subject, #v1{sock = Sock}) -> @@ -898,7 +900,7 @@ cert_info(F, Sock) -> case rabbit_net:peercert(Sock) of nossl -> ''; {error, no_peercert} -> ''; - {ok, Cert} -> F(Cert) + {ok, Cert} -> list_to_binary(F(Cert)) end. %%-------------------------------------------------------------------------- |