summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* v3_core: Fix wrapping of float/1 callBjörn Gustavsson2019-09-131-1/+4
| | | | | | | | | | | | | | | | | | When translating guards, any calls to BIFs that are not known to always return booleans should be wrapped in a comparison with `true`. This was not done for `float/1` BIF (as a conversion function, not the obsolete type test). Here is an example of a function where the `float/1` calls were not wrapped: foo(X) when float(X) or float(X) -> ok. Not wrapping `float/1` happens to be harmless, but is an annyoing inconsistency. With the correction, the guard will be rewritten like this during the translatation to Core Erlang: foo(X) when (float(X) =:= true) or (float(X) =:= true) -> ok.
* Merge branch 'maint'Lukas Larsson2019-09-111-70/+98
|\
| * Merge branch 'lukas/erts/lttng-fixes' into maintLukas Larsson2019-09-111-70/+98
| |\ | | | | | | | | | | | | | | | * lukas/erts/lttng-fixes: erts: Create ets load for lttng on seperate node erts: Update lttng tests to work again after emulator changed
| | * erts: Create ets load for lttng on seperate nodeLukas Larsson2019-09-111-2/+33
| | | | | | | | | | | | | | | | | | | | | This is needed so that we know that carriers will be created. If not then the ets testcases may have created enough carriers so that they will be reused here and we don't get the events that we expect.
| | * erts: Update lttng tests to work again after emulator changedLukas Larsson2019-09-111-68/+65
| | | | | | | | | | | | | | | | | | The lttng testcases assume that file handling is done through a port and that polling is done in the scheduler. This is no longer true so we have to update the tests.
* | | Merge branch 'maint'Raimo Niskanen2019-09-112-2/+3
|\ \ \ | |/ / | | | | | | | | | * maint: Fix auto timer cancel bug
| * | Merge branch 'raimo/stdlib/gen_statem-improve-timers/OTP-15510' into maintRaimo Niskanen2019-09-112-2/+3
| |\ \ | | | | | | | | | | | | | | | | * raimo/stdlib/gen_statem-improve-timers/OTP-15510: Fix auto timer cancel bug
| | * | Fix auto timer cancel bugRaimo Niskanen2019-09-112-2/+3
| | | |
* | | | Merge branch 'anders/common_test/NETCONF-1.1/OTP-15789'Anders Svensson2019-09-112-763/+1170
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * anders/common_test/NETCONF-1.1/OTP-15789: Tweak documentation Fix handling of non-RPC reply Simplify request timers Fix inaccurate comment Replace create_subscription/1-6 in 15 variants Fix documentation/spec of ssh-related options Be flexible with capabilities specification Document connect/hello timeout in one place Let capabilities be set for all session establishment Handle reception of invalid session-id Add ct_netconfc support for NETCONF 1.1 Don't treat reception of NETCONF > 1.0 hello as error
| * | | | Tweak documentationAnders Svensson2019-09-102-119/+122
| | | | | | | | | | | | | | | | | | | | Improve some wording and language, more details, minor fixes.
| * | | | Fix handling of non-RPC replyAnders Svensson2019-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reception of a reply to a message sent with send/2,3 caused other pending requests to be discarded. Corresponding replies from the server were then discarded and the function calls that sent the requests timed out, which is particularly unfortunate with the default (infinity) timeout.
| * | | | Simplify request timersAnders Svensson2019-06-061-47/+40
| | | | | | | | | | | | | | | | | | | | | | | | | Use erlang:start_timer/3 instead of timer:send_after/2 to remove the need for creating an extra reference to be sent in the timeout message.
| * | | | Fix inaccurate commentAnders Svensson2019-06-051-3/+4
| | | | |
| * | | | Replace create_subscription/1-6 in 15 variantsAnders Svensson2019-06-052-148/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With create_subscription/2,3 taking a map containing values; arity 2 without a timeout and arity 3 with, for consistency with other functions in the module. The old clauses remain for backwards compatibility (with simplified type specs, good enough to avoid warnings), but are no longer documented. Allow stopTime without startTime to be able to send such an invalid message (according to RFC 5277) to a server.
| * | | | Fix documentation/spec of ssh-related optionsAnders Svensson2019-06-052-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only user/password/user_dir were included in the type spec, and SshConnectOption didn't refer to anything. Add host as a more sane synonym for the existing ssh option.
| * | | | Be flexible with capabilities specificationAnders Svensson2019-06-032-7/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't require that the user wrap a capability string in a list, and accept the RFC 4721/6241 shorthand for NETCONF capabilities, a capability starting with a colon being appropriately prefixed. Any deep character list will do, but only document string() | [string()] for lack of a builtin deep character list type. For example, allow {capability, ":base:1.1"} instead of requiring {capability, ["urn:ietf:params:netconf:base:1.1"]}.
| * | | | Document connect/hello timeout in one placeAnders Svensson2019-06-031-18/+8
| | | | | | | | | | | | | | | | | | | | | | | | | With the type, not separately for each function in which it's referenced.
| * | | | Let capabilities be set for all session establishmentAnders Svensson2019-06-032-155/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit e69da353 added the possibility of passing capabilities to hello/3, but didn't allow them to be passed into open/2. Not strictly necessary, but simpler than having to call only_open/2 followed by hello/3 if all that's wanted is to add capabilties to the hello message. Commit 63d63920 then added session/3 for multiple channels per connection, but no way of passing capabilities or omitting hello, the former now being a problem if the user wants to send the NETCONF 1.1 base capability. Give the user control over capabilities by allowing them to be passed to session/3, and to open/2 for consistency, but don't do anything about avoiding hello in session/3. That capabilities have to be specified as a list of strings makes little sense for the user, but is because commit e69da353 passed what xmerl:export_simple/3 wanted. Also leave this as is for now. Don't document server capabilities since these depend on the NETCONF version. The history isn't clear, but an option to delay hello by some specified amount of time (or indefinitely) may have been a simpler alternative to what only_open/hello are meant to achieve.
| * | | | Handle reception of invalid session-idAnders Svensson2019-06-031-16/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RFC 6241 says the following in 8.1 Capabilities Exchange. A server sending the <hello> element MUST include a <session-id> element containing the session ID for this NETCONF session. A client sending the <hello> element MUST NOT include a <session-id> element. A server receiving a <hello> message with a <session-id> element MUST terminate the NETCONF session. Similarly, a client that does not receive a <session-id> element in the server's <hello> message MUST terminate the NETCONF session (without first sending a <close-session>). This doesn't say anything about the type of session-id, but the XML schema in Appendix B defines it as a positive integer, and receiving an invalid value is reasonably equivalent to not receiving the element at all.
| * | | | Add ct_netconfc support for NETCONF 1.1Anders Svensson2019-05-292-285/+625
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 1.1 base capability can now be passed to hello/3, and the version selected for the session is as required by RFC 6241, 8.1 Capabilities Exchange: Both NETCONF peers MUST verify that the other peer has advertised a common protocol version. When comparing protocol version capability URIs, only the base part is used, in the event any parameters are encoded at the end of the URI string. If no protocol version capability in common is found, the NETCONF peer MUST NOT continue the session. If more than one protocol version URI in common is present, then the highest numbered (most recent) protocol version MUST be used by both peers. Negotiation of 1.1 (or any version greater than 1.0) results in message being chunked as required by RFC 6242, instead of the 1.0 framing (]]>]]>) specified by RFC 4742. For backwards compatibility, the 1.0 base capability is added to any capabilities specified by the user only if no base capability is specified. That is, no user-specified base capability results in 1.0 being added, otherwise it's up to the user to specify all base capabilities.
| * | | | Don't treat reception of NETCONF > 1.0 hello as errorAnders Svensson2019-05-161-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Module ct_netconfc appears to have followed the introduction of NETCONF 1.1 in RFC 6241, but assumes NETCONF 1.0 (RFC 4741). A server supporting the 1.1 can send the corresponding base capability in hello, which caused ct_netconfc to close the connection. Now simply ignore any version but 1.0, and fail only if the server doesn't advertise 1.0. Actual support for 1.1 is still missing: being able to agree on this version with the peer and receive messages that are chunked as specified in RFC 6242.
* | | | | Merge branch 'maint'Hans Nilsson2019-09-111-2/+5
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | * maint: ftp: Break loop
| * | | | Merge branch 'hans/ftp/break_infinit_loop/OTP-16056' into maintHans Nilsson2019-09-111-2/+5
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * hans/ftp/break_infinit_loop/OTP-16056: ftp: Break loop
| | * | | | ftp: Break loopHans Nilsson2019-09-101-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | when a partial message is in CtrlData. Appending <<>> from activate_ctrl_connection (2nd clause) will cause the {continue,NewCtrlData} to be selected. But since NewCtrlData == CtrlData, an infinite loop did occur.
* | | | | | Merge branch 'maint'Ingela Anderton Andin2019-09-110-0/+0
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge branch 'ingela/inets/httpd-status-code/OTP-16049' into maintIngela Anderton Andin2019-09-112-14/+36
| |\ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | * ingela/inets/httpd-status-code/OTP-16049: inets, httpd: Use actual statuscode instead of hardcoding 200
* | | | | | Merge branch 'maint'Hans Nilsson2019-09-101-0/+12
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | * maint: ssh: Type daemon_info_tuple added in doc
| * | | | | Merge branch 'hans/ssh/connection_info_update_doc/OTP-16040' into maintHans Nilsson2019-09-101-0/+12
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * hans/ssh/connection_info_update_doc/OTP-16040: ssh: Type daemon_info_tuple added in doc
| | * | | | | ssh: Type daemon_info_tuple added in docHans Nilsson2019-09-091-0/+12
| | | | | | |
* | | | | | | Merge branch 'maint'Ingela Anderton Andin2019-09-103-15/+37
|\ \ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'ingela/ssl/compiler-warning' into maintIngela Anderton Andin2019-09-101-1/+1
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ingela/ssl/compiler-warning: ssl: Remove unused variable warning
| | * | | | | | | ssl: Remove unused variable warningIngela Anderton Andin2019-09-091-1/+1
| | | | | | | | |
| * | | | | | | | Merge branch 'ingela/inets/httpd-status-code/OTP-16049' into maintIngela Anderton Andin2019-09-102-14/+36
| |\ \ \ \ \ \ \ \ | | |_|/ / / / / / | |/| | | / / / / | | | |_|/ / / / | | |/| | | | | * ingela/inets/httpd-status-code/OTP-16049: inets, httpd: Use actual statuscode instead of hardcoding 200
| | * | | | | | inets, httpd: Use actual statuscode instead of hardcoding 200Ingela Anderton Andin2019-09-092-14/+36
| | | | | | | |
* | | | | | | | Merge branch 'maint'Lars Thorsen2019-09-092-4/+4
|\ \ \ \ \ \ \ \ | |/ / / / / / /
| * | | | | | | Merge branch 'lars/support-fop21/OTP-16051' into maintLars Thorsen2019-09-092-4/+4
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lars/support-fop21/OTP-16051: Support fop 2.1 in the build support for the documentation
| | * | | | | | | Support fop 2.1 in the build support for the documentationLars Thorsen2019-09-092-4/+4
| | | | | | | | |
* | | | | | | | | Merge branch 'maint'Raimo Niskanen2019-09-096-208/+570
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: Update documentation after review Change data structure for Timers Implement timeout cancel and update Improve sys:log of timeouts Log time-outs in crash and get_status
| * | | | | | | | Merge branch 'raimo/stdlib/gen_statem-improve-timers/OTP-15510' into maintRaimo Niskanen2019-09-096-208/+570
| |\ \ \ \ \ \ \ \ | | | |_|_|_|_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * raimo/stdlib/gen_statem-improve-timers/OTP-15510: Update documentation after review Change data structure for Timers Implement timeout cancel and update Improve sys:log of timeouts Log time-outs in crash and get_status
| | * | | | | | | Update documentation after reviewRaimo Niskanen2019-08-291-18/+49
| | | | | | | | |
| | * | | | | | | Change data structure for TimersRaimo Niskanen2019-08-291-146/+95
| | | | | | | | |
| | * | | | | | | Implement timeout cancel and updateRaimo Niskanen2019-08-294-100/+397
| | | | | | | | |
| | * | | | | | | Improve sys:log of timeoutsRaimo Niskanen2019-08-294-27/+96
| | | | | | | | |
| | * | | | | | | Log time-outs in crash and get_statusRaimo Niskanen2019-08-202-4/+20
| | | | | | | | |
* | | | | | | | | Merge branch 'maint'Raimo Niskanen2019-09-092-28/+53
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: Mention action handling details in user's guide Clarify handling of Actions
| * | | | | | | | Merge branch 'raimo/doc-cleanup' into maintRaimo Niskanen2019-09-092-28/+53
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * raimo/doc-cleanup: Mention action handling details in user's guide Clarify handling of Actions
| | * | | | | | | | Mention action handling details in user's guideRaimo Niskanen2019-08-011-0/+12
| | | | | | | | | |
| | * | | | | | | | Clarify handling of ActionsRaimo Niskanen2019-07-311-28/+41
| | |/ / / / / / /
* | | | | | | | | Merge branch 'maint'Raimo Niskanen2019-09-091-24/+29
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: Make check of delay_send error more forgiving
| * | | | | | | | Merge branch 'raimo/test-cuddling' into maintRaimo Niskanen2019-09-091-24/+29
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * raimo/test-cuddling: Make check of delay_send error more forgiving