Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
Traffic handling is connected to the service implementation through the
pick_peer callback and failover but diameter_service was getting
unwieldy as home to both the service process and traffic handling.
|
|
In particular, remove fields containing values that are known (as of the
preceding commit) to the request process.
|
|
In order to be able to remove fields from the request process that don't
need to be there and do less in the service process. The pick_peer
callback now takes place in the request process in the case of immutable
state, just as in the case of the initial send.
|
|
The generated '#get-'/1 has one clause for each exported record r, whose
definition is equivalent to the following.
'#get-'(#r{} = Rec) ->
[r | lists:zip(record_info(r, fields), tl(tuple_to_list(Rec)))];
The record name at the head of the list is the same format that diameter
accepts for outgoing message.
|
|
Instead, use whatever dictionary a transport has configured as
supporting application id 0. This is to support the updated RFC 6733
dictionaries (which bring with them updated records) and also to be able
to transparently support any changed semantics (eg. 5xxx in
answer-message).
|
|
There is no such transition in RFC 3539, the state remains in INITIAL.
|
|
This was the result of the watchdog process exiting as a consequence of
peer death in some casesi, causing a restarted transport to enter
INITIAL when it should enter REOPEN. The watchdog now remains alive as
long as peer shutdown isn't requested and a 'close' message to the
service process (instead of watchdog death) generates 'closed' events
from the service.
|
|
|
|
That is, make the naming match that of the corresponding modules.
This has long been fairly confusing.
|
|
In particular, use watchdog messages as input and do away with the older
connection_up/down (and other) messages. Also, only maintain the
watchdog state, not the older up/down op state.
|
|
Service process informs the watchdog process which informs the peer
process. (Instead of going directly to the latter in one case.)
|
|
Which will be the case with R16B in this case.
|
|
|
|
|
|
|
|
|
|
This was simply missed.
|
|
A bad AVP Length (resulting in excess bytes from decode) but no other
errors caused the request to fail when attempting to set Result-Code.
A protocol error in combination with a 5xxx error caused the latter to
be set in an answer-message.
|
|
|
|
* anders/diameter/application_id/OTP-10655:
Check application id in answers in traffic suite
Fix setting of Application-ID
|
|
* anders/diameter/timeout_event/OTP-10628:
Add event suite
Send CER/CEA timeout events as documented
|
|
* anders/diameter/start_event/OTP-10618:
Fix timing of service start event
|
|
* anders/diameter/packet_return/OTP-10614:
Add missing error handling clause for handle_request packet return
|
|
* anders/diameter/make_packet/OTP-10609:
Fix diameter_service:make_prepare_header/2
|
|
An answer message with the E flag erroneously set the value to 0.
|
|
|
|
Fault caused the header of a [#diameter_header{} | Avps] request to be
ignored if both end_to_end_id and hop_by_hop_id were undefined.
Broken in commit bc87eb33.
|
|
|
|
The fault caused a handle_request callback to fail whenever an eval
tuple was returned. Introduced in commit f24adb28.
|
|
This seems to have been broken at some point before diameter was
included in OTP, prior to R14B03.
|
|
Whether or not it came first was a matter of timing. Originally bungled
in commit 476db530.
|
|
This should have been included in commit 91a223d3.
|
|
|
|
|
|
The removed clause was added in commit c14ef2db as part of an aborted
implementation.
|
|
|
|
* anders/diameter/CEA_timeout/OTP-10554:
Implement transport_opt() capx_timeout
Document transport_opt() capx_timeout
Minor doc fixes
|
|
* anders/diameter/identifier_checks/OTP-10565:
Add comment about lack of identifier checks on DWA
Add check of End-to-End and Hop-by-Hop identfiers in received DPA
Add check of End-to-End and Hop-by-Hop identfiers in received CEA
|
|
* anders/diameter/transport_data/OTP-10566:
Add a testcase
Allow a handle_request callback to return a #diameter_packet{}
|
|
* anders/diameter/transport_shutdown/OTP-10493:
Add simple DPR suite
Correct diameter:remove_transport/2 doc
Fix broken doc link
Ensure watchdog dies with transport if DPR was sent
Remove dead clause
Implement transport_opt() disconnect_cb
Document transport_opt() disconnect_cb
|
|
|
|
|
|
|
|
|
|
|
|
This allows it to set transport_data and header, inappropriately so
even.
|
|
A watchdog timeout after DPR but before DPA would previously result
in the watchdog restarting the transport.
|