77 Commits

Author SHA1 Message Date
Niels Provos
68725dc8bd support integer arrays in rpc structures; this involved some refactoring of the event_rpcgen code, so that other types should be able to get arrays fairly easily
svn:r609
2007-12-23 07:38:11 +00:00
Niels Provos
fdafb66bb5 removed linger from http server socket; reported by Ilya Martynov
svn:r604
2007-12-19 06:33:05 +00:00
Niels Provos
d4bdbca847 add -Wstrict-aliasing and remove bogus evtag_test from event.h
svn:r602
2007-12-18 03:54:19 +00:00
Nick Mathewson
7ab26a2c32 r15519@tombo: nickm | 2007-12-16 13:54:12 -0500
Fix for bug 1846282: accept as well-formed DNS replies with questions but no answers.


svn:r595
2007-12-16 18:55:16 +00:00
Niels Provos
7aa845b73b restructure the code to make event activation independent of regular event logic
svn:r594
2007-12-16 04:10:30 +00:00
Niels Provos
850534734b fix a bug with event_rpcgen for integers
svn:r588
2007-12-13 06:36:54 +00:00
Niels Provos
ffd606cd6d prefix {encode,decode}_tag functions with evtag to avoid collisions
svn:r587
2007-12-13 06:14:18 +00:00
Niels Provos
3b345f3e2d pull setters/getters out of RPC structures to reduce their memory footprint
svn:r585
2007-12-12 07:02:55 +00:00
Niels Provos
ba48719946 support for 32-bit tag numbers in rpc structures
svn:r583
2007-12-12 04:39:42 +00:00
Niels Provos
e8b916c36e update ChangeLog; forgot about it
svn:r582
2007-12-09 05:07:48 +00:00
Nick Mathewson
2e2104f4ce r15172@tombo: nickm | 2007-12-06 12:54:37 -0500
Rewrite win32.c to use a red-black tree to map sockets to events.  This changes the performance from O(N^2) to O(N lg N).  Needs testing.  (This was made possible by recent changes to the implementation of non-persistent events.)


svn:r574
2007-12-06 18:13:03 +00:00
Nick Mathewson
3206bbca46 r15171@tombo: nickm | 2007-12-06 12:47:47 -0500
Use GCC attributes (where available) to verify printf type-correctness.  Fix some bugs this turned up.


svn:r573
2007-12-06 18:12:56 +00:00
Nick Mathewson
5482192bb3 r15166@tombo: nickm | 2007-12-05 23:35:10 -0500
Apply patch from bug 1841036: set the base of the correct event in evhttp_connection_start_detectclose()


svn:r571
2007-12-06 04:36:18 +00:00
Niels Provos
74b3db50ae always generate Date and Content-Length headers for HTTP/1.1
svn:r564
2007-11-29 06:08:24 +00:00
Niels Provos
f175befac9 small improvements to evhttp documentation
svn:r562
2007-11-29 04:03:36 +00:00
Niels Provos
5f3e31596b move EV_PERSIST handling out of the event backends
svn:r555
2007-11-27 01:39:10 +00:00
Nick Mathewson
ce4ee418d2 r16733@catbus: nickm | 2007-11-26 14:18:25 -0500
Add an --enable-gcc-warnings option (lifted from Tor) to the configure script.  When provided, and when we are using GCC, we enable a bunch of extra GCC warnings in the compiler.  Also, make the code all build happily with these warnings.


svn:r553
2007-11-26 19:18:49 +00:00
Nick Mathewson
1120f04f3e r16731@catbus: nickm | 2007-11-25 16:52:53 -0500
Replace all fds on non-unix-specific APIs with evutil_socket_t, which is int on unix and intptr_t on win32.


svn:r552
2007-11-25 21:53:06 +00:00
Nick Mathewson
cbf9cfdf45 r16729@catbus: nickm | 2007-11-25 16:34:50 -0500
Add missing changelog entry for last commit.


svn:r551
2007-11-25 21:35:02 +00:00
Nick Mathewson
d1ad9403cb svn:r547 2007-11-25 21:28:51 +00:00
Nick Mathewson
fa95fe469a r16704@catbus: nickm | 2007-11-19 15:58:54 -0500
Check return value of event_add in signal.c


svn:r546
2007-11-25 21:28:43 +00:00
Nick Mathewson
2823cb0579 r14944@tombo: nickm | 2007-11-25 12:12:28 -0500
Make kqueue pass more unit tests.


svn:r544
2007-11-25 17:15:28 +00:00
Nick Mathewson
566ca34022 svn:r543 2007-11-25 17:15:17 +00:00
Nick Mathewson
7eb250e9c5 r14939@tombo: nickm | 2007-11-25 11:59:26 -0500
New function event_set_mem_functions to replace internal calls to malloc, free, etc with a user-supplied functions.


svn:r541
2007-11-25 17:14:19 +00:00
Niels Provos
88897852fc provide event_reinit() to reinitialized an event_base after fork - necessary for epoll/kqueue
svn:r539
2007-11-25 06:57:59 +00:00
Nick Mathewson
1c23e21952 r14931@tombo: nickm | 2007-11-17 17:21:09 -0500
Patch from Scott Lamb: Implement event_{base_}loopbreak.  Includes documentation and tests.  From sf.net Feature Request 1826546.


svn:r535
2007-11-17 22:21:42 +00:00
Nick Mathewson
70248ca8ad r14930@tombo: nickm | 2007-11-17 17:01:14 -0500
documentation fix on loopexit and elsewhere from Scott Lamb.


