Age | Commit message (Collapse) | Author |
|
This is a must when uploading large bodies that are to large to store
in a string or binary.
Besides a string or binary, a body can now be a function and
an accumulator.
Example:
-module(httpc_post_stream_test).
-compile(export_all).
-define(LEN, 1024 * 1024).
prepare_data() ->
{ok, Fd} = file:open("test_data.dat", [binary, write]),
ok = file:write(Fd, lists:duplicate(?LEN, "1")),
ok = file:close(Fd).
test() ->
inets:start(),
ok = prepare_data(),
{ok, Fd1} = file:open("test_data.dat", [binary, read]),
BodyFun = fun(Fd) ->
case file:read(Fd, 512) of
eof ->
eof;
{ok, Data} ->
{ok, Data, Fd}
end
end,
{ok, {{_,200,_}, _, _}} = httpc:request(post, {"http://localhost:8888",
[{"content-length", integer_to_list(?LEN)}], "text/plain", {BodyFun, Fd1}}, [], []),
ok = file:close(Fd1).
|
|
Add a function clause in the epp_dodger:tokens_to_string/1 to
avoid a crash in case the argument is a character.
|
|
* ia/ssl-asn1-spec-dss-params/OTP-7884:
Handling of DSA key parameters
|
|
* pl/observer-installation:
Fix installation of example file in lib/observer
OTP-8857
|
|
* ta/eliminate-warnings:
mnesia: Do not auto-import error/2
hipe: Do not auto-import min/2 and max/2
edoc: Do not auto-import error/1
OTP-8855
|
|
* vd/otpmbox_hash:
add OtpMbox.hash() method
OTP-8854
|
|
DSS-Params may be null in a certificate as it can inherit the
parameters.
Also ignore CA-certs that do not follow ASN-1 spec in RFC 5280.
|
|
The OtpMbox class was missing the hash() method while overriding
equals(). This can cause problems when using jinterface in a
larger Java application.
|
|
* ia/fix-dialyzer-specs:
Corrected and added dialyzer specs
|
|
Files (actually one file - multitrace.erl), marked as EXAMPLE_FILES are
installed into $(RELSYSDIR)/src which is inconsistent with installation
procedure for other example file in other modules.
This file should be installed into $(RELSYSDIR)/examples directory.
Signed-off-by: Peter Lemenkov <[email protected]>
|
|
Make it explicit that the shutdown timeout is to be specified in
milliseconds.
|
|
Resolve name clash with auto-imported BIF error/2.
|
|
Resolve name clash with auto-imported BIFs min/2 and max/2.
|
|
Resolve name clash with auto-imported BIF error/1.
|
|
|
|
|
|
|
|
* 'bmk/inets/prepare_for_r14b' of ../bmk_otp:
Prepare release for inets-5.5 (R14B).
|
|
* 'bmk/snmp/prepare_for_r14b' of ../bjorn_otp:
Prepare for R14B
|
|
|
|
|
|
|
|
* pan/epmd-vulnerabilities/OTP-8780:
Teach testcases to survive TIME_WAIT overload
Update erl_interface doc and testsuite for epmd changes
Restore null termination of input buffer
Teach testcase epmd_SUITE:too_large to accept econnaborted
Teach epmd_cli.c to not respond 'Killed' when killing denied
Calculate minimal packet size for ALIVE2 requests correctly
Document epmd and it's options properly and fixup help text
Fix anomalies in epmd not yet reported as security issues
Remove two buffer overflow vulnerabilities in EPMD
Remove all support for ancient EPMD protocol
Remove very old protocol from EPMD
Conflicts:
lib/erl_interface/src/epmd/epmd_port.c
|
|
* sv/ei-writev:
fix incorrect writev iovec buffer handling in ei
OTP-8837
|
|
|
|
|
|
|
|
|
|
|
|
* egil/ei/fix-declspec/OTP-8826:
Remove USE_DECLSPEC_THREAD from erl_interface
|
|
* ia/public_key-subject-alternative-name/OTP-8825:
Improved certificate extension handling
Add handling of SubjectAltName of type otherName
|
|
For platforms that support writev, ei uses iovec structures to be able
to easily send noncontiguous data buffers. When sending large
messages, the socket can of course block, in which case ei adjusts its
iovecs to pick up where it left off when the socket becomes writeable
again. Unfortunately the code that handled the case when the number of
bytes written are less than the current iovec size adjusted only the
iovec byte count but not the iovec data pointer, resulting in the same
data being sent multiple times.
The fix is trivial: in addition to subtracting the count of bytes
already written from the current iovec's size, also increment the
current iovec's data pointer by the number of bytes already written.
Tested manually on Linux and verified to fix a problem detected in
production with writing large binaries from a cnode to a regular
node. No unit tests were added, however, because they use the local
loopback which acts more like a pipe than an inter-host TCP
connection. The closing of the TCP window on the receiving side and
the resultant write blocking on the socket, which in turn caused the
code that mishandled the iovecs to be exercised, could unfortunately
not be readily duplicated in the erl_interface test suite.
|
|
|
|
|
|
* peppe/common_test/dev/OTP-8805:
Fix problem with {fail,Result} from end_tc not being recognized
Fix problem with prepared_tests tuple not being recognized
Add verification terms to test suite
Fix various test suite, makefile, and doc related problems
Fix error in the repeat_until_* group property handling
|
|
* peppe/common_test/dev/OTP-8804:
Update the configuration data chapter in the user's guide
|
|
* peppe/common_test/dev/OTP-8803:
Add Andrey Pampukha to AUTHORS file
|
|
* peppe/common_test/dev/OTP-8753:
Fix problem with prepared_tests tuple not being recognized
Add verification terms to test suite
Fix various test suite, makefile, and doc related problems
Fix error in the repeat_until_* group property handling
Add test suite for groups with repeat property
Add verification events to sequence group test suite
Fix error in handling of sequence groups
Fix error in test suite
Fix problems with sequences and sub-groups
Add test cases to sequence suite
Fix error with group term in ct:run_test/1
Add test suite to examplify problem with nested groups in a sequence
|
|
|
|
Added the functionality so that the verification fun will be called
when a certificate is considered valid by the path validation to allow
access to eachs certificate in the path to the user application.
Removed clause that only check that a extension is not critical,
it does alter the verification rusult only withholds information from
the application.
Try to verify subject-AltName, if unable to verify it let
application try.
|
|
* kenneth/asn1/docfixes/OTP-8829:
Add warning about since long unsupported [{Cname,Val}] repr. of SEQUENCE/SET
|
|
* kenneth/gs-deprecate-warning/OTP-8824:
Add warning in documentation about that GS will be deprecated and removed from distribution soon
|
|
* kenneth/asn1/nested_extaddgroup/OTP-8797:
Add support for ExtensionAdditionGroup notation in nested types as well
Conflicts:
lib/asn1/test/test_undecoded_rest.erl
|
|
* kenneth/runtime_tools/inviso_autostart/OTP-8783:
patch from user regarding inviso_autostart_server in runtime_tools
|
|
* kenneth/asn1/uper_contrained_number/OTP-8779:
Fix bug in UNALIGNED PER regarding encode/decode of constrained number with valuerange > 1024
|
|
into dev
* kenneth/runtime_tools/inviso-patches-from-E-user/OTP-8755:
Minor corrections and remove of temporary workaround.
|
|
DECLSPEC causes access violations on vista.
|
|
* bjorn/http-packet-error/OTP-8831:
Make gen_tcp:recv/2 consistent with ssl:recv/2
|
|
|
|
Othe minor corrections as well.
|