aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter/src
AgeCommit message (Collapse)Author
2013-02-11Add transport_opt() length_errorsAnders Svensson
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.
2013-02-10Only start a fragment timer when there's something to flushAnders Svensson
2013-02-10Simplify and document diameter_tcp fragment timerAnders Svensson
Don't start a new timer with each incoming message. Instead, start a timer at timeout and flush after two successive timeouts with no message reception.
2013-02-10Comment fixAnders Svensson
2013-02-10Remove upgrade code not needed after application restartAnders Svensson
Which will be the case in R16B.
2013-02-08Remove trailing whitespaceAnders Svensson
2013-02-08Tweak service interface towards diameter_peerAnders Svensson
2013-02-08Split message handling in diameter_service into diameter_trafficAnders Svensson
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.
2013-02-08Simplify request recordAnders Svensson
In particular, remove fields containing values that are known (as of the preceding commit) to the request process.
2013-02-08Move failover out of service processAnders Svensson
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.
2013-02-08Add exprecs '#new-'/1 clause taking list argumentAnders Svensson
As an inverse to '#get-'/1 in the preceding commit.
2013-02-08Add exprecs '#get-'/1 for transforming records into listsAnders Svensson
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.
2013-02-08Don't hardcode common dictionaryAnders Svensson
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).
2013-02-08Add RFC 6733 dictionariesAnders Svensson
The RFC 6733 accounting dictionary includes rfc6733 in its name. The RFC 3588 dictionary doesn't and is left as-is for backwards compatibility.
2013-02-08Fix faulty watchdog transition INITIAL -> DOWNAnders Svensson
There is no such transition in RFC 3539, the state remains in INITIAL.
2013-02-08Fix faulty watchdog transition DOWN -> INITIALAnders Svensson
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.
2013-02-08Comment fixesAnders Svensson
2013-02-08Rename records peer/conn -> watchdog/peer in diameter_serviceAnders Svensson
That is, make the naming match that of the corresponding modules. This has long been fairly confusing.
2013-02-08Simplify watchdog transitions in service processAnders Svensson
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.
2013-02-08Simplify transport shutdownAnders Svensson
Service process informs the watchdog process which informs the peer process. (Instead of going directly to the latter in one case.)
2013-02-08Remove upgrade code not needed after application restartAnders Svensson
Which will be the case with R16B in this case.
2013-02-08Tweak (make) silent rules supportAnders Svensson
2013-01-25Update copyright yearsBjörn-Egil Dahlberg
2013-01-23Update appupAnders Svensson
2013-01-23Spec fixAnders Svensson
2013-01-23Remove upgrade code not needed at a major releaseAnders Svensson
2013-01-23Comment fixAnders Svensson
2013-01-23Add patch target to makefileAnders Svensson
For building unofficial patches.
2013-01-22Add registered server names to app fileAnders Svensson
This was simply missed.
2013-01-21Merge branch 'anders/diameter/length_error/OTP-10693'Anders Svensson
* anders/diameter/length_error/OTP-10693: More testcases in traffic suite Test diameter_packet answers Ensure correct setting of 3xxx result code
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-18Merge branch 'nox/enable-silent-rules/OTP-10726'Björn-Egil Dahlberg
* nox/enable-silent-rules/OTP-10726: Implement ./otp_build configure --enable-silent-rules
2013-01-17Merge branch 'maint-r15'Anders Svensson
2013-01-17Merge branch 'anders/diameter/application_id/OTP-10655'Anders Svensson
* anders/diameter/application_id/OTP-10655: Check application id in answers in traffic suite Fix setting of Application-ID
2013-01-17Merge branch 'anders/diameter/timeout_event/OTP-10628'Anders Svensson
* anders/diameter/timeout_event/OTP-10628: Add event suite Send CER/CEA timeout events as documented
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-15Implement ./otp_build configure --enable-silent-rulesAnthony Ramine
With silent rules, the output of make is less verbose and compilation warnings are easier to spot. Silent rules are disabled by default and can be disabled or enabled at will by make V=0 and make V=1.
2013-01-15Fix setting of Application-IDAnders Svensson
An answer message with the E flag erroneously set the value to 0.
2013-01-15Send CER/CEA timeout events as documentedAnders Svensson
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-15Update appupAnders Svensson
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-23Update copyright yearsBjörn-Egil Dahlberg
2012-11-19Update appup for R15B03Anders Svensson
2012-11-19Dialyzer fixAnders Svensson
The removed clause was added in commit c14ef2db as part of an aborted implementation.