summaryrefslogtreecommitdiff
path: root/lib/megaco/src
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright yearErlang/OTP2023-02-148-8/+8
|
* megaco: replace size/1 by xxx_size/1Kiko Fernandez-Reyes2023-02-028-34/+34
| | | | | | | | | | | | | | | | | | The <c>size/1</c> BIF is not optimized by the JIT, and its use can result in worse types for Dialyzer. When one knows that the value being tested must be a tuple, <c>tuple_size/1</c> should always be preferred. When one knows that the value being tested must be a binary, <c>byte_size/1</c> should be preferred. However, <c>byte_size/1</c> also accepts a bitstring (rounding up size to a whole number of bytes), so one must make sure that the call to <c>byte_size/</c> is preceded by a call to <c>is_binary/1</c> to ensure that bitstrings are rejected. Note that the compiler removes redundant calls to <c>is_binary/1</c>, so if one is not sure whether previous code had made sure that the argument is a binary, it does not harm to add an <c>is_binary/1</c> test immediately before the call to <c>byte_size/1</c>.
* Update copyright yearErlang/OTP2022-09-202-2/+2
|
* [megaco] Fixed various dialyzer related issuesMicael Karlberg2022-07-1312-129/+132
| | | | OTP-18179
* make: Allow OTP to be built deterministicallyTom Davies2022-06-242-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add a --enable-deterministic-build to the configure script, which sets ERL_DETERMINISTIC=yes throughout the relevant Makefiles, which then invoke the relevant build stages with the +deterministic option. This addresses absolute paths being included in generated .erl files and compiled .beam files that resulted in builds from different source directories generating different artefacts (which is a component of the issue in erlang#4482). I think it would make sense to make this the default at some stage, but I've put the change behind a flag for now to decouple making deterministic OTP builds possible from making them the default. Having +deterministic set results in compiler options being removed from the module info for modules where this options was used. This may have other implications for users of OTP. For tests themselves, +determinism is not set, since many test cases depend on accessing the test module's compilation options, or other features not available in deterministic mode, in order to configure themselves. For tests of the determinism feature specifically, +deterministic must be explicitly passed to the compiler within the relevant test cases.
* Update copyright yearErlang/OTP2022-02-157-7/+7
|
* Merge branch 'maint'Björn Gustavsson2022-02-111-21/+9
|\ | | | | | | | | * maint: Compile time no longer available
| * Compile time no longer availableJérôme de Bretagne2022-01-191-21/+9
| | | | | | | | | | | | | | | | A few functions still attempted to extract the "compile time" of each module. This info used to be available when calling Module:module_info but was removed "a long time ago". A first removal was done in OTP-15330 and this removes some remaining leftover cases.
* | otp: Fix `make TYPE=$TYPE` to work for all typesLukas Larsson2022-01-217-14/+14
|/
* Update copyright yearRickard Green2021-12-136-6/+6
|
* [megaco] Include more info in error reason when connect failsMicael Karlberg2021-12-021-2/+2
| | | | | | This is mostly to simplify debugging. OTP-17817
* [megaco] Updated app dependencyMicael Karlberg2021-09-071-2/+2
| | | | OTP-17533
* [megaco|tcp-transport] TCP transport can now use inet_backend optionMicael Karlberg2021-08-303-24/+100
| | | | | | | | | | | | | The option 'inet_backend' is now handled to make it possible to specifically configure the inet-backend (inet or socket). Also found what must be a very old bug in the tcp-transport handling of transports (linkdb). It was supposed to be a list but was initially just the atom 'undefined'. Result improper list. Which may not have been an issue in practice if you only used one transport... OTP-17533
* [megaco|udp-transport] UDP transport can now use inet_backend optionMicael Karlberg2021-08-303-19/+61
| | | | | | | The option 'inet_backend' is now handled to make it possible to specifically configure the inet-backend (inet or socket). OTP-17533
* Update megaco.appupRickard Green2021-05-201-2/+4
|
* [megaco] Removed deprecated function (marked for removal)Micael Karlberg2020-12-181-9/+0
| | | | OTP-17049
* Merge branch 'maint'Sverker Eriksson2020-11-201-1/+1
|\
| * megaco: Fix compile warning variable 'State' is unusedSverker Eriksson2020-11-201-1/+1
| |
* | Merge branch 'maint'Micael Karlberg2020-11-203-11/+56
|\ \ | |/ | | | | OTP-17012
| * Merge branch 'bmk/megaco/20201118/empty_statistics_descriptor/OTP-17012' ↵Micael Karlberg2020-11-203-11/+56
| |\ | | | | | | | | | | | | | | | into maint OTP-17012
| | * [megaco] Empty statistics descriptor incorrectly not allowedMicael Karlberg2020-11-183-12/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In version 3 of the standard its *allowed* to have an 'empty' statistics descriptor. ABNF for version 3: statisticsDescriptor = StatsToken [LBRKT statisticsParameter *(COMMA statisticsParameter) RBRKT] This differ from version 1 where the ABNF looks like this: statisticsDescriptor = StatsToken LBRKT statisticsParameter *(COMMA statisticsParameter ) RBRKT Note that there is some conflict with, for instance, auditReturnItem, which required "some tweaking". OTP-17012 (ERL-1405)
* | | otp: Remove HiPE and HiPE-related accessoriesJohn Högberg2020-11-095-20/+0
| | |
* | | Merge branch 'maint'Micael Karlberg2020-09-092-4/+4
|\ \ \ | |/ / | | | | | | OTP-16836
| * | [magaco] Updated the expected number of (yecc) warningsMicael Karlberg2020-09-072-4/+4
| | | | | | | | | | | | | | | | | | | | | Updated the expected nnumber of yecc warnings for the v2 and v3 parser's. OTP-16836
* | | Merge branch 'maint'Lars Thorsen2020-08-282-3/+3
|\ \ \ | |/ /
| * | Merge branch 'lars/megaco/v3_v2_ipv6_address_error/OTP-16818' into maintLars Thorsen2020-08-282-3/+3
| |\ \ | | | | | | | | | | | | | | | | | | | | * lars/megaco/v3_v2_ipv6_address_error/OTP-16818: [megaco|test] Add Test cases [megaco] V2/V3 text parser IPv6 address failure
| | * | [megaco] V2/V3 text parser IPv6 address failureLars Thorsen2020-08-262-3/+3
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The v2/v3 decoders could handle all kinds of IPv6 addresses. The reason for this was that some of the chars (a and e) in the short form was interpreted as 'AddToken' and 'EventsToken' respectively, which the v2/v3 parsers could not handle. ABNF for the mId (only the IPv6 version): mId = (( domainAddress / domainName ) [":" portNumber]) / mtpAddress / deviceName domainAddress = "[" (IPv4address / IPv6address) "]" IPv6address = hexpart [ ":" IPv4address ] hexpart = hexseq "::" [ hexseq ] / "::" [ hexseq ] / hexseq hexseq = hex4 *( ":" hex4) hex4 = 1*4HEXDIG HEXDIG = ( DIGIT / "A" / "B" / "C" / "D" / "E" / "F" ) DIGIT = %x30-39 ; 0-9 Example: [2409:8050:5005:1243:1011::a] The final 'a' (or 'e') caused it to fail. OTP-16818
* | | [megaco] Commented out unused functionMicael Karlberg2020-06-181-2/+2
| | |
* | | [megaco] Removed "old" binary files (no longer used)Micael Karlberg2020-06-092-576/+0
| | | | | | | | | | | | | | | | | | | | | These have just been lying there takeing up space for not good reason... OTP-16560
* | | [megaco] App clean after removal of all deprecated prev3 codec(s)Micael Karlberg2020-06-092-23/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Update the app file (removed all (deprecated) prev3 codec(s)). Also changed the message when setting a removed version3 encoding config (from warning when they where deprecated to error since they are now removed). OTP-16560
* | | [megaco] Removed all (deprecated) prev3 include filesMicael Karlberg2020-06-091-4/+1
| | | | | | | | | | | | OTP-16560
* | | [megaco] Removed all (deprecated) prev3 binary codec(s)Micael Karlberg2020-06-0924-14713/+9
| | | | | | | | | | | | OTP-16560
* | | [megaco] Removed all (deprecated) prev3 text codec(s)Micael Karlberg2020-06-0929-22649/+23
|/ / | | | | | | OTP-16560
* | Merge branch 'bmk/megaco/20200512/mini_parser_ipv6/22.3/OTP-16631' into maintMicael Karlberg2020-05-131-4/+4
|\ \ | | | | | | | | | OTP-16631
| * | [megaco] Mini text parser IPv6 address failureMicael Karlberg2020-05-121-4/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mini decoder could handle all kinds of IPv6 addresses. The reason for this was that the som of the chars (a and e) in the short form was interpreted as 'AddToken' and 'EventsToke' respectively, which the mini parser could not handle. ABNF for the mId (only the IPv6 version): mId = (( domainAddress / domainName ) [":" portNumber]) / mtpAddress / deviceName domainAddress = "[" (IPv4address / IPv6address) "]" IPv6address = hexpart [ ":" IPv4address ] hexpart = hexseq "::" [ hexseq ] / "::" [ hexseq ] / hexseq hexseq = hex4 *( ":" hex4) hex4 = 1*4HEXDIG HEXDIG = ( DIGIT / "A" / "B" / "C" / "D" / "E" / "F" ) DIGIT = %x30-39 ; 0-9 Example: [2409:8050:5005:1243:1011::a] The final 'a' (or 'e') caused it to fail. OTP-16631
* | Merge branch 'maint'Rickard Green2020-03-135-5/+5
|\ \ | |/ | | | | | | * maint: Update copyright year
| * Update copyright yearRickard Green2020-03-135-5/+5
| |
* | [megaco] Updated with regard to deprecated encoding configMicael Karlberg2020-03-1232-220/+789
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The codec(s) prev3a, prev3b and prev3c has been deprecated. Since they are never called directly by a user, there use is dependent on encodeding config, which the user provides, the reprecated attribute is not useful. Instead we rely on documentation (basically) and comments in the code for the eventual removal (in OTP 24). Also, a warning message is issued whenever an encoding config using the deprecated config is set: {version3, prev3a | prev3b | prev3c} OTP-16531
* | Merge branch 'maint'Micael Karlberg2020-02-131-1/+14
|\ \ | |/ | | | | OTP-16449
| * [megaco] Add (sdp) wrapper function to interface moduleMicael Karlberg2020-02-051-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | An already documented (wrapper) function was acually missing. The function megaco:get_sdp_record_from_PropertyGroup/2 was documented but did not exist in the main interface module (megaco.erl). It did exist inte the sdp module (megaco_sdp.erl). So, instead of documenting the megaco_sdp module, we added the missing wrapper function in the megaco module (so that the documentation is, finally, correct). OTP-16449
* | otp: Add descriptions to all deprecation attributesJohn Högberg2020-02-121-2/+1
|/
* [megaco] Improved internal utility functions for timestampsMicael Karlberg2019-12-101-6/+97
| | | | | | | Improve the internal (format and formated) timestamp utility functions. OTP-16158
* [megaco] Silence dialyzer warnings for "special" functionMicael Karlberg2019-11-041-1/+3
| | | | | | | | The functions (is_enabled and is_reentrant_enabled) used macro's defined during configure, which means they have at any given (run-) time a defined value. So, in order to satisfy dialyzer, the nowarn_function attribute has been added.
* [megaco] Timer cancellation improvementsMicael Karlberg2019-09-031-1/+1
| | | | | | When cancel a (megaco) timer, a failure (that is, a timer that has already expired) was converted to success. This in turn could confuse the (timer) test suite.
* [megaco] Update the app file and some docsMicael Karlberg2019-06-272-2/+3
| | | | OTP-15882
* [megaco] Add megaco_user behaviour moduleMicael Karlberg2019-06-275-10/+412
| | | | | | | | | | | Add a "proper" behaviour module for the megaco_user behaviour. This behaviour is not a proper behaviour since its possible to configure megaco to add additional arguments to *all* of the functions in the behaviour (with the user_args config option). So, this behaviour only reflects the *default config* (whith the user_args set to [], that is no extra args). OTP-15882
* [megaco] Updated behaviour definitionsMicael Karlberg2019-06-272-19/+118
| | | | | | | | Made the behaviour definitions of megaco_encoder and megaco_edist_compress follow "modern" standards (which satisfies dialyzer). OTP-15882
* [megaco] Various chages and corrections dealing with dialyzerMicael Karlberg2019-06-2722-36/+49
| | | | | | | | | Mostly added nowarn_function-attributes to silence dialyzer (for functions that are "future" proofed). But actually also found some errors (although the issues have not been found for almost 15 years, so...). OTP-15882
* Move configuration of crypto to crypto application from ertsRickard Green2018-08-211-30/+10
| | | | | In order to be able to handle runtime library path in crypto also DED parts was broken out into a macro.
* Update copyright yearRaimo Niskanen2017-05-043-3/+3
|