From 2d3a6154748061edd66b721bc11dbed9046d49ff Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Tue, 25 Sep 2012 17:40:17 +0200 Subject: Fix handling of Origin-State-Id config Documentation (correctly) say {'Origin-State-Id', Unsigned32()}, code (incorrectly) expected {'Origin-State-Id', [Unsigned32()]}. --- lib/diameter/src/base/diameter_capx.erl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/diameter/src/base/diameter_capx.erl b/lib/diameter/src/base/diameter_capx.erl index 6c4d60ee9b..6a87819f04 100644 --- a/lib/diameter/src/base/diameter_capx.erl +++ b/lib/diameter/src/base/diameter_capx.erl @@ -141,7 +141,9 @@ cap('Host-IP-Address', Vs) when is_list(Vs) -> lists:map(fun ipaddr/1, Vs); -cap('Firmware-Revision', V) -> +cap(K, V) + when K == 'Firmware-Revision'; + K == 'Origin-State-Id' -> [V]; cap(_, Vs) -- cgit v1.2.3 From e02ab3b7c6129d59009dda5a9a357edecd3258d7 Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Tue, 25 Sep 2012 18:11:51 +0200 Subject: Fix matching in case of erroneous capabilities config {invalid, K, V} was never matched. Return full reason, not just an atom. --- lib/diameter/src/base/diameter_capx.erl | 2 +- lib/diameter/src/base/diameter_config.erl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/diameter/src/base/diameter_capx.erl b/lib/diameter/src/base/diameter_capx.erl index 6a87819f04..190d37262b 100644 --- a/lib/diameter/src/base/diameter_capx.erl +++ b/lib/diameter/src/base/diameter_capx.erl @@ -151,7 +151,7 @@ cap(_, Vs) Vs; cap(K, V) -> - ?THROW({invalid, K, V}). + ?THROW({invalid, {K,V}}). ipaddr(A) -> try diff --git a/lib/diameter/src/base/diameter_config.erl b/lib/diameter/src/base/diameter_config.erl index e47f63f814..d1916c26e6 100644 --- a/lib/diameter/src/base/diameter_config.erl +++ b/lib/diameter/src/base/diameter_config.erl @@ -563,7 +563,7 @@ make_caps(Caps, Opts) -> case diameter_capx:make_caps(Caps, Opts) of {ok, T} -> T; - {error, {Reason, _}} -> + {error, Reason} -> ?THROW(Reason) end. -- cgit v1.2.3