svn:r534
2007-11-17 22:21:33 +00:00
Niels Provos
af6f331a0b use a const pointer for bufferevent_write
svn:r531
2007-11-17 01:32:30 +00:00
Niels Provos
f586f42885 provide event_base_new() as a mechanism for not setting the current_global
svn:r529
2007-11-14 17:52:21 +00:00
Niels Provos
56934d5d97 debug cleanups in signal.c; from Christopher Layne
svn:r527
2007-11-13 17:36:58 +00:00
Niels Provos
d50afbb370 free minheap; from Christopher Layne
svn:r525
2007-11-13 03:32:10 +00:00
Niels Provos
3742868ab5 We do not need to specially remove a timeout before calling event_del; patch from Christopher Layne.
svn:r519
2007-11-12 06:54:35 +00:00
Niels Provos
4a1a2e0d52 Make the logic for active events work better with internal events; patch from Christopher Layne
svn:r509
2007-11-12 02:31:07 +00:00
Niels Provos
bbed0954b1 revert r505; it introduced errors in epoll
svn:r508
2007-11-11 03:05:03 +00:00
Nick Mathewson
321dfd55d4 r16585@catbus: nickm | 2007-11-10 00:16:11 -0500
Patch from Christopher Layne: Make event_del() restore previous signal handlers, not the default.


svn:r506
2007-11-10 05:18:17 +00:00
Nick Mathewson
9f0f3d6da2 r16584@catbus: nickm | 2007-11-10 00:00:59 -0500
Patch from Christopher Lane: reduce branch count in epoll_dispatch.c and generally improve clarity.


svn:r505
2007-11-10 05:18:11 +00:00
Nick Mathewson
cabcd62f38 r16578@catbus: nickm | 2007-11-08 12:34:51 -0500
The == operator in shell is a bash-ism; do not use it in autogen.sh


svn:r503
2007-11-08 17:36:28 +00:00
Nick Mathewson
92cd548f80 r16544@catbus: nickm | 2007-11-07 16:12:37 -0500
Oops; forgot the log entry.


svn:r500
2007-11-07 21:14:04 +00:00
Nick Mathewson
f74e7258fd r16501@catbus: nickm | 2007-11-07 01:00:31 -0500
This is one of those patches which will either make matters far
 simpler after the bugs shake out, or will get reverted pretty quick
 once we realize that it is a stupid idea.
 
 We now post-process the config.h file into a new event-config.h file,
 whose macros are prefixed with _EVENT_ and which is thus safe for
 headers to include.  Using this, we can define replacement timeval
 manipulation functions in evutil.h, and use them uniformly through our
 code.  We can also detect which headers are needful in event.h, and
 include them as required.
 
 This is also the perfect time to remove the long-deprecated acconfig.h
 file, so that autoheader no longer warns.
 
 Should resolve the following issues:
 
 [ 1826530 ] Header files should have access to autoconf output.
 [ 1826545 ] acconfig.h is deprecated.
 [ 1826564 ] On some platforms, event.h can't be included alone.
 


svn:r492
2007-11-07 06:01:57 +00:00
Nick Mathewson
206d433638 r16497@catbus: nickm | 2007-11-07 00:01:02 -0500
Resolve issue 1826588: make event_base_free() succeed even if there are pending non-INTERNAL events still in the base.  This can leak memory and fds if used injudiciously, but at least it no longer crashes.


svn:r490
2007-11-07 05:02:21 +00:00
Nick Mathewson
bab0e6d440 r16492@catbus: nickm | 2007-11-06 23:27:32 -0500
Fix unit tests so that an outdated nameserver means "Skip IPv6 tests", not "Abort."


svn:r487
2007-11-07 04:28:54 +00:00
Nick Mathewson
7c507668d7 r16489@catbus: nickm | 2007-11-06 22:51:05 -0500
Do not use "class" as identifier in evdns.h; but use a backward-compatible fix. (Should fix bug 1826515, originally reported by Roger Clark)


svn:r486
2007-11-07 03:52:20 +00:00
Nick Mathewson
e9564eceb3 r16487@catbus: nickm | 2007-11-06 22:38:44 -0500
Remove rtsig method, as discussed in July.  It hasn't compiled for quite a while, and nobody has seemed to miss it much.  Please let us know if this was a bad call. [Tracker issue 1826539].


svn:r485
2007-11-07 03:40:26 +00:00
Nick Mathewson
81802bf98c r16473@catbus: nickm | 2007-11-06 15:55:35 -0500
Increment MAX_ADDRS in evdns so as to be quite large.  This is not as good as a general solution, but it may be good enough for practical use.


svn:r479
2007-11-06 20:57:37 +00:00
Nick Mathewson
d257a4c0d6 r16454@catbus: nickm | 2007-11-06 09:59:45 -0500
Small code cleanups in epoll_dispatch(): remove a needless variable and some redundant conditionals.


svn:r478
2007-11-06 20:57:32 +00:00
Nick Mathewson
d7d91461c8 r14732@tombo: nickm | 2007-11-05 22:03:28 -0500
Quick hack to make evhttp.h build when there is no TAILQ to be found.  Based on patch from Paul Fisher.  We could perhaps do this more elegantly, but it _does_ need to be done.


svn:r475
2007-11-06 03:04:49 +00:00
Nick Mathewson
1bcb112b20 r14698@tombo: nickm | 2007-11-03 22:20:23 -0400
Use libtool versioning correctly. Add comment to Makefile.am explaining how to keep this working.


svn:r472
2007-11-04 02:21:31 +00:00
Niels Provos
881731028b split libevent into two extra libraries libevent_core and libevent_extra
svn:r469
2007-11-03 23:45:38 +00:00
Niels Provos
1d3a008af3 provide hooks for outgoing pools; associate a base with a pool
svn:r468
2007-11-03 22:51:26 +00:00
Niels Provos
30ae40cc52 switch timeouts to a min heap; from Maxim Yegorushkin
svn:r467
2007-11-03 18:04:53 +00:00