aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2017-10-30stdlib: Update documentation (normalize/1)Péter Dimitrov
2017-10-27stdlib: Implement normalize/1Péter Dimitrov
Implements the following Syntax-Based Normalizations: - Case Normalization - Percent-Encoding Normalization - Path Segment Normalization - Scheme-Based Normalization - HTTP(S) - Basic support for FTP, SSH, SFTP, TFTP
2017-10-27stdlib: Allow undefined port in uri_map()Péter Dimitrov
uri_map() updated to allow 'undefined' ports in order to align the implementation with RFC 3986: port = *DIGIT An 'undefined' port is mapped to a ":" during recompose operation.
2017-10-26stdlib: Update documentation, error tuplesPéter Dimitrov
2017-10-25stdlib: Refactor dissect_queryPéter Dimitrov
2017-10-25stdlib: Refactor compose_queryPéter Dimitrov
2017-10-24stdlib: Refactor parsed binary calculationPéter Dimitrov
2017-10-24stdlib: Fix title in uri_string.xmlPéter Dimitrov
2017-10-24stdlib: Update supported separators (query string)Péter Dimitrov
Update list of supported separators: - escaped_amp (default): "&" - amp: "&" - semicolon: ";"
2017-10-23stdlib: Update documentation (uri_string)Péter Dimitrov
2017-10-23stdlib: Improve error handlingPéter Dimitrov
2017-10-23stdlib: Implement compose_query and dissect_queryPéter Dimitrov
2017-10-23stdlib: Improve support of mixed lists (transcode)Péter Dimitrov
- transcode/2 flattens input lists in order to be able to handle lists with percent-encoded parts that are split into muliple list and binary segments. - Add additional tests for transcoding mixed lists.
2017-10-23stdlib: Change handling of queries ["?" query]Péter Dimitrov
Previously when parsing queries the first "?" was part of the parsed query in the result Map. This behavior has been changed to follow the patterns used with other URI components and to not include the special character(s) that mark the start of a specific component.
2017-10-23stdlib: Implement transcode/2.Péter Dimitrov
2017-10-23stdlib: Add property tests, bugfixesPéter Dimitrov
- Add property tests using PropEr. - Add new testcases to uri_string_SUITE. - Improve calculation of parsed binary. - Verify if input to parse() is UTF8 encoded. - Update is_valid_map(): added check for path and host.
2017-10-23stdlib: Improve calculation of parsed binaryPéter Dimitrov
- Improved calculation of parsed binary. - Added tests for special corner cases. - Fixed dialyzer warnings.
2017-10-23stdlib: Implement recomposePéter Dimitrov
- Implemented recompose function with percent-encoding and validation of IPv4/IPv6 addresses. - Added test for recompose that uses a generated test vector (URI combinations based on a fix set of URI components). - Added test for parse-recompose using a generated test vector. - Removed parsing functions for lists. Lists are converted to binary before parsing.
2017-10-23stdlib: Add support to parse percent-encoded URIsPéter Dimitrov
2017-10-23stdlib: Add support for parsing IPv4 and IPv6Péter Dimitrov
2017-10-23stdlib: Implement uri_string:parsePéter Dimitrov
2017-10-23stdlib: Add API and doc of uri_string modulePéter Dimitrov
2017-10-23Merge pull request #1565 from mikpe/stdlib-base64-decode-speedupHans Bolinder
base64:decode(List) optimized reimplementation OTP-14624
2017-10-23Merge branch 'maint'Siri Hansen
2017-10-23Merge branch 'siri/rb/fix-bad_form/ERL-261/OTP-13906' into maintSiri Hansen
* siri/rb/fix-bad_form/ERL-261/OTP-13906: [rb] Don't fail for unexpected type of report
2017-10-23Merge branch 'bjorn/compiler/match-literals'Björn Gustavsson
* bjorn/compiler/match-literals: Optimize instructions for comparing a register with a literal Optimize matching of literals for single-valued types
2017-10-23Merge branch 'maint'Dan Gudmundsson
* maint: fix win32 share filename join/split (#1604) Correct io_vec handling
2017-10-23Merge branch 'dgud/wx/fix-empty-binaries/OTP-14688' into maintDan Gudmundsson
* dgud/wx/fix-empty-binaries/OTP-14688: Correct io_vec handling
2017-10-23fix win32 share filename join/split (#1604)Bikram Chatterjee
Handle UNC (shared) path on win32, previously "//dir/.." and "\\\\dir\.." was cleaned up to "/dir/.." which was not correct. OTP-14693
2017-10-23Merge branch 'maint'Ingela Anderton Andin
Conflicts: lib/ssl/src/inet_tls_dist.erl
2017-10-23Merge branch 'ingela/ssl/dist-crl' into maintIngela Anderton Andin
* ingela/ssl/dist-crl: ssl: Do not provide IP address to ssl:connect in erlang distribution over TLS
2017-10-23Merge branch 'maint'Ingela Anderton Andin
2017-10-23Merge branch 'ingela/public_key/ecc-keys/RRL-482/OTP-14620' into maintIngela Anderton Andin
* ingela/public_key/ecc-keys/RRL-482/OTP-14620: public_key: Handle formatting of ECC params from DER to crypto API
2017-10-21public_key: Handle formatting of ECC params from DER to crypto APIIngela Anderton Andin
Solves ERL-482
2017-10-21Optimize matching of literals for single-valued typesBjörn Gustavsson
If a type only has one clause and if the pattern is literal, the matching can be done more efficiently by directly comparing with the literal. Example: find(String, "") -> String; find(String, <<>>) -> String; find(String, SearchPattern) -> . . . Without this optimization, the relevant part of the code would look this: {test,bs_start_match2,{f,3},2,[{x,1},0],{x,2}}. {test,bs_test_tail2,{f,4},[{x,2},0]}. return. {label,3}. {test,is_nil,{f,4},[{x,1}]}. return. {label,4}. . . . That is, if {x,1} is a binary, a match context will be built to test whether {x,1} is an empty binary. With the optimization, the code will look this: {test,is_eq_exact,{f,3},[{x,1},{literal,<<>>}]}. return. {label,3}. {test,is_nil,{f,4},[{x,1}]}. return. {label,4}. . . .
2017-10-20ssl: Do not provide IP address to ssl:connect in erlang distribution over TLSIngela Anderton Andin
As TLS clients will perform a hostname check against certificates the IP-address does not make much sense.
2017-10-20Merge branch 'maint'Björn Gustavsson
* maint: Bump version of crash dumps to 0.4 Verify that binaries of different sizes are dumped correctly Don't dump literal areas that are not referenced at all Dump literals separately to avoid incomplete heap data Implement dumping of maps in crash dumps Buffer writing of crash dumps Conflicts: erts/emulator/beam/erl_alloc.types
2017-10-20Merge branch 'bjorn/improve-crash-dumps/OTP-14685' into maintBjörn Gustavsson
* bjorn/improve-crash-dumps/OTP-14685: Bump version of crash dumps to 0.4 Verify that binaries of different sizes are dumped correctly Don't dump literal areas that are not referenced at all Dump literals separately to avoid incomplete heap data Implement dumping of maps in crash dumps Buffer writing of crash dumps
2017-10-18Merge pull request #1574 from RaimoNiskanen/raimo/stdlib/rand-uniformityRaimo Niskanen
OTP-13764 Implement uniform floats with decreasing distance towards 0.0
2017-10-18Verify that binaries of different sizes are dumped correctlyBjörn Gustavsson
2017-10-18Dump literals separately to avoid incomplete heap dataBjörn Gustavsson
When a literal was used from several processes, the literal would be dumped in only one of the processes. The other processes that referenced the literals would have incomplete heap data.
2017-10-18Implement dumping of maps in crash dumpsBjörn Gustavsson
Maps would be dumped as the atom 'undefined', which is not very informative.
2017-10-18Scale down measure roundsRaimo Niskanen
2017-10-18Implement uniform_real/0 and uniform_real_s/1Raimo Niskanen
2017-10-18Merge branch 'maint'Hans Nilsson
2017-10-18public_key: Correct spelling errorHans Nilsson
2017-10-18Merge branch 'maint'Ingela Anderton Andin
2017-10-18Merge branch 'ingela/dtls/no-packet-upd/OTP-14664' into maintIngela Anderton Andin
* ingela/dtls/no-packet-upd/OTP-14664: ssl: No support for packet option over unreliable transport
2017-10-17Merge branch 'maint'Ingela Anderton Andin
2017-10-17Merge branch 'ingela/ssl/extend-hostname-check/OTP-14632/OTP-14655' into maintIngela Anderton Andin
* ingela/ssl/extend-hostname-check/OTP-14632/OTP-14655: ssl: Fix test cases to work on all test platforms public_key: Fix dialyzer spec ssl: Sessions must be registered with SNI if exists ssl: Extend hostname check to fallback to checking IP-address public_key, ssl: Handles keys so that APIs are preserved correctly