diff options
Diffstat (limited to 'lib/diameter')
-rw-r--r-- | lib/diameter/src/base/diameter.appup.src | 8 | ||||
-rw-r--r-- | lib/diameter/src/base/diameter_codec.erl | 3 | ||||
-rw-r--r-- | lib/diameter/src/base/diameter_peer_fsm.erl | 10 | ||||
-rw-r--r-- | lib/diameter/vsn.mk | 2 |
4 files changed, 17 insertions, 6 deletions
diff --git a/lib/diameter/src/base/diameter.appup.src b/lib/diameter/src/base/diameter.appup.src index 9b2a7d18ab..4de87c1023 100644 --- a/lib/diameter/src/base/diameter.appup.src +++ b/lib/diameter/src/base/diameter.appup.src @@ -38,12 +38,16 @@ %% unmodified but including modified diameter.hrl {load, diameter_callback}, {load, diameter_capx}, - {load, diameter_types}]} + {load, diameter_types}]}, + {"1.2", [{load, diameter_codec}, + {load, diameter_peer_fsm}]} ], [ {"0.9", [{restart_application, diameter}]}, {"0.10", [{restart_application, diameter}]}, {"1.0", [{restart_application, diameter}]}, - {"1.1", [{restart_application, diameter}]} + {"1.1", [{restart_application, diameter}]}, + {"1.2", [{load, diameter_codec}, + {load, diameter_peer_fsm}]} ] }. diff --git a/lib/diameter/src/base/diameter_codec.erl b/lib/diameter/src/base/diameter_codec.erl index 421e280422..a94d37f7a8 100644 --- a/lib/diameter/src/base/diameter_codec.erl +++ b/lib/diameter/src/base/diameter_codec.erl @@ -333,6 +333,9 @@ decode_header(_) -> %% wraparound counter. The 8-bit counter is incremented each time the %% system is restarted. +sequence_numbers({_,_} = T) -> + T; + sequence_numbers(#diameter_packet{bin = Bin}) when is_binary(Bin) -> sequence_numbers(Bin); diff --git a/lib/diameter/src/base/diameter_peer_fsm.erl b/lib/diameter/src/base/diameter_peer_fsm.erl index 302540e76b..035bdad632 100644 --- a/lib/diameter/src/base/diameter_peer_fsm.erl +++ b/lib/diameter/src/base/diameter_peer_fsm.erl @@ -967,12 +967,16 @@ dpa_timer() -> %% both fail to do so this isn't foolproof. register_everywhere(T) -> - diameter_reg:add_new(T) - andalso unregistered(T). + diameter_reg:add_new(T) andalso unregistered(T). unregistered(T) -> {ResL, _} = rpc:multicall(?MODULE, match, [{node(), T}]), - lists:all(fun(L) -> [] == L end, ResL). + lists:all(fun nomatch/1, ResL). + +nomatch({badrpc, {'EXIT', {undef, _}}}) -> %% no diameter on remote node + true; +nomatch(L) -> + [] == L. match({Node, _}) when Node == node() -> diff --git a/lib/diameter/vsn.mk b/lib/diameter/vsn.mk index 48e6596e72..a67b468511 100644 --- a/lib/diameter/vsn.mk +++ b/lib/diameter/vsn.mk @@ -18,7 +18,7 @@ # %CopyrightEnd% APPLICATION = diameter -DIAMETER_VSN = 1.2 +DIAMETER_VSN = 1.2.1 PRE_VSN = APP_VSN = "$(APPLICATION)-$(DIAMETER_VSN)$(PRE_VSN)" |