894 Commits

Author SHA1 Message Date
Niels Provos
30cba6d0b3 we cannot realloc memory used by TAILQ; instead malloc each slot individually
svn:r977
2008-12-25 09:22:13 +00:00
Niels Provos
17bfc07e94 remove http_compat include
svn:r976
2008-12-23 22:38:01 +00:00
Niels Provos
b55ca7de1c reduce void *age a little bit
svn:r975
2008-12-23 22:31:27 +00:00
Niels Provos
b225e756ae remove unused variable
svn:r974
2008-12-23 22:24:32 +00:00
Niels Provos
d776f8462b deprecate the usage of signal_{add,del,set} and name it evsignal_{add,del,set} instead; move the old definitions to compat
svn:r973
2008-12-23 22:23:37 +00:00
Niels Provos
02b2b4d1be 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
2008-12-23 16:37:01 +00:00
Niels Provos
97cebce8fd the switch of bufferevents for http connections did not handle the EVBUFFER_ERROR case correctly
svn:r971
2008-12-23 14:53:55 +00:00
Niels Provos
ebcf5efcfe 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
2008-12-19 22:42:51 +00:00
Niels Provos
f1728d94eb fix the close detection problem correctly by not running close detection on the server
svn:r968
2008-12-19 22:41:07 +00:00
Niels Provos
f700566cb9 Make the http connection close detection work properly with bufferevents and fix a potential memory leak associated with it
svn:r963
2008-12-19 21:31:43 +00:00
Niels Provos
8c59416878 memory leak: forgot to free paused rpcs in server
svn:r962
2008-12-19 21:03:42 +00:00
Niels Provos
77867244a9 memory leak: forgot to free the configuration object
svn:r961
2008-12-19 21:02:36 +00:00
Niels Provos
808f00e1a1 constify structs; from Andrei Nigmatulin
svn:r959
2008-12-13 06:11:12 +00:00
Nick Mathewson
dd73168556 Implement increased DSN-poisoning resistance via the 0x20 hack.
svn:r958
2008-12-03 20:09:13 +00:00
Niels Provos
1eeb96aa88 move cirular queue removal into its own function
svn:r957
2008-11-29 01:12:41 +00:00
Niels Provos
cdf9453af4 install the header files, too
svn:r956
2008-11-28 20:55:11 +00:00
Niels Provos
1c765b78fb move dns header files into the include directory; move old functions into compat and structs into a struct header file
svn:r955
2008-11-28 20:11:24 +00:00
Niels Provos
4fa4a56253 fix a typo in setting the global event base; reported by lance
svn:r953
2008-11-27 19:57:48 +00:00
Niels Provos
ffb3966ec2 minor compilation and regresson fixes; from Frank Denis
svn:r952
2008-11-27 19:34:07 +00:00
Niels Provos
4fe25cefb5 Clear the timer cache when leaving the event loop; reported by Robin Haberkorn
svn:r950
2008-11-27 19:27:33 +00:00
Niels Provos
5792d42f0f Allow setting of local port for evhttp connections to support millions of connections from a single system; from Richard Jones
svn:r948
2008-11-16 23:22:14 +00:00
Niels Provos
50202d757d only bind the socket on connect when a local address has been provided; reported by Ajejo Sanchez
svn:r946
2008-11-15 05:27:23 +00:00
Niels Provos
31cfe52662 clear the timer cache on entering event loop; reported by Victor Chang
svn:r944
2008-10-30 19:38:31 +00:00
Nick Mathewson
c97ee898dc Fix: do not crash when asked to configure an impossible event_base
svn:r942
2008-09-26 13:36:15 +00:00
Niels Provos
b3d6a569e7 do not remove accept-encoding header in make request
svn:r938
2008-09-07 23:24:54 +00:00
Nick Mathewson
fded0a8783 Fix compilation of recent error code with win32.
svn:r937
2008-09-05 16:47:04 +00:00
Nick Mathewson
de069b9977 On win32, errno is not the last socket error. Worse, WSAGetLastError() is not the last socket error sometimes (i.e., EWOULDBLOCK). Also, strerror() does not handle winsock errors. Therefore, event_err() and event_warn() are completely wrong for windows socket errors. Fix that.
svn:r936
2008-09-05 16:29:56 +00:00
Niels Provos
a710d817ad Match the query in DNS replies to the query in the request; from Vsevolod Stakhov
svn:r930
2008-08-30 23:19:49 +00:00
Niels Provos
c968eb3e01 Fix a bug where headers arriving in multiple packets were not parsed; fix from Jiang Hong; test by me.
svn:r928
2008-08-19 11:26:47 +00:00
Niels Provos
b89a3de044 do not warn on accept when errno is egain|eintr
svn:r925
2008-07-25 05:22:28 +00:00
Niels Provos
cca2f8fa0e make event_add not change any state if it fails; repoted by Ian Bell
svn:r923
2008-07-25 01:29:54 +00:00
Niels Provos
1aa6826f62 fix off by one errors in devpoll; from Ian Bell
svn:r921
2008-07-25 01:18:40 +00:00
Niels Provos
3b24f4eedc another fix; we also need to remove the signal event from the queue
svn:r918
2008-07-25 00:48:30 +00:00
Niels Provos
e67a5ea9bb fix a problem with epoll and event_reinit; reported by Alexander Drozdov
svn:r917
2008-07-25 00:19:15 +00:00
Niels Provos
a4e2f52a44 add a signal and free the base for reinit test
svn:r915
2008-07-20 23:31:28 +00:00
Niels Provos
1c164cebb8 restore signal handlers correctly when we deallocate the signal base
svn:r913
2008-07-19 23:35:29 +00:00
Niels Provos
5e905c9dd5 if we change the timeouts on bufferevents, we might have to readd pending events
svn:r911
2008-07-17 14:09:07 +00:00
Niels Provos
12077b4e2e support setting of AA or RD in dns server response
svn:r910
2008-07-16 03:47:47 +00:00
Niels Provos
506f3d0c8d fix cname replies
svn:r907
2008-07-13 20:18:41 +00:00
Niels Provos
c4af6211bd forgot to add Alexander Drozdov as bug reporter in ChangeLog
svn:r905
2008-07-11 16:11:16 +00:00
Niels Provos
4bf44654a6 assert(a & b) -> assert(a && b)
svn:r903
2008-07-11 16:04:07 +00:00
Niels Provos
f7e61870e9 support multiple events listening on the same signal; make signals regular events that go on the same event queue
svn:r901
2008-07-11 15:49:04 +00:00
Niels Provos
5512be0176 fix a bug where deleting signals with kqueue would delete subsequent adds
svn:r899
2008-07-11 15:15:04 +00:00
Niels Provos
df97fca9ca 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
2008-07-02 06:08:16 +00:00
Niels Provos
409236a77d detect CLOCK_MONOTONIC at runtime for evdns
svn:r896
2008-07-02 04:39:09 +00:00
Niels Provos
707f67849a reject negative content-length headers
svn:r894
2008-07-02 04:22:48 +00:00
Niels Provos
cb7c3bd671 support multi-line http headers; based on a patch from Moshe Litvin
svn:r890
2008-06-29 01:30:06 +00:00
Niels Provos
9998c0cbc8 correct handling of trailing headers in chunked replies; from Scott Lamb.
svn:r887
2008-06-26 00:40:57 +00:00
Niels Provos
21f76156b1 change min_heap_idx to signed
svn:r883
2008-06-25 16:32:47 +00:00
Niels Provos
52161b47b6 fix a bug in which nameservers would not be added to the correct base in windows.
svn:r873
2008-06-25 14:56:35 +00:00