148 Commits

Author SHA1 Message Date
Dave Hart
f1f85147f3 Allow use of --enable-silent-rules for quieter compilation with automake 1.11 2011-01-24 15:50:25 -05:00
Kevin Bowling
ad03952edf Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5) 2011-01-03 15:09:21 -07:00
Kevin Bowling
868f88874f Use a Configuration Header Template for evconfig-private.h 2011-01-02 07:51:23 -07:00
Kevin Bowling
edf62dddbc Revert "evconfig-private.h with recusive configure subdirs"
This reverts commit ed53d5ef8053af08186ef80dfc1647cff769fac8.
2011-01-02 07:29:45 -07:00
Kevin Bowling
ed53d5ef80 evconfig-private.h with recusive configure subdirs 2011-01-02 06:35:05 -07:00
Kevin Bowling
ea8fa4cb23 Add AC_GNU_SOURCE to the fallback case. 2011-01-02 05:14:41 -07:00
Kevin Bowling
1fa7dbe1e8 Add AC_USE_SYSTEM_EXTENSIONS to configure.in.
Requires follow on patches for correctness and robustness.
2010-12-22 22:11:26 -07:00
Nick Mathewson
2570ae50d3 Bump version in master to 2.1.0-alpha-dev 2010-12-16 12:59:22 -05:00
Nick Mathewson
05f0195dd9 Bump version to 2.0.10-stable-dev 2010-12-16 12:57:23 -05:00
Nick Mathewson
bffc411ed6 Set the version to 2.0.10-stable 2010-12-15 14:29:50 -05:00
Nick Mathewson
2b0b06d7a3 Increment version to 2.0.9-rc-dev 2010-11-30 02:19:25 -05:00
Nick Mathewson
9ce4cc4ed9 Increment version to 2.0.9-rc 2010-11-30 01:20:04 -05:00
Kevin Bowling
2e2a3d7bb6 Reworked AIX __ss_family workaround to use AC_STRUCT_MEMBER. 2010-11-23 22:23:19 -05:00
Kevin Bowling
a3a9f6b2d9 select comes from <sys/select.h> according to POSIX.1-2001, or from a
variety of other standard headers on older systems, but not <select.h>.
AIX build fix.
2010-11-23 22:20:22 -05:00
Nick Mathewson
fbaf0770a7 Fix bugs in posix thread-id calculation when sizeof(pthread_t) != sizeof(long)
When pthread_t was smaller, our calculated thread IDs would include
uninitialized RAM, and so our unit tests would fail because thread_ids
would never match one another.

When pthread_t was larger and alignment was big-endian, our calculated
thread IDs would only have the most significant bytes of the
pthread_t, when in practice all the entropy is in the low-order bytes.

Found with help from Dagobert Michelsen.
2010-10-26 12:09:20 -04:00
Nick Mathewson
9dc5f44a19 Increment version in git to 2.0.8-rc-dev 2010-10-14 22:12:32 -04:00
Nick Mathewson
ef18c994c3 Increment the version to 2.0.8-rc
NOTE: This is not the official release until I tag it.  If you see
    this commit, and you decide that Libevent 2.0.8-rc is now
    finalized, you might get something besides 2.0.8-rc.
2010-10-14 18:36:07 -04:00
Nick Mathewson
d3b096c011 Make the --enable-gcc-warnings option include signed comparison warnings 2010-10-14 13:54:15 -04:00
Nick Mathewson
5811d74c6b Bump version to 2.0.7-rc-dev 2010-09-09 15:59:18 -04:00
Nick Mathewson
fe008ed656 Make all versioning changes for 2.0.7-rc, and add ChangeLog 2010-09-09 14:59:27 -04:00
Nick Mathewson
6123d1298f Fix kquue correctness test on x84_64
Apparently, in our configure.in check for a working kqueue, we were
leaving some fields unset that seemed to irritate 64-bit kqueue a lot.

