Age | Commit message (Collapse) | Author |
|
|
|
|
|
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/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
|
|
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/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.
|
|
|
|
This allows a diameter_app callback to retrieve the corresponding
configuration as passed to diameter:add_transport/2.
|
|
|
|
|
|
This makes capabilities available to service_info as soon as
capabilities exchange has been completed. In particular, before state
OKAY is reached.
|
|
To retrieve service_opt() values. Don't document it yet.
|
|
Code should be loaded in this order:
diameter_session (sequence/1)
diameter_peer_fsm (calls to sequence/1)
diameter_service (sequence config, mask in receive_message/3)
diameter_watchdog (mask in peer start and receive_message/3)
diameter_config (accept sequence config)
Order of diameter and diameter_peer doesn't matter.
|
|
* anders/diameter/service_info/OTP-10460:
Don't call service process for service_info
|
|
* anders/diameter/event_timing/OTP-10459:
Send up event *after* inserting peer in table
|
|
Both prepare_request/prepare_retransmit and handle_request can
return {eval_packet, RC, PostF} where PostF will be evaluated on any
encoded packet before transmission.
|
|
So that the function is usable when we're already in the service
process. For example, in peer_up/peer_down callbacks.
|
|
Otherwise a request in response to an event can return error due to the
peer not yet having been inserted.
|
|
* anders/diameter/avp_errors/OTP-10202:
Add a testcase
Fix answer-message blunder
|
|
|
|
* anders/diameter/service_info/OTP-10213:
Minor counting fix
Tweak info presentation
Fix missing transport service_info when there are no watchdogs
|
|
|
|
* anders/diameter/callback_isolation/OTP-10215:
Don't let peer_up/peer_down take down the service process
Turn last field of #diameter_app{} into an options list
|
|
* anders/diameter/service_info/OTP-10213:
Include transport-specific service info
Make service_info behave with nested item lists and non-atoms
Add 'connections' and 'peers' service_info
|
|
* anders/diameter/watchdog_events/OTP-10212:
Minor spec fix
Maintain watchdog states in service_info
Add events for watchdog state transitions
|
|
* anders/diameter/statistics/OTP-9608:
Improve statistics test cases
Statistics fixes
|
|
|
|
|
|
|
|
This would previously have resulted in all of a service's connections
going down, especially bad for a server.
|
|
To make for easier adding of future options. The record is only passed
into transport modules so the only compatibility issue is with these.
(No issue for diameter_{tcp,sctp} and unlikely but theoretically
possible for any other implementations, which probably don't exist at
this point.)
|
|
|
|
These provide alternates to 'transport' that group information, and
present statistics, per transport established transport connection and
peer Origin-Host instead of per reference returned by
diameter:add_transport/2.
|
|
|
|
|
|
Statistics are deleted as a consequence of diameter:remove_transport/2.
|
|
By returning it in a length 1 list from a handle_request callback.
This is the aforementioned roll your own.
|
|
Previously assumed it had arity 1, which is not necessarily
the case. Whether or not we should do this is probably debatable.
There should at least be a way for the user to roll their own.
|
|
|