aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter
AgeCommit message (Collapse)Author
2011-12-06Update app suiteAnders Svensson
2011-12-06Smarter diameter_callbackAnders Svensson
The module was originally just intended as a minimal callback implementation that could be used as a template. Being able to order just a subset of callbacks (with reasonable defaults) makes for simpler code in many cases however so ready support for this can be useful.
2011-12-06Update documentationAnders Svensson
2011-12-06Version -> 1.0Anders Svensson
2011-12-05Improve base_rfc3588.dia formattingAnders Svensson
2011-12-05Make typo fix backwards compatibleAnders Svensson
Also, add better definitions for Termination-Cause so as to avoid grotesquely long macro names in the generated hrl, and for consistency with other enums. That said, the names are still too long to be very practical.
2011-12-05Fix base_rfc3588.dia typoAnders Svensson
2011-12-05Check compiler dependencies in app suiteAnders Svensson
After having added a less than stellar dependency that broke the build. Parallel make could succeed by chance but not sequential. This ensures the error doesn't get past test.
2011-12-05Move type definitions into diameter.erlAnders Svensson
2011-12-05Fix interpretation of vendor id in @groupedAnders Svensson
A value is required to be the same as any specified with @avp_vendor_id but otherwise the two locations are equivalent. Both possibilities are allowed since @avp_vendor_id is required for AVPs of types other than Grouped (modulo it not really needing to exist at all: see commit 943266c9) and since the grammar parsed in @grouped (from RFC 3588) allows it.
2011-12-05Add range checks on dictionary integersAnders Svensson
Check that values that should be Unsigned32 actually are.
2011-12-04Don't explicitly load inherited modulesAnders Svensson
Just use include options to add to the code path and expect that dependent modules will either already have been loaded or will be loaded dynamically, thereby avoiding having a module being left as both current and old code when compiling concurrently. Not a problem for a human user interactively compiling one module at a time but the compiler test suite for one will compile concurrently. In any case, leaving behind old code is probably not what someone would expect while relying on the code path probably is.
2011-12-04Tweak diameter_make interfaceAnders Svensson
2011-12-04Add format testcase to compiler suiteAnders Svensson
Plus additional parsing tests.
2011-12-04Add diameter_dict_util:format/1 for reconstructing a dictionary fileAnders Svensson
2011-12-04Make diameter_types usable with @codecsAnders Svensson
2011-12-04Minor codegen tweaksAnders Svensson
2011-12-02Remove unnecessary includesAnders Svensson
2011-12-02Add compiler suiteAnders Svensson
2011-12-02Update app suiteAnders Svensson
2011-12-02Update codec suiteAnders Svensson
2011-12-02Vendor id fixesAnders Svensson
@vendor is only required if the id is actually needed. That is, if there is a locally defined AVP whose V flag is set and which does not have a vendor id set by @avp_vendor_id. Also, in the case of an inherited AVP, fix avp_name/2 in a generated dictionary module defaulting vendor id from @vendor in the inheriting dictionary but avp_header/1 defaulting it from the inherited dictionary. In both cases the vendor id now defaults from @vendor in the inherited dictionary. Note that @avp_vendor_id from the inherited dictionary is ignored: any changes from @vendor have to be explicit in the inheriting dictionary. A better alternative to @avp_vendor_id is to simply inherit from dictionaries setting the appropriate @vendor but this was previously somewhat broken so @avp_vendor_id was needed to set the id of an AVP whose definition was copied from another source into a dictionary that only inherited from the common dictionary (which doesn't set V on any AVPs).
2011-12-02No longer inherit common dictionary in relay dictionaryAnders Svensson
Base AVPs used for relaying and statistics are always taken from the common dictionary. This is consistent with the way that Route-Record is handled for one, and statistics should not rely on the dictionary of any specific application.
2011-12-02Adapt diametercAnders Svensson
2011-12-02Adapt diameter_makeAnders Svensson
2011-12-02Always modify code with diameter_exprecsAnders Svensson
A dictionary need define neither messages nor grouped AVPs, in which case no record definitions are generated. However, the generated module still includes diameter_gen.hrl and this requires some functions diameter_exprecs would otherwise insert, even if the code that uses these will not be called.
2011-12-02Adapt diameter_codegenAnders Svensson
2011-12-02diameter_spec_util -> diameter_dict_util and adapt to parserAnders Svensson
Errors are now detected after the parse with format_error/1 providing understandable error messages, pointing to the offending line number(s) in the dictionary source.
2011-12-02Replace dictionary file parserAnders Svensson
The previous parse was very adhoc and simply crashed on any kind of input error, providing no identification of the objectionable input that caused the parse to fail. The new parser is generated from a yecc grammar, making it easier both to understand what it is that's being parsed and to provide useful diagnostics to the user in case of error.
2011-11-30Minor documentation fixesAnders Svensson
2011-11-29Fix transport restart bugAnders Svensson
This caused transport processes to be restarted even though diameter:remove_transport/2 had removed their configuration from table.
2011-11-16Merge branch 'anders/diameter/release_R15A'Anders Svensson
* anders/diameter/release_R15A: Version -> 0.11, update appup, minor app suite fix
2011-11-16Merge branch 'anders/diameter/app_suite_vs_sasl/OTP-9704'Anders Svensson
* anders/diameter/app_suite_vs_sasl/OTP-9704: Add sasl to app testcases to placate systools
2011-11-15Version -> 0.11, update appup, minor app suite fixAnders Svensson
2011-11-11Add sasl to app testcases to placate systoolsAnders Svensson
A recent sasl change results in a missing_sasl warning/error that causes the release and relup testcases to fail.
2011-11-11Merge branch 'anders/diameter/capabilities_cb/OTP-9654'Anders Svensson
* anders/diameter/capabilities_cb/OTP-9654: Update documentation Add capx suite Accept any 2xxx result code in CEA Rename some functions plus comment tweak Send events for connection establishment failure Use trivial capabilities callback in traffic suite Add capabilities_cb transport option Minor tls_ack simplification diameter_dbg:log -> diameter_lib:log
2011-11-11Merge branch 'anders/diameter/make/OTP-9638'Anders Svensson
* anders/diameter/make/OTP-9638: Fix comment typo Simplify handling of generated hrls in testsuites Minor dependency fix Target cleanup in test/Makefile
2011-11-10Update documentationAnders Svensson
2011-11-10Add capx suiteAnders Svensson
Tests error handling at capabilities exchange.
2011-11-10Accept any 2xxx result code in CEAAnders Svensson
2011-11-10Rename some functions plus comment tweakAnders Svensson
In diameter_service: make_packet -> make_request_packet make_header -> make_request_header make_reply_packet -> make_answer_packet
2011-11-10Send events for connection establishment failureAnders Svensson
If a peer fsm process exits then the exit reason is received by the service process in a 'DOWN' message. If the reason is the one generated by diameter_peer_fsm:close/2, which is called to signal a non-transport failure before the completion of capabilities exchange (eg. receiving an unsuccessful CEA), then an event is sent to any subscribers. Also, tweak capabilities_cb return values for more informative event data.
2011-11-10Use trivial capabilities callback in traffic suiteAnders Svensson
2011-11-10Add capabilities_cb transport optionAnders Svensson
Value is a function that's applied to the transport reference and capabilities record after capabilities exchange. If a callback returns anything but 'ok' then the connection is closed. In the case of an incoming CER, the callback can return a result code with which to answer. Multiple callbacks can be specified and are applied until either all return 'ok' or one doesn't. Also, include Origin-State-Id in answers where it was previously omitted.
2011-11-10Minor tls_ack simplificationAnders Svensson
We're already monitoring the transport process, no need to do so again.
2011-11-10diameter_dbg:log -> diameter_lib:logAnders Svensson
Should have been included in 5af64c7d57d83ce35bfd7b15ac3ce6ec7459fd73.
2011-11-10Fix comment typoAnders Svensson
2011-11-10Simplify handling of generated hrls in testsuitesAnders Svensson
Just morph include into include_lib when releasing. Not using include_lib here is due to generated hrls not residing in diameter/include until after release. See release.sed.
2011-11-09Minor dependency fixAnders Svensson
2011-11-09Target cleanup in test/MakefileAnders Svensson
all = opt is now default target and run executes testsuites. Note that parallel execution is unproblematic since each suite target starts a node with a suite-specific name.