Age | Commit message (Collapse) | Author |
|
|
|
|
|
Facts:
crypto nif-lib registers callback functions that openssl uses
for memory management and thread synchronization. The callback
functions can only be set once, openssl does not allow changing the
callback functions.
Problem:
If openssl is dynamicly linked to crypto, you might get s scenario
where the crypto lib is unloaded while leaving openssl loaded
with its old pointers to the unloaded crypto code intact.
If crypto is then reloaded (by init:restart() for example), the crypto
nif-lib might get relocated at a different address. crypto calls
openssl which in turn calls the old invalid callback functions...kaboom.
Solution:
Break apart the callback functions into a separate dynamic lib that
crypto loads with dlopen. When crypto is unloaded the callback lib is
left in place to be reused if/when crypto is loaded again.
|
|
* bjorn/test_server/fix-test-cases:
Provided better information when the test cases fail
Remove the useless test_server_line_SUITE test suite
test_server_SUITE: Remove the undefined_functions/1 test case
|
|
* raimo/inets/https-proxy/OTP-10256:
inets httpc: Document that RFC 2817 is not supported
inets: Dialyzer fixes
inets httpc: TLS via proxy
inets: Remove obsolete testcases that are now in the proxy suite
inets: Add tests using external proxy running on localhost
|
|
|
|
|
|
Introduces new option htts_proxy so that it is possible
to have different proxies for http and https. The new option
defaults to the old proxy option.
Implements HTTP-1.1 extension method CONNECT to establish SSL/TLS tunnel
We choose not to implement "TLS upgrade" as defined by RFC 2817 as
this method of upgrade is vulnerable to man in the middle attacks,
can be easily broken by proxies and does not seem to be widely adopted.
|
|
|
|
|
|
* dg/keyboard_interactive:
fix typo in keyboard-interactive string
OTP-10456
|
|
While at it, also make the path to the directory with the log files
a clickable link.
|
|
* siri/common_test/ct_snmp-tests:
[common_test] Added tests and corrected bugs in ct_snmp
OTP-10454
OTP-10434
|
|
* siri/os_mon/undefined-snmp-funcs/OTP-10448:
[os_mon] Remove call to deprecated/undefined functions in snmp
|
|
* vs/re_back_reference:
extend re back reference syntax with \g escape sequence
OTP-10455
|
|
* bjorn/test_server/dialyzer-fixes:
test_server_ctrl: Don't use undocumented features of io:format()
Fix obsolete assumption for the return type of os:type/0
|
|
OTP-10454
OTP-10434
Function register_users/2, register_agents/2 and register_usm_users/2,
and the corresponding unregister_*/1 functions were not
executable. These are corrected/rewritten.
Function update_usm_users/2 is removed, and an unregister function is
added instead. Update can now be done with unregister_usm_users and
then register_usm_users.
Functions unregister_*/2 are added, so specific users/agents/usm users
can be unregistered.
Function unload_mibs/1 is added.
Overriding configuration files did not work, since the files were
written in priv_dir instead of in the configuration dir
(priv_dir/conf). This has been corrected.
Minor updates to documentation.
|
|
* hb/stdlib/opaque_warnings/OTP-10436:
Refine a few opaque types
Warn for underspecified opaque types
Warn for opaque types that are not exported
|
|
* hb/dialyzer/nowarn_unused_fun/OTP-10433:
dialyzer: Do not output warnings for unused funs
|
|
* dgud/ct/fix-trashed-logs/OTP-10369:
[ct] Shorten testcase names
Shorten testcase names
[ct] Block output into single io call
|
|
* ia/ssl/npn/OTP-10361:
ssl: Shorten test case names to workaround ct shortcomings on windows
ssl: SSL 3.0 does not support next protocol negotiation
ssl: Dialyzer fixes and code cleaning
ssl: Changed default behaviour of next protocol negotiation to make more "sense" (be true to the specification).
ssl: Update SSL docs for SSL Next Protocol Support
ssl: Support for SSL Next Protocol Negotiation * http://technotes.googlecode.com/git/nextprotoneg.html
|
|
|
|
|
|
|
|
The Format string argument for io:format/3 is not documented
to accept an iolist, so we should not depend on it. Fix the
problem by using io:put_chars/2 instead.
|
|
The test_server_line parse transform module was removed in R15
(in f43c0a51cd15b2b0f8adba4bb9ec5531dd9d8820), but not the
corresponding test cases. (Strangely enough, the test cases did not
fail; it was because init_per_testcase/2 failed and the corresponding
test case was skipped.)
|
|
The undefined_functions/1 test case will fail if it is run
using an uninstalled Erlang/OTP system (i.e. in a source
tree/git repository).
Since the test_server application is now a part of Erlang/OTP
(it was not originally), the system-wide test case that looks
for use of undefined functions will catch undefined functions.
Therefore the easiest solution is to remove the test case.
|
|
|
|
* siri/reltool/spawn_executable/OTP-10358:
[reltool] Use spawn_executable instead of spawn when starting nodes in test
|
|
So it works on windows otherwise crashes the testrun when
path is longer than 255 chars.
|
|
* ia/ssl/reuse_session_expired-test:
ssl: Adopt test case to not take so long
|
|
* ia/ssh/empty-binary/OTP-9478:
ssh: Will not hang if you attempt to send empty binary
|
|
Also, rewrite test suite (os_mon_mib_SUITE) to use ct_snmp intead of
using snmp application directly.
|
|
* bjorn/common_test/dialyzer-fixes:
ct_master_logs: Don't use io:format/3 with an empty variable list
common_test: Don't use undocumented features of io:format()
|
|
os:type/0 could (a long, long time ago) return atoms such as
'vxworks' instead of a two-tuple.
|
|
|
|
* egil/fix-missing-modules-app/OTP-10439:
tools: Add missing lcnt module to .app.src
percept: Add missing modules to .app.src
|
|
Crashes on windows XP otherwise path > 256..
|
|
|
|
|
|
In order to handle paths with space, spawn_executable is now used
instead of spawn when starting nodes with open_port/2 in
reltool_server_SUITE.
|
|
* siri/common_test/undefined-snmp-funcs/OTP-10088:
[common_test] Moved ct_snmp_SUITE into data dir and run as other ct tests
[common_test] Updated (minimized) config for ct_snmp test after fixing bugs
[common_test] Use ct_snmp 'agent_vsns' config value in snmp app config
[common_test] Change NotifType to atom instead of string
[common_test] Remove calls to undefined functions from ct_snmp
[common_test] Add minor test suite for ct_snmp
Conflicts:
lib/common_test/test/Makefile
|
|
Dialyzer no longer outputs warnings for unused anonymous functions
("funs"). Warnings are still output for unused functions.
Funs in functions with -nowarn_unused_function attributes generated
warnings for unused functions. Unused list comprehensions also
generated warnings for unused funs.
|
|
Also shorten test cases names to workaround test framework problems
on windows
|
|
* siri/reltool/misc-bugs/OTP-10012:
[reltool] Use application name from .app file instead of directory name
[reltool] Keep order from rel spec when sorting used and included applications
[reltool] Automatically add included applications in rel file
[reltool] Make reltool:install/2 work on windows
[reltool] Allow incl_cond=derived on module level
|
|
|
|
Bugs reported in OTP-10432 allowed the config for ct_snmp test to
specify only one version for agent and manager.
|
|
OTP-10432
Config parameter 'agent_vsns' in ct_snmp was ONLY used in call to
snmp_config:write_agent_snmp_files. There it is only used for deciding
if usm config shall be written (if v3 is included) or not.
The value of 'agent_vsns' was NOT added to the snmp application's
agent configuration, so the snmp application's own default value would
be used - this is [v1,v2,v3]. The result was that if v3 was not
included in 'agent_vsns', then usm.conf was not written, but when
starting the agent it would complain that this file did not exist
since snmp's default versions are all [v1,v2,v3].
This has been corrected - the 'agent_vsns' value is now inserted in
the snmp application agent configuration as {versions,AgentVsns}.
|
|
OTP-10432
In call to snmp_config:write_agent_snmp_files, the NotifType argument
was earlier a string. This has been changed to an atom since it failed
in snmp application and notify�conf was not created.
|
|
In the first traversal of library directories, reltool used only the
directory names in order to figure out application names. This would
succeed if the directory name was AppName only or AppName-AppVsn and
AppVsn consisted of integers separated by dots only. If the AppVsn has
any other format, then reltool would not find the correct application
name.
With this commit, reltool will first look for a .app file and use the
.app file name as the application name. This will allow different
formats of the version identifier in the directory name. Note that
reltool can still not sort (and select the latest) amongst version
identifiers of other format than integers separated by dots.
|