Found by Christopher Layne
2010-08-19 09:43:04 -04:00
Nick Mathewson
9b5c19ac87 Merge branch 'more_pkgconfig' 2010-08-10 11:46:00 -04:00
Nick Mathewson
ebcb1f0387 Add pkgconfig files for libevent_{openssl,pthreads} 2010-08-10 11:11:25 -04:00
Nick Mathewson
ff481a8e43 Increment vesion to 2.0.6-rc-dev 2010-08-06 23:22:01 -04:00
Nick Mathewson
556d0f4001 Increment versions to 2.0.6-rc 2010-08-06 21:19:44 -04:00
Nick Mathewson
ec347b9225 Move event-config.h to include/event2
This change means that all required include files are in event2, and
all files not in event2/* are optional.
2010-08-06 20:21:27 -04:00
Nick Mathewson
d14bb926b4 Use -Wlogical-op on gcc 4.5 or higher
It exposed one bug for us (see 8c3452bcb294e07888), and might
prevent more.
2010-05-18 14:05:01 -04:00
Nick Mathewson
75701e897b Add some missing includes to fix Linux build again 2010-05-14 14:30:09 -04:00
Nick Mathewson
9cb5bc86a9 Bump version to 2.0.5-beta-dev 2010-05-10 14:51:32 -04:00
Nick Mathewson
ad9b7f153d Increment version numbers for 2.0.5-beta 2010-05-09 00:22:08 -04:00
Nick Mathewson
7c519dfd4f Fix some autoconf issues on OpenBSD
Issue 1: autoconf gets accept when a header works properly with cpp
but not with cc.  This was true of the sys/sysctl.h header on
openbsd.  The fix: include sys/param.h (if present) when testing for
sys/sysctl.h

Issue 2: Somehow, autoconf's macro generation code is messed up on
some versions of openbsd (including mine, and other people's too) so
that instead of SIZEOF_VOID_P, it makes SIZEOF_VOID__.
evutil/util.h now works around that.
2010-05-08 23:31:35 -04:00
Nick Mathewson
c1cd32a156 Define _REENTRANT as needed on Solaris, elsewhere
It turns out that _REENTRANT isn't only needed to make certain
functions visible; we also need it to make pthreads work properly
some places (like Solaris, where forgetting _REENTRANT basically
means that all threads are sharing the same errno).  Fortunately,
our ACX_PTHREAD() configure macro already gives us a PTHREAD_CFLAG
variable, so all we have to do is use it.
2010-05-08 22:21:52 -04:00
Nick Mathewson
c44de06c76 Numerous opensolaris compilation fixes
For future note, opensolaris doesn't have sys/sysctl.h, doesn't like
comparing iov_buf to a chain_space_ptr without a cast, and is (predictably)
unforgiving of dumb syntax errors.

Also, we had accidentally broken the devpoll backend test in configure.in
2010-05-08 19:34:09 -04:00
Nick Mathewson
40c301b76c Fix compilation when openssl support is disabled
Previously, we'd fail if OpenSSL was present but openssl support was
disabled.  Now we don't.
2010-04-28 14:56:51 -04:00
Nick Mathewson
a47a4b7e7e Fix a couple of bugs in the BSD sysctl arc4seed logic
Of course, FreeBSD has its own arc4random() implementation, so this should
never actually be needed.  Still, it's good to paint the underside of the
wagon.
2010-04-23 16:08:09 -04:00
Nick Mathewson
71fc3eb08b Seed the RNG using sysctl() as well as /dev/urandom
William Ahern points out that if the user has chrooted, they might not
have a working /dev/urandom.  Linux and many of the BSDs, however,
define a sysctl interface to their kernel random number generators.

This patch takes a belt-and-suspenders approach and tries to do use the
sysctl _and_ the /dev/urandom approach if both are present.  When using
the sysctl approach, it tries to bulletproof itself by checking to make
sure that the buffers are actually set by the sysctl calls.
2010-04-23 15:46:04 -04:00
Trond Norbye
3eb044d0a9 Never test for select() on windows
On 64-bit windows, configure actually _finds_ select when it tests for
it, and due to the ordering of the io implementations in event.c it is
chosen over the win32select implementation.

This modification skips the test for select on win32 (we don't want
that anyway, because Windows has its own), causing my windows box to
get the win32select implementation.

(edited by Nick)
2010-03-23 13:27:10 -04:00
Nick Mathewson
2e898f542b Switch to using AM conditionals in place of AC_LIBOBJ
AC_LIBOBJ is really only meant for defining missing library functions,
not conditional code compilation.  Sticking our conditionally compiled
modules in SYS_SRC should make stuff easier to maintain.
2010-03-12 14:16:30 -05:00
Nick Mathewson
2cffd6c937 Bump version to 2.0.4-alpha-dev 2010-02-28 16:53:42 -05:00
Nick Mathewson
9669ade525 Bump the version to 2.0.4-alpha 2010-02-28 16:44:25 -05:00
Nick Mathewson
ca46d25b01 Merge branch 'arc4random' 2010-02-17 23:02:28 -05:00
Nick Mathewson
63e868e69f Increment the submicro version number.
We've changed a couple of APIs introduced in 2.0.1-alpha, so it
behooves us to give high-needs apps (like Tor) a way to tell we've
done this.

Sensible apps will just say "is it 2.0.3-alpha or 2.0.4-alpha" and
ignore the existence of 2.0.3-alpha-dev, which is just as it should
be.
2010-02-15 16:45:19 -05:00
Nick Mathewson
4ec8fea68e Make RNG work when we have arc4random() but not arc4random_buf() 2010-02-13 00:11:44 -05:00
Nick Mathewson
d4de062efc Add an arc4random implementation for use by evdns
Previously, evdns was at the mercy of the user for providing a good
entropy source; without one, it would be vulnerable to various
active attacks.

This patch adds a port of OpenBSD's arc4random() calls to Libevent
[port by Chris Davis], and wraps it up a little bit so we can use it
more safely.
2010-02-11 12:53:32 -05:00
Nick Mathewson
1fa4c81c71 Add ev_[u]intptr_t to include/event2/util.h
We already emulate most of the other useful bits of stdint.h, and
we seem to have started to use uintptr_t in a few places throughout
the code.  Let's make sure we can continue to do so even on backwards
platforms that don't do C99.
2010-01-26 12:06:41 -05:00
Nick Mathewson
cd17c3acd5 Add support for a "debug mode" to try to catch common errors.
Right now it only catches cases where we aren't initializing events,
or where we are re-initializing events without deleting them first.
These are however shockingly common.
2010-01-25 13:53:13 -05:00
Nick Mathewson
7296971b10 Detect setenv/unsetenv; skip main/base_environ test if we can't fake them.
Previously, we assumed that we would have setenv/unsetenv everywhere
but WIN32, where we could fake them with putenv.  This isn't so: some
other non-windows systems lack setenv/unsetenv, and some of them lack
putenv too.

The first part of the solution, then, is to detect setenv/unsetenv/
putenv from configure.in, and to fake setenv/unsetenv with putenv
whenever we have the latter but not one of the former.

But what should we do when we don't even have putenv?  We could do
elaborate tricks to manipulate the environ pointer, but since we're
only doing this for the unit tests, let's just skip the one test in
question that uses setenv/unsetenv.
2010-01-22 15:03:01 -05:00
Nick Mathewson
78ed097267 Never believe that we have pthreads on win32, even if gcc thinks we do.
Apparently some newer versions of mingw provide a fake pthreads api to
let applications work even if they don't know about windows threading.
That's nice, but we aren't one of those.
2009-12-30 13:30:20 -05:00
Nick Mathewson
5a112d3c07 Set all instances of the version number correctly.
Note that we've made two subtle mistakes: we are supposed to suffix
any non-released version with "-dev", and we're supposed to use the
last byte of the numeric version to indicate whether we have done this.

For example, when 2.0.4-alpha is released, its numeric versin will be
0x 02 00 04 00.  As soon as we tag it, we will change the version in
the git repository to 2.0.4-alpha-dev, whose numeric version will be
0x 02 00 04 01 or something.
2009-12-18 23:37:50 -05:00
Niels Provos
505040a2b5 call it 2.0.3-alpha
svn:r1556
2009-11-20 00:18:35 +00:00