kc3-lang/libevent/test/regress_http.c

Branch :


Log

Author Commit Date CI Message
7426a568 2020-05-25 11: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-25 03:34:16 test: cover evhttp max connections
028842aa 2020-05-25 03: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-25 02:06:32 test: http/autofree_connection cleanup
0f6ee89a 2020-05-21 12:46:20 evdns: Implement dns requests via tcp
70f69194 2020-05-19 01:05:50 test: cleanup http/autofree_connection
1cc94fea 2020-05-19 00:52:01 test: fix http/autofree_connection Refs: #182
02905413 2016-02-09 18: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-08 13: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-03 07: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-13 10: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-04 06: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-29 21: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-27 15:28:28 test: add logging for http/read_on_write_error and rearrange code
1d2ef900 2018-11-23 00: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-20 11: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-20 06:20:51 regress_http: fix compilation with !EVENT__HAVE_OPENSSL Fixes: 811c63f7 ("regress: test for HTTP/HTTPS with IOCP enabled")
811c63f7 2018-11-13 11:25:35 regress: test for HTTP/HTTPS with IOCP enabled Next tests added: - iocp/http/simple - iocp/http/https_simple
9040707f 2018-11-05 21: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-02 23:43:57 regress_http: make https_basic non time dependent Fixes: #454
5cfb6120 2018-10-28 19: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-27 19: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-27 17: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-27 17:36:09 regress_http: basic evhttp_parse_query_str() coverage
5f1b4dfa 2018-10-23 00:06:47 Fix http https_basic/https_filter_basic under valgrind (increase timeout)
15bfe712 2018-10-22 23: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-24 02:22:58 test/http: cover evhttp_connection_get_addr() for incomming connections Refs: #510
727bcea1 2017-12-01 01: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-04 19: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-23 00: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-01 21:56:27 test: do not use .fieldname in structure initializations (fixes win32) Fixes: #497
8acfb0cd 2017-03-14 13:21:16 test: do not return void
d77fcea1 2016-12-07 03: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-07 11: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-19 17: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-19 15: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-19 17:11:35 test/http: sanity check for http_request_empty_done()
e9837124 2014-12-13 19: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-10 16: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-09 12: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-17 16: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-17 16:07:15 test/http: don't mix declarations and code (fixes -Wdeclaration-after-statement)
bddad71e 2016-03-25 11: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-25 11:04:51 test/http: localize evhttp server structure
d49a6587 2016-03-24 20: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-24 20:26:50 test/http: add a helper for creating timedout/failed request
d02a2858 2016-03-24 14:11:10 test/http: adopt for C90 (mixed code and declarations)
0c343afe 2016-03-24 10:27:24 test/http: cover NS timed out during request cancellations separatelly
334340da 2016-03-12 18: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-13 13: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-11 20: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-11 19:25:11 test/http: separate coverage for EVHTTP_CON_READ_ON_WRITE_ERROR
31d81163 2016-03-11 14:23:03 test/http: cover "Expect: 100-continue" client-server interaction
ed469abb 2016-03-11 16:18:48 test/http: *lingering tests shouldn't have "Expect: 100-continue"
04fc82f7 2016-03-11 01:27:52 test: use EVUTIL_SHUT_WR
31667659 2016-03-10 18: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-15 03:21:39 test: http/lingering_close: cover EVHTTP_SERVER_LINGERING_CLOSE
f41e1b01 2016-02-15 03:13:02 test: http/non_lingering_close: cover ~EVHTTP_SERVER_LINGERING_CLOSE
addf2b90 2016-02-15 03:46:20 test: http/*: update expected HTTP codes for body exceeds `max_body_size`
d38a7239 2016-02-15 02:41:19 test: http/data_length_constrains: set EVHTTP_CON_READ_ON_WRITE_ERROR
0792e1e7 2016-02-10 12: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-15 00:12:25 test/http: write_during_read for https
7ea26f71 2015-11-15 00:08:24 test/http: connection_fail for https
ac049683 2015-11-15 00:05:00 test/http: stream_out for https
a71ffb9d 2015-11-06 15:58:41 test/http: chunk_out for https
3160716f 2015-11-06 10: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-06 02:24:28 test/http: allow dirty shutdown for ssl to fix https_incomplete
59714b46 2015-11-05 19:12:58 test/http: https basic
615490d0 2015-11-05 19:08:30 test/http: incomplete{,_timeout} for https
93b19dc5 2015-11-05 12: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-05 11:17:07 test/http: https: retry coverage
a7088ad0 2015-11-05 10:58:41 test/http: https server support (plus some helpers) TODO: - check BEV_OPT_DEFER_CALLBACKS separately
a27c53c5 2015-11-05 11:18:32 test/http: more sanity checks
cd422e09 2015-10-09 01:50:05 test/regress_http: fix compilation warnings (-Wmissing-field-initializers)
6f6fa0d2 2015-09-09 19:15:18 test/regress_http: cover evhttp_request_own()
3d15aeb4 2015-09-09 17: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-08 15: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-25 15: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-18 21: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-01 06:27:31 http: reuse connected address only with EVHTTP_CON_REUSE_CONNECTED_ADDR
f4874d8c 2014-11-15 20:35:40 test/http: cover retrying with saved conn_address by shutting down dns server
b0e99244 2014-10-29 03:40:44 Add test for evhttp_connection_free_on_completion
89c1a3b7 2014-09-18 12:40:38 Fix several memory leaks in the unit tests. Also add a comment to buffer.c about why we call evbuffer_file_segment_free on failure to add the segment.
c119f241 2014-09-18 11:54:04 Fix a dead-code warning in unit tests. CID 1193548
73615a37 2014-09-18 11:31:52 Merge pull request #118 from azat/http-forward-family-to-bufferevent Add evhttp_connection_set_family() to set addrinfo->family for DNS requests
3fbf3cc9 2014-03-27 00:49:00 test/http: add regress test for set family to AF_INET6
42aefeb0 2014-03-27 00:40:14 test: add regress for evhttp_connection_set_family() with AF_INET and AF_UNSPEC
177b8a7c 2014-03-27 00:44:51 test: add family argument for http_connection_test_()
6a1c4d50 2014-03-18 18:36:32 Correctly skip ipv6 http test on systems without ipv6
2578ec14 2014-03-13 10:46:59 Avoid double-close paths in http tests Coverity spotted that there were some paths through the test functions that would double-close some sockets.
21477e40 2014-03-12 18:13:19 Skip http/ipv6_for_domain test when we have no ipv6 support
d240328d 2014-01-08 13:02:37 Fix even more coverity warnings.
860767e8 2014-01-08 12:46:09 Fix a couple of compilation warnings in regress_http.c
867f401f 2014-01-08 11:51:22 Fix a pile of coverity warnings in the unit tests Most of these problems can only trigger when the tests fail, but it's good hygiene to keep the code warning-free in any case.
b85f3987 2014-01-06 21:19:15 Update unit test to make sure that the callback happens after the output data is written
b083ca05 2014-01-05 20:35:46 Provide on request complete callback facility This patch provides the ability to receive a callback on the completion of a request. The callback takes place immediately before the request's resources are released.
4dd500cd 2013-10-01 19:54:09 regress_http: add tests for evhttp_connection_get_addr()
fbc323b7 2013-07-31 15:02:07 Add checks for evhttp_connection_get_server() in unit tests. They validate that this function behave as expected; that is, it returns NULL for outgoing connections, and returns the HTTP server object that received the connection for incoming ones.
5bc290e2 2013-05-01 10:04:08 Make http/connection_retry off-by-default
54cc8005 2013-03-21 17:01:31 Drop extra header http_struct.h from regress_http.c