aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2018-07-18 16:23:28 +0200
committerAnders Svensson <[email protected]>2018-07-18 16:23:28 +0200
commitf66f12e2d0014ad14d663fb1a0dafaa665bff303 (patch)
tree0ff443a04b8c44847d92ea0a3a276617ccfaab7d /lib/diameter
parenta0ae44f324576104760a63fe6cf63e0ca31756fc (diff)
downloadotp-f66f12e2d0014ad14d663fb1a0dafaa665bff303.tar.gz
otp-f66f12e2d0014ad14d663fb1a0dafaa665bff303.tar.bz2
otp-f66f12e2d0014ad14d663fb1a0dafaa665bff303.zip
Fix function_clause when sending a request after an outgoing DPA
After DPR, the intention is that outgoing answers are sent and outgoing requests are discarded. This was the case when the DPR was outgoing, but if it was incoming then a subsequent outgoing request resulted in a function_clause, bringing down the diameter_peer_fsm gen_server associated with the transport connection in question. With diameter_tcp/sctp, the failure can result in the connection being reset before the peer closes it in response to DPA, but is otherwise harmless since DPR means that the connection is already on its way down.
Diffstat (limited to 'lib/diameter')
-rw-r--r--lib/diameter/src/base/diameter_peer_fsm.erl4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/diameter/src/base/diameter_peer_fsm.erl b/lib/diameter/src/base/diameter_peer_fsm.erl
index d99f11a697..cf5e7f21d3 100644
--- a/lib/diameter/src/base/diameter_peer_fsm.erl
+++ b/lib/diameter/src/base/diameter_peer_fsm.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 2010-2017. All Rights Reserved.
+%% Copyright Ericsson AB 2010-2018. All Rights Reserved.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
@@ -901,7 +901,7 @@ outgoing(#diameter_packet{header = #diameter_header{is_request = false}}
ok;
%% Outgoing request: discard.
-outgoing(Msg, #state{dpr = {_,_,_}}) ->
+outgoing(Msg, #state{}) ->
invalid(false, send_after_dpr, header(Msg)).
header(#diameter_packet{header = H}) ->