summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2010-09-08 15:28:06 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2010-09-08 15:28:06 +0100
commitad731358c0ea6cb4b88a8ae0a45715f5255d1a4c (patch)
tree80ce31adbcb4381ec3f7feae994070c545e979ed /src
parent8fdebd024e976836e21c30cd5048a040c5256ef4 (diff)
downloadrabbitmq-server-git-ad731358c0ea6cb4b88a8ae0a45715f5255d1a4c.tar.gz
add support for rdn sets
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_ssl.erl7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/rabbit_ssl.erl b/src/rabbit_ssl.erl
index 34718c04f2..7def753a93 100644
--- a/src/rabbit_ssl.erl
+++ b/src/rabbit_ssl.erl
@@ -119,7 +119,8 @@ format_rdn_sequence({rdnSequence, Seq}) ->
lists:flatten(
rabbit_misc:intersperse(
",", lists:reverse(
- [escape_ssl_string(format_rdn(RDN), start) || [RDN] <- Seq]))).
+ [escape_ssl_string(format_complex_rdn(RDN), start)
+ || RDN <- Seq]))).
%% Escape a string as per RFC4514.
escape_ssl_string([], _) ->
@@ -143,6 +144,10 @@ escape_ssl_string([C | S], middle) ->
escape_ssl_string([$ | S], ending) ->
["\\ " | escape_ssl_string(S, ending)].
+%% Format an RDN set.
+format_complex_rdn(RDNs) ->
+ lists:flatten(rabbit_misc:intersperse("+", [format_rdn(RDN) || RDN <- RDNs])).
+
%% Format an RDN. If the type name is unknown, use the dotted decimal
%% representation. See RFC4514, section 2.3.
format_rdn(#'AttributeTypeAndValue'{type = T, value = V}) ->