826 Commits

Author SHA1 Message Date
Nick Mathewson
840318196b Make some evbuffer functions const
svn:r1010
2009-01-14 22:17:31 +00:00
Nick Mathewson
89fe316779 Update win32 code to put indices in evmap.
svn:r1009
2009-01-14 21:13:58 +00:00
Nick Mathewson
554e14934e Move per-fd info from eventops into evmap. Not done for win32.c yet.
svn:r1008
2009-01-14 20:52:32 +00:00
Nick Mathewson
3552ac1eb3 Do not allow chain length to expand indefinitely.
svn:r1007
2009-01-14 19:39:17 +00:00
Nick Mathewson
ad7f1b4ae9 The element size for our linear evmaps is a pointer, not the whole struct.
svn:r1006
2009-01-14 18:45:42 +00:00
Nick Mathewson
6bb2f84216 Add initializer functions for evmap types.
svn:r1005
2009-01-14 18:38:03 +00:00
Nick Mathewson
6d3ed0657d Simplify evbuffer_write logic: combine nearly all of WSASend and writev cases.
svn:r1004
2009-01-14 14:58:48 +00:00
Nick Mathewson
bab8f2e182 Fix compilation on win32 WSASend evbuffer_write() code.
Still not enabled until I make sure that the unit tests test this.  They _do_ pass.

svn:r1003
2009-01-13 22:02:32 +00:00
Nick Mathewson
9935d5b01e Fix win32 compilation. Surprisingly, unit tests pass too.
svn:r1002
2009-01-13 21:39:32 +00:00
Nick Mathewson
574d320217 There is no WSAEAGAIN. There is only Zuul^WSAEWOULDBLOCK.
svn:r1001
2009-01-13 20:50:34 +00:00
Nick Mathewson
169321c9e6 Rename four internal headers to follow the -internal.h convention.
svn:r1000
2009-01-13 20:26:37 +00:00
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