aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter/src/base/diameter.erl
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2013-02-09 00:59:34 +0100
committerAnders Svensson <[email protected]>2013-02-11 18:55:16 +0100
commit5893043d862bdc4321b3dba439d70d178af60a22 (patch)
treed7cd82c1562a0bcfde86317dfdb42391f67131b7 /lib/diameter/src/base/diameter.erl
parent24dfd1cb2af256999a75f6de6fcf11842529a505 (diff)
downloadotp-5893043d862bdc4321b3dba439d70d178af60a22.tar.gz
otp-5893043d862bdc4321b3dba439d70d178af60a22.tar.bz2
otp-5893043d862bdc4321b3dba439d70d178af60a22.zip
Add transport_opt() length_errors
The value determines whether or not an unexpected message length in the header of an incoming messages causes the peer process to exit, the message to be discarded or handled as usual. The latter may only be appropriate for message-oriented transport (eg. SCTP) since stream-oriented transport (eg. TCP) may not be able to recover the message boundary once a length error has occurred.
Diffstat (limited to 'lib/diameter/src/base/diameter.erl')
-rw-r--r--lib/diameter/src/base/diameter.erl3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/diameter/src/base/diameter.erl b/lib/diameter/src/base/diameter.erl
index 6be544e950..f563d244f6 100644
--- a/lib/diameter/src/base/diameter.erl
+++ b/lib/diameter/src/base/diameter.erl
@@ -332,8 +332,9 @@ call(SvcName, App, Message) ->
| {capabilities_cb, evaluable()}
| {capx_timeout, 'Unsigned32'()}
| {disconnect_cb, evaluable()}
- | {watchdog_timer, 'Unsigned32'() | {module(), atom(), list()}}
+ | {length_errors, exit | handle | discard}
| {reconnect_timer, 'Unsigned32'()}
+ | {watchdog_timer, 'Unsigned32'() | {module(), atom(), list()}}
| {private, any()}.
%% Predicate passed to remove_transport/2