Age | Commit message (Collapse) | Author |
|
|
|
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
|
|
I was going through application_controller.erl looking for why
something was behaving a certain way, saw a comment about removing
this duplicated code one day, and decided to move that a step forward.
|
|
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).
```
|
|
The hipe_bifs:make_native_stub/2 and hipe_bifs:get_emu_address/1
BIFs were originally used by hipe_unified_loader.erl, but the
code been obsolete and disabled for ages.
Remove the BIFs and all references to them.
In hipe_unified_loader.erl, remove the no-op emu_make_stubs/1
function.
|
|
|
|
* nox/standard_error/OTP-12424:
Test standard_error
Properly handle broken input in standard_error
Fix io:getopts(standard_error)
|
|
|
|
io:put_chars(standard_error, [oops]) could previously crash the
standard_error process.
Reported-by: Alexei Sholik
|
|
|
|
|
|
* dotsimon/sctp_paddrinfo_state:
Fix inet:getopts involving #sctp_paddrinfo{}
|
|
* 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]>
|
|
Signed-off-by: Peter Lemenkov <[email protected]>
|
|
=== OTP-17.4 ===
Changed Applications:
- asn1-3.0.3
- common_test-1.9
- compiler-5.0.3
- crypto-3.4.2
- debugger-4.0.2
- dialyzer-2.7.3
- diameter-1.8
- edoc-0.7.16
- eldap-1.1
- erl_docgen-0.3.7
- erl_interface-3.7.20
- erts-6.3
- eunit-2.2.9
- hipe-3.11.2
- inets-5.10.4
- jinterface-1.5.12
- kernel-3.1
- megaco-3.17.3
- mnesia-4.12.4
- observer-2.0.3
- odbc-2.10.22
- otp_mibs-1.0.10
- parsetools-2.0.12
- percept-0.8.10
- runtime_tools-1.8.15
- snmp-5.1.1
- ssh-3.1
- ssl-5.3.8
- stdlib-2.3
- syntax_tools-1.6.17
- test_server-3.7.2
- tools-2.7.1
- wx-1.3.2
Unchanged Applications:
- cosEvent-2.1.15
- cosEventDomain-1.1.14
- cosFileTransfer-1.1.16
- cosNotification-1.1.21
- cosProperty-1.1.17
- cosTime-1.1.14
- cosTransactions-1.2.14
- et-1.5
- gs-1.5.16
- ic-4.3.6
- orber-3.7.1
- os_mon-2.3
- ose-1.0.2
- public_key-0.22.1
- reltool-0.6.6
- sasl-2.4.1
- typer-0.9.8
- webtool-0.8.10
- xmerl-1.3.7
Conflicts:
OTP_VERSION
erts/vsn.mk
|
|
|
|
Handle peer addresses that are unconfirmed (i.e. in state SCTP_UNCONFIRMED).
Handle unknown states instead of using ASSERT
|
|
|
|
* raimo/netns-opt-gen_udp/OTP-12314:
Text netns option at socket open
Fix handling netns option in gen_udp
|
|
|
|
|
|
Signed-off-by: Peter Lemenkov <[email protected]>
|
|
* 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
|
|
|
|
Bug found by Yaroslav Maslennikov and Andrei Pampukha.
|
|
Fix grammatical errors in section on file:datasync/1
|
|
|
|
* mange/doc_inet/OTP-12296:
Update documentation for buffer options
|
|
|
|
* 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
|
|
* nox/rm-raw_files/OTP-12276:
Remove untested option 'raw_files' from file module
|
|
* lukas/erts/non-blocking-shell:
Fix io:columns/0 timeout when invoked via user
kernel,ssh: Add synchronous user_drv protocol
erts: Make writing to non-tty fds non-blocking
erts: Make tty driver non-blocking
|
|
|
|
* adelzhang/fix_application_master_comment:
Fix obsolete comment
|
|
This patch fixes an issue where io:columns/0 times out when invoked from
any application callback (or any supervisor/supervised module since the
group leader is inherited).
To reproduce the issue, one must simply call io:columns() from any
application callback. You will notice the process will block for 2 seconds
which then times out and returns {:error, :enotsup}.
Note this bug only happens inside the erlang shell (using -noshell or
escripts do not trigger the bug).
To fix the bug, it is important to understand how io requests flow from
application callback processes. Here are the steps followed:
1. Since io:columns/1 is timing out, the first step is to find out who is the
group leader for the application callback process. Using process_info/1, we
can see the parent process is the application_master and handles
io_requests by delegating them to the group_leader.
2. By inspecting the application_master process, we can find the group_leader
the message is sent is the registered process named user. The process is
running the group module which does handle io:columns/1 requests delegating
them to user_drv process.
3. The user_drv process does handle tty_geometry requests, except that a
clause above ends up short-circuiting all tty_geometry requests from the
user process.
This patch moves the user clause below the specific driver messages.
OTP-12241
|
|
Added a put_chars_sync to the protocol that can be used to
talk to user_drv and made group use it. This is needed in order
to guarantee that bytes has been pushed to the tty port when
doing something like this:
io:format("halting\n"),erlang:halt(0).
Before this change the halting message could be lost in the message
queue of the user_drv process, this is no longer possible.
This commit also fixes ssh_cli as that plugs itself in as a user_drv
process.
OTP-12240
|
|
|
|
spawn_request/1 is obsolete since R11B-0
|
|
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.)
|
|
|
|
Conflicts:
OTP_VERSION
lib/ssh/test/ssh_connection_SUITE.erl
|
|
|
|
* lemenkov/install_additional_headers/OTP-12197:
Install internal hrl files when necessary
|
|
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.
|