|
257651a4
|
2011-05-27T23:33:40
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
f47c15e7
|
2011-05-27T23:28:17
|
|
Make the new http_connect_fail_test use a multicast addr, not broadcast
Turns out that FreeBSD does _not_ give a ENETUNREACH error when
told to make a TCP socket to 255.255.255.255, but it is quite happy
to do so for 239.10.20.30. So that's what we'll do.
Found by Robert Ransom and Dave Hart.
|
|
9f560bfa
|
2011-05-25T19:50:56
|
|
Use "_WIN32", not WIN32: it's standard and we don't need to fake it
This patch was automatically generated with perl.
Based on a patch by Peter Rosin.
|
|
57ddda78
|
2011-05-23T01:40:05
|
|
Test case for 0848814ac49616
"I'm not sure if you'll like my use of the limited broadcast address
for simulating an ENETUNREACH error with a TCP connection, but it's
the best that I could think of. Basically, we want to trigger a
non-EINPROGRESS error in evutil_socket_connect() immediately at the
connect() in order to bring about the assertion in the
evhttp_connection_fail() error handling code."
|
|
dd68cce4
|
2011-04-23T01:47:43
|
|
Add missing header for regress_http compilation on win32
|
|
b693c324
|
2011-04-11T17:32:03
|
|
Actually send NULL request in http_bad_request_test
Issue caught by clang's static analyzer
|
|
95060b54
|
2011-02-13T00:41:22
|
|
Make URI parser able to tolerate nonconformant URIs.
If the EVHTTP_URI_NONCONFORMANT flag is passed in (which it is when
parsing URIs we get over the wire), then we relax our checks a lot.
Specifically, we do nothing to check for correct characters in the
path, query, and fragment parts of such a URI.
We could do much more here: we could relax our hostname requirements,
deal with spaces differently/better, trap some errors but not others,
etc. But this should solve the worst user-agent compatibility issues
for now; the other issues can wait for a later release.
|
|
6092f126
|
2011-01-31T16:37:27
|
|
Fix http unit test on non-windows platforms without getaddrinfo
|
|
22f4af65
|
2010-12-09T11:43:12
|
|
Remove end-of-line whitespace
|
|
d23839fc
|
2010-12-07T11:43:52
|
|
Reject overlong http requests early when Expect:100-continue is set
|
|
fa9305f8
|
2010-11-29T18:25:04
|
|
Preliminary support for Continue expectation in evhttp.
|
|
aab8c38b
|
2010-11-05T11:17:07
|
|
Add evhttp server alias interface, correct flagging of proxy requests.
evhttp needs to be mindful of all hostnames and addresses that clients
use to contact the main server and vhosts to know the difference between
proxy requests and non-proxy requests.
|
|
c2e5e22c
|
2010-11-23T14:09:03
|
|
xlC doesn't obey C99 comments here. autoconf isn't invoking full C99
mode.
|
|
5c8a59e8
|
2010-11-09T10:19:05
|
|
Merge remote branches 'github/20_evdns_cancel_segfault_v2', 'github/20_http_close_detect', 'github/20_http_versions', 'github/20_more_http_methods', 'github/20_shutdown_iocp_listener' and 'github/20_win64_fixes'
|
|
3db6bc00
|
2010-11-09T10:03:00
|
|
Remove some debugging puts() calls from allow_methods test
|
|
75e3320e
|
2010-11-04T12:41:13
|
|
Units test for unexpected evhttp methods.
|
|
34b84b97
|
2010-11-03T14:38:45
|
|
Fix more wn64 warnings.
|
|
985430ae
|
2010-11-03T15:17:57
|
|
Remove need for http_compat.h in http tests
|
|
0b137f45
|
2010-11-03T15:14:29
|
|
Stop accessing http request struct directly from in the unit tests.
|
|
c91622d1
|
2010-11-03T15:04:44
|
|
Stop using event_compat.h in regress_http
|
|
9bb82393
|
2010-11-03T14:31:23
|
|
Convert the rest of the http tests to be non-legacy unit tests.
|
|
353402a8
|
2010-11-03T14:13:20
|
|
Rename the confusing "base" static variable in regress_http.c
|
|
8505a744
|
2010-11-03T13:55:20
|
|
Start porting http tests to not use legacy interfaces
|
|
bf11e7dd
|
2010-10-21T15:33:13
|
|
Merge branch 'http_uri_parse'
|
|
bc98f5e6
|
2010-10-21T14:53:21
|
|
Unit tests for evhttp_uri_set*
|
|
45f6869c
|
2010-10-21T14:41:12
|
|
Make evhttp_uri non-public, and give it accessor functions.
|
|
d9ffa899
|
2010-10-21T12:48:13
|
|
Update the HTTP regression tests to use Libevent2 apis for non-http stuff
|
|
1f507d75
|
2010-10-21T12:27:16
|
|
Stop using Libevent-1 headers in regress_http
|
|
cd00079b
|
2010-10-21T12:19:28
|
|
Add evhttp_connection_get_base() to get the event_base from an http connection
Based on a patch by Mark Ellzey from 27 July 2010.
Closes ticket 3052406
|
|
a5a76e68
|
2010-10-19T12:35:50
|
|
Add a huge pile of tests for the new URI functions, and make them pass.
|
|
eaa5f1d9
|
2010-10-19T11:26:59
|
|
Revise evhttp_uri_parse implementation to handle more of RFC3986
|
|
86dd720a
|
2010-08-08T16:46:39
|
|
Introduce absolute URI parsing helpers.
See evhttp_uri_parse(), evhttp_uri_free() and evhttp_uri_join() for details.
|
|
f13e449b
|
2010-10-18T14:20:06
|
|
Merge branch 'http_parse'
|
|
e5c214a4
|
2010-10-14T13:16:41
|
|
Fix -Wsigned-compare warnings in test/*
|
|
a8148ced
|
2010-10-08T13:05:13
|
|
New evhttp_uri(encode|decode) functions to handle + and NUL characters right
The old evhttp_decode_uri() function would act as tough it was doing
an (illegal, undefined) decode operation on a whole URL at once, and
treat + characters following a ? as different from + characters
preceding one. But that's not useful: If you are decoding a URI
before splitting off query parameters, you are begging to fail as soon
as somebody gives you a value with an encoded & in it.
The new evhttp_uridecode() function takes an argument that says
whether to decode + signs. Both uridecode and uriencode also now
support encoding or decoding to strings with internal 0-valued
characters.
|
|
b1756d01
|
2010-10-06T11:48:52
|
|
Let evhttp_parse_query return -1 on failure
We already detected certain malformed queries, but we responded by
aborting the query-parsing process half-way through without telling
the user. Now, if query-parsing fails, no headers are returned, and
evhttp_parse_query returns -1.
|
|
5b7a3706
|
2010-10-05T14:29:48
|
|
Fix warnings on mingw with gcc 4.5
|
|
b5dd8064
|
2010-09-03T22:00:25
|
|
Fix uninitialized port var in http_delete_test. Last one, I hope.
|
|
3b3fb743
|
2010-09-03T21:03:25
|
|
Fix uninitialized variables in http_bad_request_test. (oops)
|
|
a97320ac
|
2010-09-03T18:48:31
|
|
Allow more than one copy of regression tests to run at once
Mostly this was a matter of just removing all the hardwired ports in
the test code. The http/connection_retry test is still a little
screwy, though.
|
|
ec347b92
|
2010-07-07T16:45:03
|
|
Move event-config.h to include/event2
This change means that all required include files are in event2, and
all files not in event2/* are optional.
|
|
96730d31
|
2010-04-23T23:13:26
|
|
Make http_base_test stop leaking an event_base.
|
|
899c1dcc
|
2010-04-14T15:42:57
|
|
Replace EVUTIL_CLOSESOCKET macro with a function
The EVUTIL_CLOSESOCKET() macro required you to include unistd.h in your
source for POSIX. We might as well turn it into a function: an extra
function call is going to be cheap in comparison with the system call.
We retain the EVUTIL_CLOSESOCKET() macro as an alias for the new
evutil_closesocket() function.
(commit message from email by Nick and Sebastian)
|
|
274a7bd9
|
2010-03-13T00:55:39
|
|
Fix some memory leaks in the unit tests
These don't matter except inasmuch as they give real memory leaks
a place to hide.
Found with valgrind
|
|
2c2618d8
|
2010-03-05T13:00:15
|
|
more whitespace normalization
|
|
c7cf6f00
|
2010-03-05T12:47:46
|
|
Replace users of "int fd" with "evutil_socket_t fd" in portable code
Remeber, win32 has a socket type that's actually a handle, so if
there's a chance that code is run on win32, we can't use "int" as the
socket type.
This isn't a blind search-and-replace: sometimes an fd is really in
fact for a file, and not a socket at all.
|
|
17efc1cd
|
2010-03-04T01:25:51
|
|
Update all our copyright notices to say "2010"
|
|
e5bbd40a
|
2010-02-18T17:41:15
|
|
Clean up formatting: use tabs, not 8-spaces, to indent.
|
|
8fdf09c0
|
2010-02-18T17:08:50
|
|
Clean up formatting: Disallow space-before-tab.
|
|
2f782af3
|
2010-02-13T17:04:17
|
|
validate close cb on server when client connection closes
|
|
e8a9782c
|
2010-02-13T16:59:37
|
|
clean up terminate_chunked test
|
|
93d73691
|
2010-02-03T14:34:56
|
|
do not fail while sending on http connections the client closed.
when sending chunked requests via multiple calls to evhttp_send_reply_chunk,
the client may close the connection before the server is done sending. this
used to cause a crash.
we introduce a new function evhttp_request_get_connection() that allows the
server to determine if the request is still associated with a connection.
If it's not, evhttp_request_free() needs to be called explicitly or the user
can call evhttp_send_reply_end() which just frees the request, too.
|
|
5c7a7bca
|
2010-01-23T20:07:05
|
|
Fix windows and msvc build
|
|
78a50fe0
|
2010-01-14T17:39:54
|
|
forgot to add void to test function
|
|
26714ca1
|
2010-01-14T17:05:00
|
|
add a test for evhttp_connection_base_new with a dns_base
|
|
6cc79c6b
|
2010-01-11T19:04:11
|
|
Add unit-test for bad_request bug fixed in 1.4 recently.
This is a partial forward-port from 4fd2dd9d83a000b6. There's no need
to forward-port the bugfix, since the test passes with http.c as-is.
I believe we fixed this while we were porting evhttp to bufferevent.
--nickm
|
|
7ae94450
|
2009-12-04T16:37:43
|
|
Fix a snow leopard compile warning in the unit tests.
Reported by Sebastian Hahn.
|
|
86f57420
|
2009-11-16T22:25:46
|
|
Add two implementations of getaddrinfo: one blocking and one nonblocking.
The entry points are evutil_getaddrinfo and evdns_getaddrinfo respectively.
There are fairly extensive unit tests.
I believe this code conforms to RFC3493 pretty closely, but there are
probably more issues. It should get tested on more platforms.
This code means we can dump the well-intentioned but weirdly-implemented
bufferevent_evdns and evutil_resolve code.
svn:r1537
|
|
784b8773
|
2009-11-06T21:46:57
|
|
We do not work any more without an event-config.h; stop pretending that it is meaningful to check for HAVE_CONFIG_H
svn:r1516
|
|
47bad8ab
|
2009-11-04T20:17:32
|
|
Implement size limits on HTTP header length and body length.
Patch from Constantine Verutin, simplified a little.
svn:r1500
|
|
0fd0255f
|
2009-11-03T19:54:56
|
|
Remove compat/sys/_time.h
I've gone through everything that it declared to see where it was used,
and it seems that we probably don't need it anywhere.
Here's what it declared, and why I think we're okay dropping it.
o struct timeval {}
(Used all over, and we can't really get away with declaring it ourselves;
we need the same definition the system uses. If we can't find struct
timeval, we're pretty much sunk.)
o struct timespec {}
(Used in event.c, evdns.c, kqueue.c, evport.c. Of these,
kqueue.c and event.c include sys/_time.h. event.c conditions its use on
_EVENT_HAVE_CLOCK_GETTIME, and kqueue() only works if timespec is defined.)
o TIMEVAL_TO_TIMESPEC
(Used in kqueue.c, but every place with kqueue has sys/time.h)
o struct timezone {}
(event2/util.h has a forward declaration; only evutil.c references it and
doesn't look at its contents.)
o timerclear, timerisset, timercmp, timeradd, timersub
(Everything now uses the evutil_timer* variants.)
o ITIMER_REAL, ITIMER_VIRTUAL, ITIMER_PROF, struct itemerval
(These are only used in test/regress.c, which does not include _time.h)
o CLOCK_REALTIME
(Only used in evdns.c, which does not include _time.h)
o TIMESPEC_TO_TIMEVAL
o DST_*
o timespecclear, timespecisset, timespeccmp, timespecadd, timespecsub
o struct clockinfo {}
o CLOCK_VIRTUAL, CLOCK_PROF
o TIMER_RELTIME, TIMER_ABSTIME
(unused)
svn:r1494
|
|
5b5b880b
|
2009-07-28T19:41:39
|
|
Various MSVC cleanups from Brodie Thiesfield.
svn:r1385
|
|
5d71b25b
|
2009-07-17T18:38:38
|
|
Remove all trailing whitespace from end-of-line.
svn:r1350
|
|
043515bc
|
2009-07-14T18:50:06
|
|
Stop using C++ style comments.
svn:r1343
|
|
83f46e51
|
2009-05-13T20:36:56
|
|
Do not use the "evbuffer_" prefix to denote parts of bufferevents.
This is a bit of an interface doozy, but it's really needed in order
to be able to document this stuff without apologizing it. This patch
does the following renamings:
evbuffercb -> bufferevent_data_cb
everrorcb -> bufferevent_event_cb
EVBUFFER_(READ,WRITE,...) -> BEV_EVENT_(...)
EVBUFFER_(INPUT,OUTPUT) -> bufferevent_get_(input,output)
All the old names are available in event2/bufferevent_compat.h
svn:r1283
|
|
ea664bf2
|
2009-04-21T18:46:30
|
|
Refactor test wrappers to divide legacy items from useful stuff.
svn:r1212
|
|
30648529
|
2009-04-17T01:03:07
|
|
have evhttp_set_cb return an int; -1 on failure, 0 on success; this is better than returning a pointer
svn:r1179
|
|
ce146eb1
|
2009-04-10T05:43:45
|
|
Fix parsing of queries where the encoded queries contained \r, \n or +
svn:r1148
|
|
6dece3e9
|
2009-04-10T05:22:15
|
|
revert last commit; git user error
svn:r1147
|
|
f43f1d14
|
2009-04-10T05:18:18
|
|
initial version of query decoding patch
svn:r1146
|
|
ea11f819
|
2009-02-02T22:17:32
|
|
Compile http_connection_retry_test, but mark it skipped on win32.
svn:r1099
|
|
eac75f91
|
2009-01-31T07:32:14
|
|
Port DNS tests.
svn:r1081
|
|
4ec690d3
|
2009-01-31T05:45:16
|
|
Rename a couple of http tests so they all end with _test. This lets us simplify the naming.
svn:r1077
|
|
153093ec
|
2009-01-30T17:44:13
|
|
Port the HTTP unit tests. Most are still legacy (since they use test_ok so much), but at least they no longer exit(1) on failure
svn:r1076
|
|
7dd362b1
|
2009-01-29T15:09:24
|
|
Have util-internal.h define socklen_t if we need it, and include it appropriately. This fixes win32 compilation.
svn:r1070
|
|
b85b710c
|
2009-01-27T22:34:36
|
|
Update copyright statements to reflect the facts that:
a) this is 2009
b) niels and nick have been comaintainers for a while
c) saying "all rights reserved" when you then go on to explicitly
disclaim some rights is sheer cargo-cultism.
svn:r1065
|
|
8889a770
|
2009-01-27T22:30:46
|
|
Replace all use of config.h with event-config.h.
svn:r1064
|
|
9993137c
|
2009-01-27T21:10:31
|
|
Remove all trailing whitespace in all the source files.
svn:r1063
|
|
a077fb8c
|
2009-01-22T02:47:35
|
|
rename sys/signal.h to signal.h; configure m4 macro dir; this assist with compilation on Haiku
svn:r1033
|
|
169321c9
|
2009-01-13T20:26:37
|
|
Rename four internal headers to follow the -internal.h convention.
svn:r1000
|
|
02b2b4d1
|
2008-12-23T16:37:01
|
|
Restructure the event backends so that they do not need to keep track of events themselves, as a side effect multiple events can use the same fd or signal.
svn:r972
|
|
ebcf5efc
|
2008-12-19T22:42:51
|
|
fix memory leaks in the regression tools; add another close detection test that validates that there are no dangling connections on the server
svn:r969
|
|
ffb3966e
|
2008-11-27T19:34:07
|
|
minor compilation and regresson fixes; from Frank Denis
svn:r952
|
|
c968eb3e
|
2008-08-19T11:26:47
|
|
Fix a bug where headers arriving in multiple packets were not parsed; fix from Jiang Hong; test by me.
svn:r928
|
|
df97fca9
|
2008-07-02T06:08:16
|
|
From Scott Lamb:
* Allow the user to set the Content-Length: then stream a reply.
This is useful for large requests of a known size. Added unit test.
* Don't send a response body on HEAD requests, 1xx status codes, 204
status codes, or 304 status codes, as described in RFC 2616 section
4.3. (Doing otherwise causes problems - in particular, if a 304 has a
chunked body (even an empty one), Safari 3.1.1 issues and then fails
the next request on the connection with the non-sequitur error message
"Too many HTTP redirects"!)
* Specify a default Content-Type: when a response body is required, not
when we have data in the response buffer by the time we make the
header. (I.e., do this on evhttp_send_reply_start() for consistency.)
* Don't expect a body in response to HEAD requests.
svn:r898
|
|
707f6784
|
2008-07-02T04:22:48
|
|
reject negative content-length headers
svn:r894
|
|
cb7c3bd6
|
2008-06-29T01:30:06
|
|
support multi-line http headers; based on a patch from Moshe Litvin
svn:r890
|
|
9998c0cb
|
2008-06-26T00:40:57
|
|
correct handling of trailing headers in chunked replies; from Scott Lamb.
svn:r887
|
|
ac0c7e2c
|
2008-06-25T00:58:08
|
|
skip connection-retry test on windows
svn:r869
|
|
f80f90ed
|
2008-06-24T21:01:44
|
|
fix a bug in http_connect for windows; the address was not copied correctly.
svn:r863
|
|
994a7c50
|
2008-06-24T16:39:45
|
|
close -> EVUTIL_CLOSESOCKET()
gettimeofday -> evutil_gettimeofday()
svn:r861
|
|
344c2b56
|
2008-06-02T05:45:26
|
|
deliver partial data to request callbacks when chunked callback is set even if there is no chunking on the http level; allows cancelation of requests from within the chunked callback; from Scott Lamb.
svn:r846
|
|
89a1512a
|
2008-05-15T06:33:23
|
|
close -> EVUTIL_CLOSESOCKET
svn:r832
|
|
0cafdeb6
|
2008-05-12T17:16:47
|
|
Tweaks to make unit tests fail less badly on mingw on trunk.
svn:r814
|
|
c6da86ff
|
2008-05-12T16:44:24
|
|
r19709@catbus: nickm | 2008-05-12 12:42:48 -0400
Possible fix for [1960723] snprintf and vsnprintf return values are wrong on win32
svn:r813
|
|
1080852e
|
2008-05-12T03:12:09
|
|
allow cancelation of user initiated http requests; this will allow cancelation of rpc requests eventually
svn:r812
|
|
950af186
|
2008-05-10T05:58:17
|
|
replace fnmatch with homegrown function
svn:r804
|
|
f2d65f8a
|
2008-05-07T20:29:33
|
|
r19634@catbus: nickm | 2008-05-07 16:10:37 -0400
the C syntax is fn(void), not fn().
svn:r784
|
|
300a4efb
|
2008-05-07T01:52:24
|
|
test virtual hosts
svn:r780
|
|
f940eb4b
|
2008-05-04T22:21:29
|
|
fix a bug where it was not possible to bind multiple sockets to the same http
server; test that binding multiple sockets works.
svn:r769
|