Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-06-12 | crypto: add test for rsa keygen 1024/3 | Hans Nilsson | |
2017-06-12 | crypto: filter out small mod in test suite for rsa keygen in FIPS mode | Hans Nilsson | |
2017-06-12 | Merge branch 'hans/ssh/cuddle_tests' | Hans Nilsson | |
2017-06-12 | Merge branch 'hans/ssh/doc_fixes' | Hans Nilsson | |
2017-06-12 | ssh: Document send_ext_info and recv_ext_info options | Hans Nilsson | |
2017-06-12 | ssh: Doc for SSH application updated | Hans Nilsson | |
2017-06-12 | ssh: fix sporadic error in ssh_options_SUITE | Hans Nilsson | |
2017-06-12 | ssh: fix sporadic error in ssh_protocol_SUITE | Hans Nilsson | |
2017-06-12 | compiler: Handle (bad) Unicode parse transform module names | Hans Bolinder | |
2017-06-12 | Merge branch 'dgud/stdlib/shell-find-src' | Dan Gudmundsson | |
* dgud/stdlib/shell-find-src: stdlib: Lookup src path in beam | |||
2017-06-12 | beam_type_SUITE: Add a test case for an already fixed bug | Björn Gustavsson | |
https://bugs.erlang.org/browse/ERL-433 | |||
2017-06-12 | Merge pull request #1485 from IngelaAndin/ingela/dtls/get-and-setopts | Ingela Andin | |
dtls: Handle getopts and setopts for DTLS | |||
2017-06-12 | Update primary bootstrap | Björn Gustavsson | |
2017-06-12 | Merge pull request #1483 from bjorng/bjorn/compiler/bsm-anno/ERIERL-30 | Björn Gustavsson | |
Fix unsafe bit syntax matching optimization | |||
2017-06-12 | Merge branch ↵ | Raimo Niskanen | |
'raimo/kernel/inet_ntoa_1-IPv6-lowercase/ERIERL-20/ERL-429/OTP-13006' * raimo/kernel/inet_ntoa_1-IPv6-lowercase/ERIERL-20/ERL-429/OTP-13006: Accept IPv6 address %suffixes when parsing Adjust inet:ntoa/1 to RFC5952, but not deeper Update inet:ntoa according to modern RFCs | |||
2017-06-12 | Accept IPv6 address %suffixes when parsing | Raimo Niskanen | |
This only implements decimal suffixes, and furthermore only with a leading "0". A complete implementation would probably allow one and probably two digit suffixes without. But what primarily is missing is translating interface names to and from interface indexes. This also only implements the parsing, and uses the FreeBSD trick of squeezing in the Scope Id in the second 16-bit word of the fe80::/64 or ff02:/64 address prefix. But inet_drv is not prepared to handle this word, so it might only work on FreeBSD, not being supported even there... So inet_drv needs to handle this too. | |||
2017-06-11 | Make diameter_{tcp,sctp} sender configurable | Anders Svensson | |
With sends still from the receiving process by default, since changing the default behaviour may well have negative effects. A separate sender probably implies a greater need for some form of load regulation for one, since a blocking send would no longer imply that incoming messages are no longer recevied. Dealing with this could result in the same deadlock that the sending process intends to avoid, but the user should be in control over how/when incoming traffic is regulated. | |||
2017-06-11 | Remove upgrade from diameter_sctp; tweak diameter_tcp to match | Anders Svensson | |
Added in commit 2afd1fe5. Only rename variables in diameter_tcp, no functional change. | |||
2017-06-11 | Fix incomprehensible dialyzer warning | Anders Svensson | |
This: diameter_tcp.erl:241: Record construction #transport{parent::'false',ssl::boolean() | maybe_improper_list(),frag::<<>>,tref::'false',flush::'false',pending::0,reset::{1 | 4,0 | 2},throttled::boolean(),q::{0,queue:queue(_)},monitor::'undefined' | pid()} violates the declared type of field parent::pid() The problem isn't #transport.pid at all, it's #monitor.pid, and the only relation is that the pid that's assigned to the latter is also (later) assigned to the former. There is no record construction that assigns false to #transport.parent. Introduced in commit 33a535e4. | |||
2017-06-11 | Simplify acks to transport processes | Anders Svensson | |
What's interesting when implementing some form of load regulation is when an incoming request has been answered or discarded. Acknowledge exactly this, not the identity of handler processes as previously. A transport process can request acks of nonforthcoming answers by sending {diameter, ack} to the parent peer_fsm, a handler processes identifies itself with a {handler, pid()} message, and the peer_fsm monitors on this to be able to send a notification to the transport if the handler dies before sending an answer. | |||
2017-06-11 | Strip throttling callbacks from diameter_tcp | Anders Svensson | |
Commits starting at 472a080c added a throttle_cb option to diameter_tcp to let a callback apply backpressure when it decides that additional requests should not be read. It didn't provide a hook for knowing that an answer was sent however, which is needed when sends no longer take place in the receiver process, and is more complicated than it should be. Strip it all away, in preparation for a simpler incarnation. | |||
2017-06-11 | Deal with (another) SCTP association id quirk on Solaris | Anders Svensson | |
Shutdown events have been seen to get a different association id. For example, first incoming message with association id = 0: + {trace_ts,<6421.268.0>,call, {diameter_sctp,handle_info, [{sctp,#Port<6421.2588>, {10,67,16,179}, 44159, {[{sctp_sndrcvinfo,0,0,[],0,0,0,269950872,269950872,0}], <<1,0,0,156,128,0,1,1,0,0,0,0,6,193,40,137,6,193,40,137,0,0, 1,8,64,0,0,30,67,45,49,51,52,50,49,55,52,52,49,46,101,114, 108,97,110,103,46,111,114,103,0,0,0,0,1,40,64,0,0,18,101, 114,108,97,110,103,46,111,114,103,0,0,0,0,1,1,64,0,0,14,0, 1,127,0,0,1,0,0,0,0,1,10,64,0,0,12,0,0,48,57,0,0,1,13,0,0, 0,20,79,84,80,47,100,105,97,109,101,116,101,114,0,0,1,22, 64,0,0,12,0,0,0,1,0,0,1,2,64,0,0,12,0,0,0,0,0,0,1,3,64,0,0, 12,0,0,0,3>>}}, {transport,<6421.252.0>,accept,#Port<6421.2588>,true,undefined, {32,32}, 0,undefined}]}, {1493,21505,577938}} Later, a shutdown event with association id 1536: + {trace_ts,<6421.268.0>,call, {diameter_sctp,handle_info, [{sctp,#Port<6421.2588>, {10,67,16,179}, 44159, {[],{sctp_shutdown_event,1536}}}, {transport,<6421.252.0>,accept,#Port<6421.2588>,0,undefined, {32,32}, 2,<6421.304.0>}]}, {1493,21505,746929}} Both this and the grandparent commit are on this: $ uname -a SunOS beren 5.10 Generic_118833-33 sun4v sparc SUNW,Netra-T2000 | |||
2017-06-11 | Use binary:copy/2 when generating largish data in test suites | Anders Svensson | |
Faster than lists:duplicate/2. | |||
2017-06-11 | Deal with SCTP association id quirk on Solaris | Anders Svensson | |
In particular, that the association id received in messages on a one-to-one socket after peeloff may be different from the id received on the listen socket at comm_up. This seems odd, since it's then not possible to send until the id is discovered by reception of an SCTP message containing it, but it's unclear if this is a bug or a feature, or if it's specific to certain platforms. Treat it as a feature in this commit, and get the association id as mentioned, an incoming CER being expected before anything is sent. Commit da3e5d67 has more history. | |||
2017-06-11 | Make skipped SCTP testcases more visible in traffic suite | Anders Svensson | |
By explicitly skipping instead of omitting testcases from groups. | |||
2017-06-11 | Make traffic suite fail less brutally | Anders Svensson | |
Autoskip traffic testcases if transport isn't established instead of having traffic cases run and fail. | |||
2017-06-11 | Remove superfluous traffic testcase | Anders Svensson | |
Testcase is already run elsewhere on the suite. | |||
2017-06-11 | Rework gen_sctp suite to demonstrate remaining problems | Anders Svensson | |
In particular, that transmission can be very slow. The problem appears to be linked to sndbuf/recbuf, but even with buffers that are large enough to hold all messages being sent, turnaround times can still vary by hundreds of milliseconds in a reasonable test environment. Use multiple streams and a sender process to more closely mirror the usage in diameter_sctp, but neither is the source of the problems. | |||
2017-06-11 | Fix diameter_transport_SUITE race | Anders Svensson | |
The server sent and died, but there's no guarantee that it won't take the connection down before the client has receive its bytes. Make the server wait for the client to take down the connection. | |||
2017-06-11 | Work around SCTP quirks on sparc-sun-solaris2.10 | Anders Svensson | |
This addresses the testcase failures mentioned in the parent commit, which has been on account of the behaviour below, in which connect fails on the loopback address. Work around it by finding/using another address if possible. $ erl Erlang/OTP 20 [DEVELOPMENT] [erts-9.0] [smp:2:2] [ds:2:2:10] [async-threads:10] [hipe] [kernel-poll:false] [sharing-preserving] Eshell V9.0 (abort with ^G) 1> {ok, LP} = gen_sctp:open(). {ok,#Port<0.439>} 2> gen_sctp:listen(LP, true). ok 3> inet:socknames(LP). {ok,[{{10,67,16,178},36506},{{127,0,0,1},36506}]} 4> {ok, S} = gen_sctp:open([{ip, {127,0,0,1}}]). {ok,#Port<0.443>} 5> gen_sctp:connect_init(S, {127,0,0,1}, 36506, []). {error,eaddrnotavail} 6> gen_sctp:connect_init(S, {10,67,16,178}, 36506, []). {error,eaddrnotavail} 7> gen_sctp:close(S). ok 8> f(S). ok 9> {ok, S} = gen_sctp:open(). {ok,#Port<0.444>} 10> gen_sctp:connect_init(S, {127,0,0,1}, 36506, []). ok Even the following has been seen on at least one host, so that success of gen_sctp:open/0 is no guarantee. $ ifconfig -a4 lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 bge0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 2 inet 10.67.16.180 netmask ffffff00 broadcast 10.67.16.255 $ erl Erlang/OTP 20 [DEVELOPMENT] [erts-9.0] [source] [smp:2:2] [ds:2:2:10] [async-threads:10] [hipe] [kernel-poll:false] Eshell V9.0 (abort with ^G) 1> {ok, S} = gen_sctp:open(), 1> gen_sctp:connect(S, {127,0,0,1}, 3868, []). {error,eafnosupport} 2> gen_sctp:connect(S, {10,67,16,180}, 3868, []). {error,eafnosupport} | |||
2017-06-11 | Revert "diameter: Do not test SCTP on sparc-sun-solaris2.10" | Anders Svensson | |
The comment in commit 736ce20a isn't quite true. There's no different behaviour that diameter doesn't support, but there is a quirk with the loopback address that has caused many testcases to fail. This will be addressed in a subsequent commit. Reverts commit 736ce20a. | |||
2017-06-11 | Add missing dialyzer types | Anders Svensson | |
Which dialyzer itself has never complained about. | |||
2017-06-11 | Don't send from receiving transport processes | Anders Svensson | |
Both diameter_tcp and diameter_sctp are susceptible to deadlock since a peer that blocks send also prevents additional messages from being received. Send from a process that's paired with the transport process to avoid this. Use the existing monitor process in the TCP case, add one in the SCTP case. This has been the reason for many sporadic testcase failures, mostly in diameter_traffic_SUITE. | |||
2017-06-11 | Fix gen_tcp close of ssl socket | Anders Svensson | |
Should be ssl:close/1. | |||
2017-06-11 | Remove clauses supporting old code | Anders Svensson | |
Since smooth upgrade won't be supported in this branch. | |||
2017-06-11 | Correct comment typo | Anders Svensson | |
2017-06-11 | Fix handling of message length errors | Anders Svensson | |
Message length errors in incoming messages were misinterpreted with transport_opt() {length_errors, exit} due to the throw introduced in commit 2ffb288: the corresponding catch in incoming/2 caught errors thrown by close/1, leading to failure when the error reason was interpreted as a diameter_packet record. Do away with the throw, that also caused woe in the parent commit. | |||
2017-06-11 | Fix broken discard acknowledgement | Anders Svensson | |
A transport process can request acknowledgement of the fate of an incoming message to a specified pid, causing it to receive one of {diameter, {request|answer, pid()} | discard} depending on whether or not diameter passes the message off to a handler process. This was broken in commit a4da06a5 (since recv/3 threw a message that should be received), but is of little consequence since the interface isn't yet documented and is only used from diameter_tcp with configuration that will soon change. | |||
2017-06-11 | Remove trailing whitespace | Anders Svensson | |
From commits 5ca5fb71 and 58091992. | |||
2017-06-10 | dtls: Handle getopts and setopts for DTLS | Ingela Anderton Andin | |
2017-06-09 | kernel: Improve handling of Unicode filenames | Hans Bolinder | |
2017-06-09 | stdlib: Handle Unicode atoms in ms_transform | Hans Bolinder | |
2017-06-09 | Merge pull request #1400 from tburghart/trb/erts/enif_whereis | Rickard Green | |
Add enif_whereis_pid() and enif_whereis_port() functions OTP-14453 | |||
2017-06-09 | stdlib: Improve Unicode handling of the Erlang parser | Hans Bolinder | |
2017-06-09 | stdlib: Handle unknown compiler options with Unicode | Hans Bolinder | |
2017-06-09 | stdlib: Handle Unicode macro names | Hans Bolinder | |
2017-06-09 | stdlib: Correct Unicode handling in escript | Hans Bolinder | |
2017-06-09 | dialyzer: Improve handling of Unicode | Hans Bolinder | |
2017-06-09 | parsetools: Improve handling of Unicode atoms | Hans Bolinder | |
2017-06-09 | stdlib: Handle Unicode atoms when formatting stacktraces | Hans Bolinder | |