summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2010-09-08 22:43:23 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2010-09-08 22:43:23 +0100
commitd6e1a8044e414636088df20b1dfcba9644c2d983 (patch)
treecadf388bd1d248376550643de066c8df9a33945d
parent19aae5bd34925f50126ae7203c39c11369e20872 (diff)
downloadrabbitmq-server-d6e1a8044e414636088df20b1dfcba9644c2d983.tar.gz
more escaping
-rw-r--r--src/rabbit_ssl.erl5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/rabbit_ssl.erl b/src/rabbit_ssl.erl
index 51c3f984..ba50a8de 100644
--- a/src/rabbit_ssl.erl
+++ b/src/rabbit_ssl.erl
@@ -148,6 +148,11 @@ escape_rdn_value([$ ], middle) ->
escape_rdn_value([C | S], middle) when C =:= $"; C =:= $+; C =:= $,; C =:= $;;
C =:= $<; C =:= $>; C =:= $\\ ->
[$\\, C | escape_rdn_value(S, middle)];
+escape_rdn_value([C | S], middle) when C < 32 ; C =:= 127 ->
+ %% only U+0000 needs escaping, but for display purposes it's handy
+ %% to escape all non-printable chars
+ lists:flatten(io_lib:format("\\~2.16.0B", [C])) ++
+ escape_rdn_value(S, middle);
escape_rdn_value([C | S], middle) ->
[C | escape_rdn_value(S, middle)].