aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter/src/base/diameter_service.erl
AgeCommit message (Collapse)Author
2013-01-23Remove upgrade code not needed at a major releaseAnders Svensson
2013-01-23Comment fixAnders Svensson
2013-01-18Ensure correct setting of 3xxx result codeAnders Svensson
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.
2013-01-17Merge branch 'maint-r15'Anders Svensson
2013-01-17Merge branch 'anders/diameter/start_event/OTP-10618'Anders Svensson
* anders/diameter/start_event/OTP-10618: Fix timing of service start event
2013-01-17Merge branch 'anders/diameter/packet_return/OTP-10614'Anders Svensson
* anders/diameter/packet_return/OTP-10614: Add missing error handling clause for handle_request packet return
2013-01-17Merge branch 'anders/diameter/make_packet/OTP-10609'Anders Svensson
* anders/diameter/make_packet/OTP-10609: Fix diameter_service:make_prepare_header/2
2013-01-15Fix diameter_service:make_prepare_header/2Anders Svensson
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.
2013-01-14Reverse swapped argumentsAnders Svensson
The fault caused a handle_request callback to fail whenever an eval tuple was returned. Introduced in commit f24adb28.
2012-12-10Fix setting of T flag at failoverAnders Svensson
This seems to have been broken at some point before diameter was included in OTP, prior to R14B03.
2012-12-06Fix timing of service start eventAnders Svensson
Whether or not it came first was a matter of timing. Originally bungled in commit 476db530.
2012-12-04Add missing error handling clause for handle_request packet returnAnders Svensson
This should have been included in commit 91a223d3.
2012-11-19Dialyzer fixAnders Svensson
The removed clause was added in commit c14ef2db as part of an aborted implementation.
2012-11-18Merge branch 'anders/diameter/transport_data/OTP-10566' into maintAnders Svensson
* anders/diameter/transport_data/OTP-10566: Add a testcase Allow a handle_request callback to return a #diameter_packet{}
2012-11-18Merge branch 'anders/diameter/transport_shutdown/OTP-10493' into maintAnders Svensson
* 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
2012-11-16Add start/stop service_event()Anders Svensson
2012-11-15Allow a handle_request callback to return a #diameter_packet{}Anders Svensson
This allows it to set transport_data and header, inappropriately so even.
2012-11-15Implement transport_opt() disconnect_cbAnders Svensson
2012-11-05Add service_info for a peer_ref()Anders Svensson
This allows a diameter_app callback to retrieve the corresponding configuration as passed to diameter:add_transport/2.
2012-11-05Implement service_opt() restrict_connectionsAnders Svensson
2012-11-05Update/clarify some commentsAnders Svensson
2012-11-05Add reopen message from watchdogAnders Svensson
This makes capabilities available to service_info as soon as capabilities exchange has been completed. In particular, before state OKAY is reached.
2012-11-05Add options service_infoAnders Svensson
To retrieve service_opt() values. Don't document it yet.
2012-11-05Implement sequence masksAnders Svensson
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.
2012-11-05Merge branch 'anders/diameter/service_info/OTP-10460' into maintAnders Svensson
* anders/diameter/service_info/OTP-10460: Don't call service process for service_info
2012-11-05Merge branch 'anders/diameter/event_timing/OTP-10459' into maintAnders Svensson
* anders/diameter/event_timing/OTP-10459: Send up event *after* inserting peer in table
2012-10-09Add eval_packet for examining outgoing messages after encodeAnders Svensson
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.
2012-10-09Don't call service process for service_infoAnders Svensson
So that the function is usable when we're already in the service process. For example, in peer_up/peer_down callbacks.
2012-10-01Send up event *after* inserting peer in tableAnders Svensson
Otherwise a request in response to an event can return error due to the peer not yet having been inserted.
2012-08-31Merge branch 'anders/diameter/avp_errors/OTP-10202' into maintAnders Svensson
* anders/diameter/avp_errors/OTP-10202: Add a testcase Fix answer-message blunder
2012-08-31Fix answer-message blunderAnders Svensson
2012-08-29Merge branch 'anders/diameter/service_info/OTP-10213' into maintAnders Svensson
* anders/diameter/service_info/OTP-10213: Minor counting fix Tweak info presentation Fix missing transport service_info when there are no watchdogs
2012-08-28Minor counting fixAnders Svensson
2012-08-28Merge branch 'anders/diameter/callback_isolation/OTP-10215' into maintAnders Svensson
* 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
2012-08-28Merge branch 'anders/diameter/service_info/OTP-10213' into maintAnders Svensson
* 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
2012-08-28Merge branch 'anders/diameter/watchdog_events/OTP-10212' into maintAnders Svensson
* anders/diameter/watchdog_events/OTP-10212: Minor spec fix Maintain watchdog states in service_info Add events for watchdog state transitions
2012-08-28Merge branch 'anders/diameter/statistics/OTP-9608' into maintAnders Svensson
* anders/diameter/statistics/OTP-9608: Improve statistics test cases Statistics fixes
2012-08-28Tweak info presentationAnders Svensson
2012-08-28Fix missing transport service_info when there are no watchdogsAnders Svensson
2012-08-27Include transport-specific service infoAnders Svensson
2012-08-26Don't let peer_up/peer_down take down the service processAnders Svensson
This would previously have resulted in all of a service's connections going down, especially bad for a server.
2012-08-26Turn last field of #diameter_app{} into an options listAnders Svensson
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.)
2012-08-26Make service_info behave with nested item lists and non-atomsAnders Svensson
2012-08-26Add 'connections' and 'peers' service_infoAnders Svensson
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.
2012-08-26Maintain watchdog states in service_infoAnders Svensson
2012-08-24Add events for watchdog state transitionsAnders Svensson
2012-08-24Statistics fixesAnders Svensson
Statistics are deleted as a consequence of diameter:remove_transport/2.
2012-08-23Allow an answer to opt out of setting Result-Code/Failed-AVPAnders Svensson
By returning it in a length 1 list from a handle_request callback. This is the aforementioned roll your own.
2012-08-23Set Result-Code as an optional AVP in reply to request containing errorsAnders Svensson
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.
2012-08-23Fix Destination-Host/Realm extraction for arbitrary dictionariesAnders Svensson