summaryrefslogtreecommitdiff
path: root/src
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
commit5851c533800f5514d1a93fb99865ed1afc12793d (patch)
treecadf388bd1d248376550643de066c8df9a33945d /src
parent102167c5e7ed1272de603cae96bb96906ae8e1e4 (diff)
downloadrabbitmq-server-git-5851c533800f5514d1a93fb99865ed1afc12793d.tar.gz
more escaping
Diffstat (limited to 'src')
-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 51c3f98427..ba50a8deb1 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)].