Age | Commit message (Collapse) | Author |
|
* richcarl/warnings-by-default/OTP-12781:
stdlib: Use warning channel in test qlc_SUITE:otp_6964/1
stdlib: Fix testcase for qlc_SUITE
kernel: Fix code_SUITE with respect to new logger default
Map error logger warnings to warning messages by default
|
|
|
|
* nybek/limit_leading_zeros_in_ipv6_addresses:
Fix parsing of IPv6 addresses to limit leading zeros
OTP-12773
|
|
Also fix and document the broken +We option.
|
|
The current implementations of inet:parse_ipv6_address/1 and
inet:parse_ipv6strict_address/1 permit address strings which have an
unlimited number of leading zeros. Addresses such as:
"0000000000000000000000000000000ffff::"
"::00000000000000000000000000000000000000000000000000000000"
"::0000000f435:1"
If we are using this facility to validate string representations of
IPv6 addresses, then we would end up validating addresses which are
non-conformant (with respect to RFC 4291 section 2.2) and potentially
dangerous.
This patch ensures that each segment of an IPv6 address has a maximum
of 4 hex digits.
|
|
This reverts commit 4c4d7fa40e5fb59854724ce74b8aa3546525cb90.
This pr is causing some test failures that were missed at first.
|
|
Also fix and document the broken +We option.
|
|
Previously, the emulator would generate a whole string
with values and call the error_logger passing "~s~n".
This commit changes it to a format string containing ~p
with the respective values as arguments.
|
|
|
|
* essen/zlib-windowbits:
Update zlib:zwindowbits/0 type to accept 8 and -8
OTP-12564
|
|
|
|
* raimo/infinite-loop-gethostbyname/OTP-12133:
Restore lookup order after test
|
|
* dgud/kernel/unicode_file_read/OTP-12144:
kernel: Add test for unicode mode in file
kernel: Fix file:read_line/1 unicode error handling
|
|
|
|
* seriyps/zlib-inflate-bound:
Add zlib limited output buffer size functionality
Conflicts:
erts/preloaded/ebin/zlib.beam
OTP-12548
|
|
|
|
Commit 7e8f5a776cbfa376e03369d058a90c8dd9f217fc (importing R11B-3)
updated zlib, which had changed what values it accepts for window
bits from 9-15 to 8-15.
From deflate.c:
- windowBits < 9 || windowBits > 15 || level < 0 || level > 9 ||
- strategy < 0 || strategy > Z_HUFFMAN_ONLY) {
+ windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
+ strategy < 0 || strategy > Z_FIXED) {
return Z_STREAM_ERROR;
}
+ if (windowBits == 8) windowBits = 9; /* until 256-byte window bug fixed */
In inflate.c 8 was already an accepted value.
This commit updates OTP to also accept the values 8 and -8.
|
|
|
|
* raimo/inet_tcp_dist-priority-option/OTP-12476:
Document kernel inet_dist_{listen,connect}_options
Test kernel inet_dist_{listen,connect}_options
Implement kernel inet_dist_{listen,connect}_options
|
|
|
|
* raimo/infinite-loop-gethostbyname/OTP-12133:
Remove infinite loop in inet:gethostbyname_tm/4
|
|
|
|
An erroneous lookup option is needed to trigger the bug, and that can only
enter the system from a parsed file e.g .inetrc.
Pinpointed by Emil Holmström
|
|
This functionality may be useful for compressed streams with high
compression ratio (in case of gzip it may be up to x1000), when
small amount of compressed data will produce large amount of
uncompressed output. This may lead to DoS attacks, because
server easily goes out of memory.
Example of such high compression ratio stream:
```
dd if=/dev/zero of=sparse.bin bs=1MB count=100 # 100mb of zeroes
gzip sparse.bin # 95kb sparse.bin.gz
$ erl
> {ok, Compressed} = file:read_file("sparse.bin.gz"),
> 97082 = size(Compressed),
> Uncompressed = zlib:gunzip(Compressed),
> 100000000 = iolist_size(Uncompressed).
```
|
|
|
|
* nox/standard_error/OTP-12424:
Test standard_error
Properly handle broken input in standard_error
Fix io:getopts(standard_error)
|
|
|
|
* lemenkov/use_os_getenv_2:
fix missing include
Start using os:getenv/2 fun
Introduce os:getenv/2
|
|
|
|
* mikpe/fix-eacces-spelling:
fix eacces spelling
|
|
See #535
Signed-off-by: Peter Lemenkov <[email protected]>
|
|
|
|
* raimo/netns-opt-gen_udp/OTP-12314:
Text netns option at socket open
Fix handling netns option in gen_udp
|
|
|
|
|
|
* nox/read_file_info-raw/OTP-12325:
kernel: Do not check unsync:ed file size
Introduce new option 'raw' in file_info functions
|
|
* maint:
kernel: Do not check unsync:ed file size
Introduce new option 'raw' in file_info functions
|
|
* nox/read_file_info-raw/OTP-12325:
kernel: Do not check unsync:ed file size
Introduce new option 'raw' in file_info functions
|
|
|
|
* maint:
erts: getsockname is not allowed on non-bound sockets
|
|
* lukas/erts/fdopen_non_bound_win32_fix/OTP-12289:
erts: getsockname is not allowed on non-bound sockets
|
|
|
|
Fix edlin to correctly save text killed with ctrl-u. Prior to this fix,
entering text into the Erlang shell and then killing it with ctrl-u
followed by yanking it back with ctrl-y would result in the yanked text
being the reverse of the original killed text.
Add a test for the fix to interactive_shell_SUITE.
(This is the same fix as in PR#416, but that PR was never completed.)
|
|
|
|
The appup tests for kernel, stdlib and sasl tests that the appup file
allows upgrade from the previous and current major release to the
current release. If, in the current release, the application version
was not changed compared to the previous release, then we would still
test that the appup supported the upgrade (i.e. from current release
to current release). This is now changed, in order to avoid test
failures on patch releases where kernel, stdlib and sasl are not
changed.
|
|
This only produces an error on win32, but should not really be called
on *nix either.
|
|
* egil/erlang-get_keys/OTP-12151:
Update preloaded erlang.beam
erts: Document erlang:get_keys/0
stdlib: Auto-import erlang:get_keys/0
erts: Add spec for erlang:get_keys/0
kernel: Test BIF erlang:get_keys/0
erts: Add BIF erlang:get_keys/0
|
|
|
|
|
|
|