|
1bdc9135
|
2022-08-01T10:16:18
|
|
http: allow setting bevcb per socket
Co-authored-by: Azat Khuzhin <azat@libevent.org>
v2: remove handling of HTTP_BIND_IPV6
|
|
09e9fed2
|
2021-12-21T08:47:00
|
|
test: fix leak in http/cancel_*server_timeout tests
Fixes: #1242
|
|
29492364
|
2021-09-19T12:56:24
|
|
test/regress_http: mark data_length_constraints as retriable
CI: https://github.com/libevent/libevent/runs/3643914024?check_suite_focus=true
|
|
de53da2e
|
2021-09-19T11:07:55
|
|
test/regress_http: fix unix_socket test
|
|
95eadf04
|
2021-09-19T10:54:27
|
|
test/regress_http: disable max_connections/data_length_constraints under windows
CI: https://github.com/libevent/libevent/runs/3643554394
|
|
f1e9e4da
|
2021-09-19T01:47:42
|
|
test: cleanup stalled socket after running http/unix_sock
Otherwise it breaks upload-artifacts:
Run actions/upload-artifact@v1
Uploading artifact 'ubuntu-18.04-cmake-NONE-build' from '/home/runner/work/libevent/libevent/build' for run #346
Uploading 1095 files
File error 'No such device or address' when uploading file '/home/runner/work/libevent/libevent/build/foo'.
...
Error: No such device or address
Error: Exit code 1 returned from process: file name '/home/runner/runners/2.282.1/bin/Runner.PluginHost', arguments 'action "GitHub.Runner.Plugins.Artifact.PublishArtifact, Runner.Plugins"'.
|
|
5303feff
|
2021-09-17T04:47:34
|
|
test: http_unix_socket_test: fix url could be freed uninitialized
> regress_http.c:2279:2: warning: variable 'uri' is used uninitialized
> whenever 'if' condition is true
|
|
4f73bf3a
|
2021-09-17T01:56:56
|
|
test: regress_http: skip unix socket parsing tests in windows
windows doesn't do unix sockets
|
|
58d4e50d
|
2021-09-17T01:39:46
|
|
test: fix regress_http evhttp_bind_unixsocket() on macOS
needs to use evutil socket helper for SOCK_NONBLOCK / SOCK_CLOEXEC
|
|
86292628
|
2021-08-10T23:14:01
|
|
test: fix checking test args for http_parse_uri_test
|
|
f446229b
|
2016-01-31T11:31:00
|
|
http: support unix domain sockets
There are no standard for encoding a unix socket in an url. nginx uses:
http://unix:/path/to/unix/socket:/httppath
The second colon is needed to delimit where the unix path ends and where
the rest of the url continues.
Signed-off-by: Sean Young <sean@mess.org>
|
|
f17eb6f5
|
2021-01-18T23:23:42
|
|
test/regress_http: cover reading of chunked payload by server
This is an example with transfer-encoding by client via bufferevent for
the #1131
|
|
e91c4363
|
2020-10-27T01:40:34
|
|
http: add EVHTTP_URI_HOST_STRIP_BRACKETS
Refs: #1115
|
|
53c68675
|
2020-09-15T18:15:24
|
|
test: fix windows error when mbedtls https
|
|
2403ae57
|
2020-09-06T15:33:32
|
|
test: add https with mbedtls
|
|
c2a9ecff
|
2020-08-29T18:41:39
|
|
Fix: long -> enum evhttp_cmd_type type
|
|
ec94a6bb
|
2020-06-25T21:56:31
|
|
test: fix memory leaks for https (add BEV_OPT_CLOSE_ON_FREE)
- http/https_filter_basic
- http/https_filter_chunk_out
|
|
6f152bef
|
2020-06-25T09:59:35
|
|
test: do not pass NULL to memcmp() in evbuffer_datacmp() helper
Fixes:
runtime error: null pointer passed as argument 2, which is declared to never be null
|
|
2aaa7358
|
2020-06-02T10:12:20
|
|
test/regress_http: remove second ARRAY_SIZE macros
|
|
7426a568
|
2020-05-25T11:25:18
|
|
http: Merge branch 'http-max_connections-pr-592'
@jcoffland:
"When the max connection limit is enabled and the limit is reached, the
server will respond immediately with 503 Service Unavailable. This can
be used to prevent servers from running out of file descriptors. This is
better than request limiting because clients may make more than one
request over a single connection. Blocking a request does not
necessarily close the connection and free up a socket."
* http-max_connections-pr-592:
test: cover evhttp max connections
Added evhttp max simultaneous connection limiting
|
|
95c1c200
|
2020-05-25T03:34:16
|
|
test: cover evhttp max connections
|
|
028842aa
|
2020-05-25T03:13:00
|
|
Merge branch 'evdns-tcp-pr-1004'
@seleznevae:
"Added support for DNS requests via TCP. By default, requests are done
via UDP. In case truncated response is received new attempt is done
via TCP connection. Added 2 new macros DNS_QUERY_USEVC and
DNS_QUERY_IGNTC to force all requests to be done via TCP and to disable
switch to TCP in case of truncated responses.
Also added possibility for DNS server to listen and receive requests on
TCP port. Current implementation of TCP support in DNS server seems
rather preliminary and maybe changes after discussion and code review.
Fallback to TCP in case of truncated DNS requests is done automatically.
To imitate the old behaviour macros DNS_QUERY_IGNTC should be used. To
force all DNS requests to be done via TCP one should use the flag
DNS_QUERY_USEVC. Names DNS_QUERY_IGNTC, DNS_QUERY_USEVC were chosen to
imitate similar flags in c-ares and glibc."
Ok, interfaces looks good, merging to avoid stalling it for too long.
* evdns-tcp-pr-1004:
evdns: fix coding style issues
evdns: fix trailing whitespaces
evdns: bufferevent_setcb before bufferevent_free is redundant
evdns: Implement dns requests via tcp
|
|
e8c89510
|
2020-05-25T02:06:32
|
|
test: http/autofree_connection cleanup
|
|
0f6ee89a
|
2020-05-21T12:46:20
|
|
evdns: Implement dns requests via tcp
|
|
70f69194
|
2020-05-19T01:05:50
|
|
test: cleanup http/autofree_connection
|
|
1cc94fea
|
2020-05-19T00:52:01
|
|
test: fix http/autofree_connection
Refs: #182
|
|
02905413
|
2016-02-09T18:01:00
|
|
Add callback support for error pages
The existing error pages are very basic and don't allow for
multi-lingual support or for conformity with other pages in a web site.
The aim of the callback functionality is to allow custom error pages to
be supported for calls to evhttp_send_error() by both calling
applications and Libevent itself.
A backward-incompatible change has been made to the title of error pages
sent by evhttp_send_error(). The original version of the function used
the reason argument as part of the title. That might have unforeseen
side-effects if it contains HTML tags. Therefore the title has been
changed to always use the standard status text.
An example of the error callback can be found in this
[version](https://github.com/libevent/libevent/files/123607/http-server.zip)
of the 'http-server' sample. It will output error pages with very bright
backgrounds, the error code using a very large font size and the reason.
Closes: #323 (cherr-picked from PR)
|
|
8dcb94a4
|
2016-01-08T13:36:20
|
|
Added http method extending
User can define his own response method by calling
evhttp_set_ext_method_cmp() on the struct http, or
evhttp_connection_set_ext_method_cmp() on the connection.
We expose a new stucture `evhttp_ext_method` which is passed to the
callback if it's set. So any field can be modified, with some exceptions
(in evhttp_method_):
If the cmp function is set, it has the ability to modify method, and
flags. Other fields will be ignored. Flags returned are OR'd with the
current flags.
Based on changes to the #282 from: Mark Ellzey <socket@gmail.com>
|
|
47d348a6
|
2019-04-03T07:26:21
|
|
Disable logging for tests that assume printing warnings
To avoid possible confusion
But there is still one test that has some messages on windows:
main/methods
Because this test needs >1 of avaiable methods, otherwise it will warn.
|
|
68eb526d
|
2019-03-13T10:51:55
|
|
http: add WebDAV methods support
WebDAV introduced new HTTP methods (RFC4918):
PROPFIND, PROPPATCH, MKCOL, LOCK, UNLOCK, COPY, MOVE.
Add support of the methods.
|
|
5ee507c8
|
2019-03-04T06:53:42
|
|
http: implement separate timeouts for read/write/connect phase
This patch allows to change timeout for next events read/write/connect
separatelly, using new API:
- client:
evhttp_connection_set_connect_timeout_tv() -- for connect
evhttp_connection_set_read_timeout_tv() -- for read
evhttp_connection_set_write_timeout_tv() -- for write
- server:
evhttp_set_read_timeout_tv() -- for read
evhttp_set_write_timeout_tv() -- for write
It also changes a logic a little, before there was next fallbacks which
does not handled in new API:
- HTTP_CONNECT_TIMEOUT
- HTTP_WRITE_TIMEOUT
- HTTP_READ_TIMEOUT
And introduce another internal flag (EVHTTP_CON_TIMEOUT_ADJUSTED) that
will be used in evrpc, which adjust evhttp_connection timeout only if it
is not default.
Fixes: #692
Fixes: #715
|
|
b29207dc
|
2019-01-29T21:12:33
|
|
Eliminate fd conversion warnings and introduce EVUTIL_INVALID_SOCKET (windows)
windows has intptr_t instead of regular int.
Also tt_fd_op() had been introduced, since we cannot use tt_int_op() for
comparing fd, since it is not always int.
|
|
b8ca5a68
|
2019-01-27T15:28:28
|
|
test: add logging for http/read_on_write_error and rearrange code
|
|
1d2ef900
|
2018-11-23T00:42:46
|
|
test: add TT_RETRIABLE for http/cancel_by_host_no_ns
Could fail from time to time in travis-ci:
https://travis-ci.org/libevent/libevent/jobs/458554097#L1702
Follow-up-for: fe5b0719 ("Mark a lot of flacky tests with TT_RETRIABLE (for linux/win32 only)")
|
|
fe5b0719
|
2018-11-20T11:46:44
|
|
Mark a lot of flacky tests with TT_RETRIABLE (for linux/win32 only)
This patch mark testcases that only fail under travis-ci/appveyor with
TT_RETRIABLE, since otherwise there is too much noise, other issues
(like failures under vagrant boxes) would be investigated separatelly.
linux (from travis-ci only):
- http/cancel_by_host_no_ns
- http/cancel_by_host_inactive_server
- http/cancel_by_host_ns_timeout
- http/cancel_by_host_ns_timeout_inactive_server
- thread/conditions_simple
- util/monotonic_prc_precise
- util/usleep
- main/del_wait
vagrant/ubuntu box (this is the only exception):
- thread/no_events
win32 (from appveyor only):
- main/active_later
- main/persistent_active_timeout
And we should use TT_RETRIABLE over TT_OFF_BY_DEFAULT/TT_SKIP when it
make sense.
But there is still "test-ratelim__group_lim" left.
|
|
3036f15a
|
2018-11-20T06:20:51
|
|
regress_http: fix compilation with !EVENT__HAVE_OPENSSL
Fixes: 811c63f7 ("regress: test for HTTP/HTTPS with IOCP enabled")
|
|
811c63f7
|
2018-11-13T11:25:35
|
|
regress: test for HTTP/HTTPS with IOCP enabled
Next tests added:
- iocp/http/simple
- iocp/http/https_simple
|
|
9040707f
|
2018-11-05T21:33:54
|
|
regress_http: disable http/read_on_write_error under win32
EVHTTP_CON_READ_ON_WRITE_ERROR works only if an error already read from
the socket, but if we already got EPIPE on write we cannot read from the
socket anymore, and win32 does not guarantee that read will happens
before (although it happens from time to time).
In the referenced patch I just replaced callback with not expecting 417,
but like I already wrote, this is not always true (i.e. it is flacky).
Fixes: 3b581693ac1967f7f8d98491cb772a1b415eb4cd ("test/http:
read_on_write_error: fix it for win32")
|
|
e29afd4b
|
2018-11-02T23:43:57
|
|
regress_http: make https_basic non time dependent
Fixes: #454
|
|
5cfb6120
|
2018-10-28T19:27:05
|
|
regress_http: use TT_BLAZER() over event_debug()
Later is pretty tricky due to exporting event_debug_logging_mask_ symbol
for win32.
|
|
9fe952a0
|
2018-10-27T19:34:52
|
|
regress_ssl: reset static variables on test setup/cleanup and eliminate leaks
One tricky bit is reply to the BIO_C_GET_FD command, since otherwise it
will try to close(0) and accepted bev in ssl/bufferevent_connect_sleep
will leak. Other seems more or less trivial.
This was done to make sure that for at least generic cases does not
leak (tricky cases was listed here nmathewson/Libevent#83).
And this will allow run ssl/.. with --no-fork
|
|
26ef859a
|
2018-10-27T17:21:35
|
|
Add evhttp_parse_query_str_flags()
And a set of flags:
- EVHTTP_URI_QUERY_LAST
- EVHTTP_URI_QUERY_NONCONFORMANT
Fixes: #15
|
|
d161ec38
|
2018-10-27T17:36:09
|
|
regress_http: basic evhttp_parse_query_str() coverage
|
|
5f1b4dfa
|
2018-10-23T00:06:47
|
|
Fix http https_basic/https_filter_basic under valgrind (increase timeout)
|
|
15bfe712
|
2018-10-22T23:38:42
|
|
http: cover various non RFC3986 conformant URIs
- http/basic_trailing_space -- covers cases when there is trailing space
after the request line (nginx handles this)
- http/simple_nonconformant -- covers non RFC3986 conformant URIs
|
|
e4edc7fc
|
2018-04-24T02:22:58
|
|
test/http: cover evhttp_connection_get_addr() for incomming connections
Refs: #510
|
|
727bcea1
|
2017-12-01T01:29:32
|
|
http: add callback to allow server to decline (and thereby close) incoming connections.
This is important, as otherwise clients can easily exhaust the file
descriptors available on a libevent HTTP server, which can cause
problems in other code which does not handle EMFILE well: for example,
see https://github.com/bitcoin/bitcoin/issues/11368
Closes: #578 (patch cherry picked)
|
|
306747e5
|
2017-11-04T19:13:28
|
|
Fix crashing http server when callback do not reply in place from *gencb*
This is the second hunk of the first patch
5ff8eb26371c4dc56f384b2de35bea2d87814779 ("Fix crashing http server when
callback do not reply in place")
Fixes: #567
|
|
5ff8eb26
|
2017-10-23T00:13:37
|
|
Fix crashing http server when callback do not reply in place
General http callback looks like:
static void http_cb(struct evhttp_request *req, void *arg)
{
evhttp_send_reply(req, HTTP_OK, "Everything is fine", NULL);
}
And they will work fine becuase in this case http will write request
first, and during write preparation it will disable *read callback* (in
evhttp_write_buffer()), but if we don't reply immediately, for example:
static void http_cb(struct evhttp_request *req, void *arg)
{
return;
}
This will leave connection in incorrect state, and if another request
will be written to the same connection libevent will abort with:
[err] ../http.c: illegal connection state 7
Because it thinks that read for now is not possible, since there were no
write.
Fix this by disabling EV_READ entirely. We couldn't just reset callbacks
because this will leave EOF detection, which we don't need, since user
hasn't replied to callback yet.
Reported-by: Cory Fields <cory@coryfields.com>
|
|
15da23cf
|
2017-05-01T21:56:27
|
|
test: do not use .fieldname in structure initializations (fixes win32)
Fixes: #497
|
|
8acfb0cd
|
2017-03-14T13:21:16
|
|
test: do not return void
|
|
d77fcea1
|
2016-12-07T03:07:59
|
|
test/https: separate cases for https client with filtered openssl bufferevent
- http/https_filter_chunk_out # now hang
- http/https_filter_basic # works, since writes only before connect()
|
|
26f416c1
|
2017-01-07T11:48:28
|
|
test/http: turn off some tests that based on backlog filling (falky)
Since this technique does not work well everywhere, anyway it fails from time
to time.
See: https://travis-ci.org/libevent/libevent/jobs/186426446
|
|
cfe2ab22
|
2016-11-19T17:53:38
|
|
test/https: fix ssl dirty bypass for https_simple
Tests:
- http/https_simple_dirty # not affected, since dirty is the default
- http/https_simple # affected
v2: fix compilation with -DEVENT__DISABLE_OPENSSL=ON
|
|
45247e6f
|
2016-11-19T15:54:52
|
|
test/https: cover multiple request over the same connection
Introduce two new tests:
- http/https_connection # fail
- http/https_persist_connection # ok
Reported-by: liutao74748@163.com
|
|
e6ae069b
|
2016-11-19T17:11:35
|
|
test/http: sanity check for http_request_empty_done()
|
|
e9837124
|
2014-12-13T19:42:42
|
|
use ev_uint16_t instead of unsigned short for port
Like in `sockaddr_in` structure in /usr/include/netinet/in.h
@azat: convert all other users (bench, compat, ..) and tweak message
Fixes: #178
Fixes: #196
Refs: 6bf1ca78
Link: https://codereview.appspot.com/156040043/#msg4
|
|
500b6b75
|
2016-08-10T16:50:19
|
|
test/http: do not run tests that based on backlog filling (freebsd)
I cannot find any other solution for now, so simply ignore them for now, we
should think about normal fix for this.
Refs: #388
|
|
d5a2f2f9
|
2016-08-09T12:10:18
|
|
test/https_basic: increase timeout for complete write (fixes win32)
Otherwise on win32 we got 2, but test is ok, some timings issue.
Introduced-in: c968eb3
Fixes: https://ci.appveyor.com/project/azat/libevent/build/2.1.5.107/job/k70our1xdp0ym4dm#L1906
|
|
2a4bf294
|
2016-06-17T16:14:02
|
|
test/http: avoid using conditionals with omitted operands (fixes VS2015)
But we need to add VS2015 build on appveyor.
Fixes: #361
Reported-by: @nntrab
|
|
aabf1c2d
|
2016-06-17T16:07:15
|
|
test/http: don't mix declarations and code (fixes -Wdeclaration-after-statement)
|
|
bddad71e
|
2016-03-25T11:22:43
|
|
test/http: fix running some tests sequential (with --no-fork)
After this patch
$ regress --no-fork +http/..
Passed without failures.
|
|
cbc3209d
|
2016-03-25T11:04:51
|
|
test/http: localize evhttp server structure
|
|
d49a6587
|
2016-03-24T20:29:25
|
|
test/http: fix SERVER_TIMEOUT tests under win32
Seems that the hack with filling BACKLOG didn't work on win32, and hence we
stuck in write() waiting, not in connect()
And:
$ time regress http/cancel_server_timeout
- on linux: 10secs
- on win32: 2-5secs
I tried to debug this but you can't sniff TCP packages (wireshark/rawpcap) on
localhost in windows xp (according to [RAWPCAP] and my testing).
RAWPCAP: http://www.netresec.com/?page=RawCap
|
|
376f1073
|
2016-03-24T20:26:50
|
|
test/http: add a helper for creating timedout/failed request
|
|
d02a2858
|
2016-03-24T14:11:10
|
|
test/http: adopt for C90 (mixed code and declarations)
|
|
0c343afe
|
2016-03-24T10:27:24
|
|
test/http: cover NS timed out during request cancellations separatelly
|
|
334340da
|
2016-03-12T18:50:41
|
|
test/http: request cancellation with resolving/{conn,write}-timeouts in progress
This patch adds 8 new tests:
- http/cancel
- http/cancel_by_host
- http/cancel_by_host_no_ns
- http/cancel_by_host_inactive_server
- http/cancel_inactive_server
- http/cancel_by_host_no_ns_inactive_server
- http/cancel_by_host_server_timeout
- http/cancel_server_timeout
- http/cancel_by_host_no_ns_server_timeout
This patches not 100% for http layer, but more for be_sock, but it was simpler
to add them here, plus it also shows some bugs with fd leaking in http layer.
Right now we have next picture (we can also play with timeouts/attempts for
evdns to make tests fail, IOW to track the failures even without valgrind):
$ valgrind --leak-check=full --show-reachable=yes --track-fds=yes --error-exitcode=1 regress --no-fork http/cancel..
http/cancel: OK
http/cancel_by_host: OK
http/cancel_by_host_no_ns: [msg] Nameserver 127.0.0.1:42489 has failed: request timed out.
[msg] All nameservers have failed
OK
http/cancel_by_host_inactive_server: OK
http/cancel_inactive_server: OK
http/cancel_by_host_no_ns_inactive_server: [msg] Nameserver 127.0.0.1:51370 has failed: request timed out.
[msg] All nameservers have failed
OK
http/cancel_by_host_server_timeout: OK
http/cancel_server_timeout: OK
http/cancel_by_host_no_ns_server_timeout: [msg] Nameserver 127.0.0.1:45054 has failed: request timed out.
[msg] All nameservers have failed
OK
9 tests ok. (0 skipped)
==3202==
==3202== FILE DESCRIPTORS: 2309 open at exit.
...
==8403== HEAP SUMMARY:
==8403== in use at exit: 1,104 bytes in 5 blocks
==8403== total heap usage: 10,916 allocs, 10,911 frees, 1,458,818 bytes allocated
==8403==
==8403== 40 bytes in 1 blocks are indirectly lost in loss record 1 of 5
==8403== at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8403== by 0x4AAD2D: event_mm_calloc_ (event.c:3459)
==8403== by 0x498E48: evbuffer_add_cb (buffer.c:3309)
==8403== by 0x4A0DE2: bufferevent_socket_new (bufferevent_sock.c:366)
==8403== by 0x4BF8BA: evhttp_connection_base_bufferevent_new (http.c:2369)
==8403== by 0x4BFA6A: evhttp_connection_base_new (http.c:2421)
==8403== by 0x460CFC: http_cancel_test (regress_http.c:1413)
==8403== by 0x490965: testcase_run_bare_ (tinytest.c:105)
==8403== by 0x490C47: testcase_run_one (tinytest.c:252)
==8403== by 0x491586: tinytest_main (tinytest.c:434)
==8403== by 0x47DFCD: main (regress_main.c:461)
==8403==
==8403== 136 bytes in 1 blocks are indirectly lost in loss record 2 of 5
==8403== at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8403== by 0x4AAD2D: event_mm_calloc_ (event.c:3459)
==8403== by 0x491EDD: evbuffer_new (buffer.c:365)
==8403== by 0x49A0AB: bufferevent_init_common_ (bufferevent.c:300)
==8403== by 0x4A0D31: bufferevent_socket_new (bufferevent_sock.c:353)
==8403== by 0x4BF8BA: evhttp_connection_base_bufferevent_new (http.c:2369)
==8403== by 0x4BFA6A: evhttp_connection_base_new (http.c:2421)
==8403== by 0x460CFC: http_cancel_test (regress_http.c:1413)
==8403== by 0x490965: testcase_run_bare_ (tinytest.c:105)
==8403== by 0x490C47: testcase_run_one (tinytest.c:252)
==8403== by 0x491586: tinytest_main (tinytest.c:434)
==8403== by 0x47DFCD: main (regress_main.c:461)
==8403==
==8403== 136 bytes in 1 blocks are indirectly lost in loss record 3 of 5
==8403== at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8403== by 0x4AAD2D: event_mm_calloc_ (event.c:3459)
==8403== by 0x491EDD: evbuffer_new (buffer.c:365)
==8403== by 0x49A0E8: bufferevent_init_common_ (bufferevent.c:305)
==8403== by 0x4A0D31: bufferevent_socket_new (bufferevent_sock.c:353)
==8403== by 0x4BF8BA: evhttp_connection_base_bufferevent_new (http.c:2369)
==8403== by 0x4BFA6A: evhttp_connection_base_new (http.c:2421)
==8403== by 0x460CFC: http_cancel_test (regress_http.c:1413)
==8403== by 0x490965: testcase_run_bare_ (tinytest.c:105)
==8403== by 0x490C47: testcase_run_one (tinytest.c:252)
==8403== by 0x491586: tinytest_main (tinytest.c:434)
==8403== by 0x47DFCD: main (regress_main.c:461)
==8403==
==8403== 528 bytes in 1 blocks are indirectly lost in loss record 4 of 5
==8403== at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8403== by 0x4AAD2D: event_mm_calloc_ (event.c:3459)
==8403== by 0x4A0D02: bufferevent_socket_new (bufferevent_sock.c:350)
==8403== by 0x4BF8BA: evhttp_connection_base_bufferevent_new (http.c:2369)
==8403== by 0x4BFA6A: evhttp_connection_base_new (http.c:2421)
==8403== by 0x460CFC: http_cancel_test (regress_http.c:1413)
==8403== by 0x490965: testcase_run_bare_ (tinytest.c:105)
==8403== by 0x490C47: testcase_run_one (tinytest.c:252)
==8403== by 0x491586: tinytest_main (tinytest.c:434)
==8403== by 0x47DFCD: main (regress_main.c:461)
==8403==
==8403== 1,104 (264 direct, 840 indirect) bytes in 1 blocks are definitely lost in loss record 5 of 5
==8403== at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8403== by 0x4AAD2D: event_mm_calloc_ (event.c:3459)
==8403== by 0x4D0326: evdns_getaddrinfo (evdns.c:4682)
==8403== by 0x4B1213: evutil_getaddrinfo_async_ (evutil.c:1568)
==8403== by 0x4A1255: bufferevent_socket_connect_hostname (bufferevent_sock.c:517)
==8403== by 0x4C00B6: evhttp_connection_connect_ (http.c:2582)
==8403== by 0x4C02B8: evhttp_make_request (http.c:2637)
==8403== by 0x4614EC: http_cancel_test (regress_http.c:1496)
==8403== by 0x490965: testcase_run_bare_ (tinytest.c:105)
==8403== by 0x490C47: testcase_run_one (tinytest.c:252)
==8403== by 0x491586: tinytest_main (tinytest.c:434)
==8403== by 0x47DFCD: main (regress_main.c:461)
==8403==
==8403== LEAK SUMMARY:
==8403== definitely lost: 264 bytes in 1 blocks
==8403== indirectly lost: 840 bytes in 4 blocks
==8403== possibly lost: 0 bytes in 0 blocks
==8403== still reachable: 0 bytes in 0 blocks
==8403== suppressed: 0 bytes in 0 blocks
|
|
927ab33f
|
2016-03-13T13:05:25
|
|
test/http: exit from the loop in the errorcb to wait cancellation
This will make cancellation tests more graceful, that said that error_cb can
not be called sometimes if you will break the loop in cancel.
Plus drop that define for function generations, since function body changed,
and it is not generic anymore, plus that macro didn't used by anyone else.
|
|
3b581693
|
2016-03-11T20:06:11
|
|
test/http: read_on_write_error: fix it for win32
Fixes: https://ci.appveyor.com/project/nmathewson/libevent/build/2.1.5.216#L499 (win32)
|
|
5c2b4c19
|
2016-03-11T19:25:11
|
|
test/http: separate coverage for EVHTTP_CON_READ_ON_WRITE_ERROR
|
|
31d81163
|
2016-03-11T14:23:03
|
|
test/http: cover "Expect: 100-continue" client-server interaction
|
|
ed469abb
|
2016-03-11T16:18:48
|
|
test/http: *lingering tests shouldn't have "Expect: 100-continue"
|
|
04fc82f7
|
2016-03-11T01:27:52
|
|
test: use EVUTIL_SHUT_WR
|
|
31667659
|
2016-03-10T18:40:34
|
|
test/http: avoid huge stack allocations to fix win32 builds
Since according to [DOC] default stack size is 1MB, so let's use dynamic
allocations instead of changing defaults.
DOC: https://msdn.microsoft.com/en-us/library/8cxs58a6.aspx
Not-fixes: http/data_length_constraints
Fixes: http/lingering_close
Fixes: http/non_lingering_close
Fixes: https://ci.appveyor.com/project/nmathewson/libevent/build/2.1.5.213
|
|
e122ca1e
|
2016-02-15T03:21:39
|
|
test: http/lingering_close: cover EVHTTP_SERVER_LINGERING_CLOSE
|
|
f41e1b01
|
2016-02-15T03:13:02
|
|
test: http/non_lingering_close: cover ~EVHTTP_SERVER_LINGERING_CLOSE
|
|
addf2b90
|
2016-02-15T03:46:20
|
|
test: http/*: update expected HTTP codes for body exceeds `max_body_size`
|
|
d38a7239
|
2016-02-15T02:41:19
|
|
test: http/data_length_constrains: set EVHTTP_CON_READ_ON_WRITE_ERROR
|
|
0792e1e7
|
2016-02-10T12:37:30
|
|
test: increase buffer size for http/data_length_constraints to trigger EPIPE
With greater buffer it can't be written with one writev(2), and hence we can
trigger more tricky cases, like calling writecb/readcb more then once.
Refs: #321
|
|
23c77b60
|
2015-11-15T00:12:25
|
|
test/http: write_during_read for https
|
|
7ea26f71
|
2015-11-15T00:08:24
|
|
test/http: connection_fail for https
|
|
ac049683
|
2015-11-15T00:05:00
|
|
test/http: stream_out for https
|
|
a71ffb9d
|
2015-11-06T15:58:41
|
|
test/http: chunk_out for https
|
|
3160716f
|
2015-11-06T10:13:13
|
|
test/regress: fix ssl-less builds (need to make this prettier)
CI: https://travis-ci.org/libevent/libevent/jobs/89590839
|
|
1ede3262
|
2015-11-06T02:24:28
|
|
test/http: allow dirty shutdown for ssl to fix https_incomplete
|
|
59714b46
|
2015-11-05T19:12:58
|
|
test/http: https basic
|
|
615490d0
|
2015-11-05T19:08:30
|
|
test/http: incomplete{,_timeout} for https
|
|
93b19dc5
|
2015-11-05T12:39:35
|
|
test/http: add simplest test for http/https/https_dirty_shutdown
There is "basic" before, but it uses bufferevent's for creating requests for
http layer, while this test uses http layer for client requests too.
|
|
7c2d24ae
|
2015-11-05T11:17:07
|
|
test/http: https: retry coverage
|
|
a7088ad0
|
2015-11-05T10:58:41
|
|
test/http: https server support (plus some helpers)
TODO:
- check BEV_OPT_DEFER_CALLBACKS separately
|
|
a27c53c5
|
2015-11-05T11:18:32
|
|
test/http: more sanity checks
|
|
cd422e09
|
2015-10-09T01:50:05
|
|
test/regress_http: fix compilation warnings (-Wmissing-field-initializers)
|
|
6f6fa0d2
|
2015-09-09T19:15:18
|
|
test/regress_http: cover evhttp_request_own()
|
|
3d15aeb4
|
2015-09-09T17:45:44
|
|
test/regress_http: cover write during read
This is the regression for evhttp_write_buffer() where we reset readcb to avoid
illegal state:
http/write_during_read: [err] evhttp_read_cb: illegal connection state 7
If you will comment that this test will fail.
|
|
4be6c70b
|
2015-09-08T15:44:13
|
|
test/regress_http: verify that closecb will be called without multiple write
And now this works incorrect, i.e. http layer will not detect EOF until another
write.
Reported-in: #78
|
|
fd36647a
|
2015-08-25T15:24:39
|
|
Don't use BSD u_* types.
These types are not part of POSIX. As we only use them in a small number
of places, we'd better replace them by C standard types. This makes a
larger part of the code build for CloudABI.
|
|
9f0bff3f
|
2015-08-18T21:30:48
|
|
test/regress_http: initialize "dns_base" to avoid reading trash
Even though it is very unlikely, but it will better to fix this.
|
|
a50f5f0a
|
2015-01-01T06:27:31
|
|
http: reuse connected address only with EVHTTP_CON_REUSE_CONNECTED_ADDR
|
|
f4874d8c
|
2014-11-15T20:35:40
|
|
test/http: cover retrying with saved conn_address by shutting down dns server
|