Nick Mathewson [Wed, 7 Nov 2007 06:01:57 +0000 (06:01 +0000)]
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.
Nick Mathewson [Wed, 7 Nov 2007 05:02:21 +0000 (05:02 +0000)]
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.
Nick Mathewson [Wed, 7 Nov 2007 03:52:20 +0000 (03:52 +0000)]
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)
Nick Mathewson [Wed, 7 Nov 2007 03:40:26 +0000 (03:40 +0000)]
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].
Nick Mathewson [Tue, 6 Nov 2007 20:57:37 +0000 (20:57 +0000)]
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.
Nick Mathewson [Tue, 6 Nov 2007 03:04:49 +0000 (03:04 +0000)]
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.
Nick Mathewson [Wed, 3 Oct 2007 17:19:22 +0000 (17:19 +0000)]
r15517@catbus: nickm | 2007-10-03 13:14:05 -0400
Correct the pointer manipulation in fake_getaddrinfo(), and do the right thing for fake_getaddrinfo(NULL,&ai). Based on a patch by Lubmir Marinov, hacked until the unit tests passed on Linux with #undef HAVE_GETADDRINFO.
Nick Mathewson [Thu, 20 Sep 2007 19:36:03 +0000 (19:36 +0000)]
On win32, sockets apparently can't be used with ReadFile and WriteFile: You need send() and recv() instead. Also, you need to use ioctlsocket() with sockets, not ioctl. [Fixes evbuffer regression tests.]
Nick Mathewson [Thu, 20 Sep 2007 18:27:01 +0000 (18:27 +0000)]
r15220@catbus: nickm | 2007-09-20 14:22:57 -0400
Another patch from Trond: Skip calling gettime() in timeout_process if we have no events in the timetree.
Nick Mathewson [Thu, 20 Sep 2007 18:26:56 +0000 (18:26 +0000)]
r15219@catbus: nickm | 2007-09-20 14:17:32 -0400
Apply patch from Trond Norbye with recommendations from Magne Mahre and Hannah Schroeter: make autogen.sh work on systems where /bin/sh is not bash.
Nick Mathewson [Thu, 20 Sep 2007 18:26:51 +0000 (18:26 +0000)]
r15218@catbus: nickm | 2007-09-20 14:14:05 -0400
More win32 fixes: Use evutil_make_socket_nonblocking and EVUTIL_CLOSESOCKET consistently throughout the code.
Nick Mathewson [Thu, 20 Sep 2007 18:26:46 +0000 (18:26 +0000)]
r15217@catbus: nickm | 2007-09-20 14:04:32 -0400
Fix win32 signals: teach win32 that we have per-base signal queues; teach signal.c that not everybody has sigaction().
Nick Mathewson [Thu, 20 Sep 2007 18:26:40 +0000 (18:26 +0000)]
r15216@catbus: nickm | 2007-09-20 13:58:23 -0400
Add a new evutil module to contain the usual cross-platform hacks: socketpair, closesocket, and make_socket_nonblocking()
Nick Mathewson [Tue, 18 Sep 2007 15:12:20 +0000 (15:12 +0000)]
r15097@catbus: nickm | 2007-09-18 11:08:42 -0400
Wrap all newly-added Doxygen comments to fit in a consistent 80 columns, and remove all their trailing whitespace.
Nick Mathewson [Mon, 10 Sep 2007 14:56:00 +0000 (14:56 +0000)]
r15025@catbus: nickm | 2007-09-10 10:54:46 -0400
More DNS standard correctness changes: we preserve the CD flag,not the TC flag on responses. When we get a nonstandard query, we should say "NOTIMPL" rather than ignoring it.
Nick Mathewson [Mon, 10 Sep 2007 14:55:55 +0000 (14:55 +0000)]
r15024@catbus: nickm | 2007-09-10 10:49:15 -0400
Fix evdns_resolve_reverse_ipv6() so buffer is bug enough, and so the string ends with ".ip6.arpa" rather than "..ip6.arpa".
Nick Mathewson [Fri, 7 Sep 2007 01:02:56 +0000 (01:02 +0000)]
r14974@catbus: nickm | 2007-09-06 20:59:14 -0400
Changes to http.c: Add a Date header on replies if there is none already set. Also, include time.h unconditionally to be sure that struct tm is declared: every platform has time.h; the conditional should have been for sys/time.h.
Nick Mathewson [Mon, 20 Aug 2007 14:44:15 +0000 (14:44 +0000)]
r14699@catbus: nickm | 2007-08-20 10:42:57 -0400
Use $top_srcdir and $srcdir variables to refer to source paths in Makefile.am. This makes it possible to build libevent from a separate directory. Patch from Kelly Anderson.
Nick Mathewson [Sun, 19 Aug 2007 17:25:52 +0000 (17:25 +0000)]
r14697@catbus: nickm | 2007-08-19 13:24:39 -0400
Remove redundant typedef of socklen_t in evdns.c: On windows, it is already defined by autoconf in config.h.
Niels Provos [Sun, 19 Aug 2007 02:41:23 +0000 (02:41 +0000)]
provide evhttp_new and evhttp_bind_socket instead of evhttp_start;
using evhttp_new, it is possible to associate an event_base with
the http server so that multi-threaded applications can have their
own http server per thread; add appropriate testing.
Nick Mathewson [Thu, 16 Aug 2007 21:12:53 +0000 (21:12 +0000)]
r14618@catbus: nickm | 2007-08-16 17:11:47 -0400
In ANSI C, int func() is a function with unspecified arguments, whereas int func(void) is a function that takes no arguments. Using int func() to mean a function with no arguments is a C++ism, so let's not use or generate it.
Nick Mathewson [Fri, 10 Aug 2007 15:59:31 +0000 (15:59 +0000)]
r14498@catbus: nickm | 2007-08-10 11:58:32 -0400
Fix compilation warnings in trunk on linux with gcc 4.1.2. In time-test.c, always include time.h, so that time() is defined. In test/Makefile.am, put -I../compat in CPPFLAGS, and fix a typo. In test/regress.c, cast unsigned char pointers to char* before passing them to str[n]cmp.
Niels Provos [Sat, 30 Jun 2007 18:58:34 +0000 (18:58 +0000)]
fixes from Joerg Sonnenberger:
http.c is a violation of the ctype(3) interface and an unused function.
test/regress_http.c are incorrect format strings.
test/regress.c uses raise(3) from signal.h.
evdns.c: evdns_error_strings is unused. The GET* macros can eat the
semicolon from the expression. pos is passed in as off_t, so just pass
that down. When assigning negativ values to unsigned variables, an
explicit cast is considered good style.