Age | Commit message (Collapse) | Author |
|
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
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
Update list of supported separators:
- escaped_amp (default): "&"
- amp: "&"
- semicolon: ";"
|
|
|
|
|
|
|
|
- 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.
|
|
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.
|
|
|
|
- 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.
|
|
- Improved calculation of parsed binary.
- Added tests for special corner cases.
- Fixed dialyzer warnings.
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
base64:decode(List) optimized reimplementation
OTP-14624
|
|
|
|
* siri/rb/fix-bad_form/ERL-261/OTP-13906:
[rb] Don't fail for unexpected type of report
|
|
* bjorn/compiler/match-literals:
Optimize instructions for comparing a register with a literal
Optimize matching of literals for single-valued types
|
|
* maint:
fix win32 share filename join/split (#1604)
Correct io_vec handling
|
|
* dgud/wx/fix-empty-binaries/OTP-14688:
Correct io_vec handling
|
|
Handle UNC (shared) path on win32, previously "//dir/.." and "\\\\dir\.." was cleaned up to
"/dir/.." which was not correct.
OTP-14693
|
|
Conflicts:
lib/ssl/src/inet_tls_dist.erl
|
|
* ingela/ssl/dist-crl:
ssl: Do not provide IP address to ssl:connect in erlang distribution over TLS
|
|
|
|
* ingela/public_key/ecc-keys/RRL-482/OTP-14620:
public_key: Handle formatting of ECC params from DER to crypto API
|
|
Solves ERL-482
|
|
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}.
.
.
.
|
|
As TLS clients will perform a hostname check against certificates
the IP-address does not make much sense.
|
|
* 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
|
|
* 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
|
|
OTP-13764
Implement uniform floats with decreasing distance towards 0.0
|
|
|
|
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.
|
|
Maps would be dumped as the atom 'undefined', which is
not very informative.
|
|
|
|
|
|
|
|
|
|
|
|
* ingela/dtls/no-packet-upd/OTP-14664:
ssl: No support for packet option over unreliable transport
|
|
|
|
* 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
|
|
* siri/observer/multiple-ms-clauses/ERL-489:
Allow multiple clauses in match spec
|