aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2015-02-20Use new time api in test suitesAnders Svensson
Where it's less important to do so, but it has to be done at some point since erlang:now/0 is deprecated. As in the parent commit, continue to use the old api if the new one is unavailable.
2015-02-20Use new time api in implementationAnders Svensson
In particular, deal with the deprecation of erlang:now/0 in OTP 18. Be backwards compatible with older releases: the new api is only used when available. The test suites have not been modified.
2015-02-20Be backwards compatible with diameter_sctp listener stateAnders Svensson
Commit 24993fc2 modified the state even in the case that the new pool_size option the change was introduced to support was not used. Doing so made downgrade impossible since old code would not be prepared for the modified state. Retain a compatible state, so that simple code replacement is enough.
2015-02-20Add gen_tcp testcase that fails sporadicallyAnders Svensson
On OS X at least. The testcase opens a listening socket, spawns 8 processes that call gen_tcp:accept/1, waits a couple of seconds, and then spawns 8 processes that call gen_tcp:connect/3. Some of these occasionally return {error, econnreset}.
2015-02-20Simplify transport suiteAnders Svensson
Using the fact that transport processes can now be started concurrently. The suite serialized starts itself when pretending to be diameter starting a transport process.
2015-02-20Remove (ancient) dead codeAnders Svensson
Commit 9a671bf0 removed the need for diameter_sctp to send outgoing messages through the listening process. That was prior to R5B02, so the clause isn't need for any upgrade case.
2015-02-20Don't orphan slave nodes in example suiteAnders Svensson
Stops were aborted at the first failure.
2015-02-20Refresh example codeAnders Svensson
Which hasn't received any attention for some time. Clean it up, rename the poorly named peer.erl (it's Diameter *nodes* that are implemented), and make the it possible to specify arbitrary transport configuration.
2015-02-20Improve language consistency in diameter(1)Anders Svensson
In particular, do away with unnecessary articles in the first sentence of item lists.
2015-02-20Add pool suite to test transport_opt() pool_sizeAnders Svensson
With testcases that uses restrict_connections and pool_size config to establish multiple connections between two Diameter nodes, checking for the expected number of transport processes using diameter:service_info/2.
2015-02-20Adapt tcp/sctp transport modules for pool_size > 1Anders Svensson
In particular, that starts for the same transport reference can now be concurrent. Looking up a listener process and starting a new one if not found did handle this (more than one process could find no listener), and diameter_sctp assumed there could only be one transport process waiting for an association.
2015-02-20Add transport_opt() pool_sizeAnders Svensson
Transport processes are started by diameter one at a time. In the listening case, a transport process accepts a connection, tells the peer_fsm process, which tells its watchdog process, which tells its service process, which then starts a new watchdog, which starts a new peer_fsm, which starts a new transport process, which (finally) goes about accepting another connection. In other words, not particularly aggressive in accepting new connections. This behaviour doesn't do particularly well with a large number of concurrent connections: with TCP and 250 connecting peers we see connections being refused. This commit adds the possibilty of configuring a pool of accepting processes, by way of a new transport option, pool_size. Instead of diameter:add_transport/2 starting just a single process, it now starts the configured number, so that instead of a single process waiting for a connection there's now a pool. The option is even available for connecting processes, which provides an alternate to adding multiple transports when multiple connections to the same peer are required. In practice this also means configuring {restrict_connections, false}: this is not implicit. For backwards compatibility, the form of diameter:service_info(_,transport) differs in the connecting case, depending on whether or not pool_size is configured. Note that transport processes for the same transport_ref() can be started concurrently when pool_size > 1. This places additional requirements on diameter_{tcp,sctp}, that will be dealt with in a subsequent commit.
2014-12-09Prepare releaseErlang/OTP
2014-12-09Merge remote-tracking branch 'upstream/maint' into maintHans Nilsson
2014-12-09ssh: Fix syntax error in .appupHans Nilsson
2014-12-09revert ssh testcaseMarcus Arendt
2014-12-09Merge branch 'dgud/debugger/still-invoked-gs-functions/OTP-12357' into maintDan Gudmundsson
* dgud/debugger/still-invoked-gs-functions/OTP-12357: debugger: Do not use the old removed gs functionality
2014-12-08ssh: Fix .app and .appupHans Nilsson
2014-12-08Merge branch 'rickard/appup-files/OTP-12358' into maintRickard Green
* rickard/appup-files/OTP-12358: Add .appup file
2014-12-08Add .appup fileRickard Green
2014-12-08Merge branch 'rickard/autoconf/OTP-12348' into maintRickard Green
* rickard/autoconf/OTP-12348: Update megaco.appup.src
2014-12-08Update megaco.appup.srcRickard Green
2014-12-08debugger: Do not use the old removed gs functionalityDan Gudmundsson
dbg_ui_trace module was invoked even though the module had been removed.
2014-12-05Revert "ssh: Corrected ret val from ssh_connection:subsystem/4."Marcus Arendt
This reverts commit d086394ebd3595d431835af80709977a6c1c7c89.
2014-12-03Merge branch 'rickard/autoconf/OTP-12348' into maintRickard Green
* rickard/autoconf/OTP-12348: Distribute autoconf helpers
2014-12-03Merge branch 'raimo/netns-opt-gen_udp/OTP-12314' into maintRaimo Niskanen
* raimo/netns-opt-gen_udp/OTP-12314: Text netns option at socket open Fix handling netns option in gen_udp
2014-12-03ssl: Correct appupIngela Anderton Andin
2014-12-02Distribute autoconf helpersRickard Green
Distribute aclocal.m4, install-sh, config.guess, and config.sub to applications at build time instead of having multiple identical copies committed in the repository.
2014-12-02ssh: Add soft upgrade for ptty_allocIngela Anderton Andin
2014-12-02Merge branch 'egil/fix-dialyzer-map-key-coalescing/OTP-12347' into maintBjörn-Egil Dahlberg
* egil/fix-dialyzer-map-key-coalescing/OTP-12347: dialyzer: Test recoalesced map keys compiler: Coalesce map keys in dialyzer mode
2014-12-02Merge branch 'anders/diameter/17.4_release/OTP-12343' into maintAnders Svensson
* anders/diameter/17.4_release/OTP-12343: vsn -> 1.8 Update appup for 17.4
2014-12-02Merge branch 'siri/ct_netconfc/subsystem-timeout/OTP-12334' into maintHenrik Nord
* siri/ct_netconfc/subsystem-timeout/OTP-12334: [ct_netconfc] Handle timeout failure in ssh
2014-12-02Merge branch 'siri/ct_telnet/unstable-tests/OTP-12329' into maintHenrik Nord
* siri/ct_telnet/unstable-tests/OTP-12329: [ct_telnet] Fix test case 'server_speaks' [ct_telnet] Improve debug printouts and logging [ct_telnet] Add timestamp to telnet_server debug printout [ct_telnet] Extend timeout in test from 1 to 2 sek [ct_telnet] Don't send extra newline after password
2014-12-02Merge branch 'hans/ssh/appup' into maintHans Nilsson
* hans/ssh/appup: ssh: Fixes wrong version in appup file
2014-12-02ssh: Fixes wrong version in appup fileHans Nilsson
2014-12-02Merge branch 'tuncer/doc-fixes' into maintMarcus Arendt
* tuncer/doc-fixes: dict(3): fix typo reported by Rabbe Fogelholm Fix minor eprof and fprof doc issues
2014-12-02Merge branch 'ia/inets/prep-for-release' into maintIngela Anderton Andin
* ia/inets/prep-for-release: inets: Prepare for release
2014-12-02Merge branch 'ia/ssl/dialyzer/OTP-12341' into maintIngela Anderton Andin
* ia/ssl/dialyzer/OTP-12341: ssl: Prepare for release ssl: Change code to reflect that state data may be secret
2014-12-02Text netns option at socket openRaimo Niskanen
2014-12-02Merge branch 'raimo/snmp/compiler/allow_refinement_of_opaque/17/OTP-12066' ↵Raimo Niskanen
into maint * raimo/snmp/compiler/allow_refinement_of_opaque/17/OTP-12066: [snmp/compiler] Refinement of type Opaque was not allowed MIB constructs such as "SYNTAX Opaque (SIZE(0..65535))" was previously not allowed, this has now been fixed. See the standard ALARM-MIB for eaxmple.
2014-12-01vsn -> 1.8Anders Svensson
2014-12-01Update appup for 17.4Anders Svensson
OTP-12196 remote request table leak OTP-12233 3xxx result code without E-bit OTP-12281 ignored connect_timer OTP-12308 filter ordering
2014-12-01ssl: Prepare for releaseIngela Anderton Andin
2014-12-01ssl: Change code to reflect that state data may be secretIngela Anderton Andin
2014-12-01inets: Prepare for releaseIngela Anderton Andin
2014-12-01Merge branch 'hans/ssh/appup' into maintHans Nilsson
* hans/ssh/appup: ssh: prepares appup file for release
2014-12-01ssh: prepares appup file for releaseHans Nilsson
2014-12-01dialyzer: Test recoalesced map keysBjörn-Egil Dahlberg
2014-12-01compiler: Coalesce map keys in dialyzer modeBjörn-Egil Dahlberg
This fixes a regression introduced in commit 805f9c89fc01220bc1bb0f27e1b68fd4eca688ba The problem occured with map keys compiled with dialyzer option turned on. In OTP 17, map keys needs to be literals.
2014-12-01Merge branch 'anders/diameter/filters/OTP-12308' into maintAnders Svensson
* anders/diameter/filters/OTP-12308: Order peers in pick_peer callbacks