765 Commits

Author SHA1 Message Date
Nick Mathewson
822ca048ad Untested (and compiled-out) evbuffer_write backend to use WSASend on win32 where we use writev on unix.
svn:r998
2009-01-13 19:34:50 +00:00
Nick Mathewson
fbd5e820d7 Stop linking backends into libevent_extra.la
svn:r997
2009-01-13 19:20:22 +00:00
Nick Mathewson
554909420d Move internal headers into noinst_HEADERS automake target where they belong.
svn:r996
2009-01-13 19:20:14 +00:00
Nick Mathewson
81ab45add5 Use new EVUTIL_ERR_*_RETRIABLE macros when we're testing an errno for blocking.
Previously, we used inconsistent and incompletely ported ifdefs.
(We don't use these macros in platform-specific files like evpoll.c, since
they don't need to work on win32.)

svn:r995
2009-01-13 19:20:04 +00:00
Nick Mathewson
5ebd23ad74 New EVUTIL_ERR_*_RETRIABLE macros to tell if an errno blocked or failed.
svn:r994
2009-01-13 19:19:50 +00:00
Nick Mathewson
99db0e7f72 Add a new evbuffer_write_atmost() functino to write no more than a given number of bytes to an fd.
svn:r993
2009-01-12 20:42:19 +00:00
Nick Mathewson
f446f1493a Small cleanups to buffer.h documentation.
svn:r992
2009-01-12 20:42:06 +00:00
Nick Mathewson
1df57d2b97 Move strlcpy.c into libevent-core, so that code built against libevent-core on platforms without strlcpy can link.
svn:r991
2009-01-12 20:36:24 +00:00
Niels Provos
8a72441077 make it compile with USE_DEBUG again; reported by Alexander Drozdov
svn:r990
2009-01-12 05:22:29 +00:00
Nick Mathewson
91e3ead85e Improve the hashsocket function.
svn:r989
2009-01-10 14:37:45 +00:00
Nick Mathewson
55bcd7d2f0 On win32, use a hashtable to map sockets to events rather than using an array.
svn:r988
2009-01-09 13:42:21 +00:00
Nick Mathewson
8f5777e692 Document internal evmap functions, add a couple of asserts, and fix up some things that did not need to be void* any more
svn:r987
2009-01-09 05:01:48 +00:00
Nick Mathewson
980bcd68f7 Work better with platforms that do not have ipv6 structures, or that do not have sin_len fields, etc.
svn:r986
2009-01-02 21:21:58 +00:00
Nick Mathewson
135591aeab Change the type of nameserver.address from u32 to sockaddr_storage, so that we can handle nameservers at IPv6 addresses.
svn:r985
2009-01-02 20:46:35 +00:00
Nick Mathewson
cfbd168008 Add another function to parse the common address:port combination formats into a sockaddr.
svn:r984
2009-01-02 20:46:26 +00:00
Nick Mathewson
0d9d5cfe22 New functions in evutil to clone inet_pton and inet_ntop, with tests.
Adapted from Tor code.

svn:r983
2009-01-02 20:46:12 +00:00
Niels Provos
172b657567 malloc fd only if it is needed.
svn:r982
2009-01-02 18:18:30 +00:00
Nick Mathewson
f37d1685df Include http_compat.h in http.c so we do not get warnings about functions with no prototypes.
svn:r981
2009-01-02 04:56:56 +00:00
Niels Provos
87be18daa1 implement evdns_cancel_request; test one of the new evdns_base functions
svn:r980
2008-12-25 16:25:37 +00:00
Niels Provos
49f4c0ef88 generate documentation for move dns header files
svn:r979
2008-12-25 16:21:13 +00:00
Niels Provos
eed234519c forgot to re-enable dns tests
svn:r978
2008-12-25 16:20:45 +00:00
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