213 Commits

Author SHA1 Message Date
Nick Mathewson
a1c042bfe9 Infrastructure for using faster/fewer syscalls when creating sockets
Linux provides some features that allow avoiding extra calls to
fcntl when creating new nonblocking/close-on-exec sockets, so
we can add wrapper functions to emulate those when they are not
available.

Additionally, even when we are emulating those functions, we can
take a fast path that cuts our fcntl calls in half: we don't need to
look up the previous value of a file's flags when we have just
created it.
2012-02-10 16:11:47 -05:00
Nick Mathewson
f25d9d32b1 Add an (internal) usleep function for use by unit tests 2012-01-24 11:42:26 -05:00
Nick Mathewson
d430602863 Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
	configure.in
2011-12-08 11:43:04 -05:00
Mike Frysinger
358c745e54 check for sysctl before we use it
Not all C libraries under Linux support the sysctl() func.
2011-12-08 11:39:48 -05:00
Nick Mathewson
88a30ad880 Split up extra-long AC_CHECK_FUNCS/HEADERS lines in configure.in 2011-12-07 18:29:06 -05:00
Nick Mathewson
7085a4568c Use getifaddrs to detect our interfaces if possible
The old scheme involved connected UDP sockets and getsockname(), and is
generally best avoied.
2011-12-07 18:16:32 -05:00
Nick Mathewson
ba4d66961e Increment version to 2.0.16-stable-dev 2011-11-18 15:34:37 -05:00
Nick Mathewson
5de3fa3208 Increment version to 2.0.16-stable 2011-11-18 15:27:06 -05:00
Nick Mathewson
8589f6c45b Bump version to 2.0.15-stable-dev 2011-10-12 01:00:23 -04:00
Nick Mathewson
4d9529fcfa Increment version to 2.0.15-stable 2011-10-12 00:22:17 -04:00
Nick Mathewson
8a2310408f Build with large-file support on platforms where it matters
Some hosts require you to define certain options to get a large off_t
instead of a small one, to get useful ftell and fseek calls instead of
ones that can only support 2GB files, and so on.  This patch makes
Libevent support those platforms by:

   * Defining the right options when we build, and
   * Changing our API so that it does not depend on the platform's
     definition of off_t.

Based on discusion with Michael Herf
2011-09-12 14:53:39 -04:00
Nick Mathewson
caf133f901 Merge branch 'new_configure_options' 2011-09-12 10:09:28 -04:00
Sebastian Hahn
755026771a Implement --enable-gcc-hardening configure option
Using --enable-gcc-hardening enables some additional safety features
that gcc makes available such as stack smashing protection using
canaries and ASLR.

This commit is based on a patch for Tor:
(git commit 04fa935e02270bc90aca0f1c652d31c7a872175b by Jacob Appelbaum)
Copyright (c) 2007-2011, The Tor Project, Inc.
2011-09-12 10:09:21 -04:00
Sebastian Hahn
d46517ee55 Make gcc warnings on by default, and --enable-gcc-warnings only add -Werror
This commit is based on a patch for Tor
(git commit ca60a6ce3f4786626ac455ec1b798b2e8304635c by Peter
Palfrader), Copyright (c) 2007-2011, The Tor Project, Inc.

(Originally, it added --enable-gcc-warnings-advisory as in Tor; Nick
changed that.)
2011-09-12 10:07:44 -04:00
Nick Mathewson
10c3450fd6 Make --enable-verbose-debug option match its help text 2011-08-31 11:58:40 -04:00
Nick Mathewson
a718b6c31c Increment version to 2.0.14-stable-dev 2011-08-31 11:25:11 -04:00
Nick Mathewson
85976ddfa4 Bump version to 2.0.14-stable 2011-08-30 22:28:02 -04:00
Harlan Stenn
1c63860758 Use pkg-config (if available) to handle OpenSSL. 2011-08-28 14:31:28 -04:00
Nick Mathewson
d87a3f71c6 Merge remote-tracking branch 'ellzey/event_debug_flag' 2011-08-11 13:59:02 -04:00
Nick Mathewson
d4f56353f7 Merge remote-tracking branch 'origin/patches-2.0' 2011-08-10 13:18:30 -04:00
Sebastian Hahn
5d1b255b14 Ignore deprecation warnings on OS X
Starting with Lion, Apple decided to deprecate the system openssl. We
can start requiring users to install their own openssl once OS X doesn't
ship with it anymore.
2011-08-10 19:13:39 +02:00
Mark Ellzey
a9c2c9ab62 changed to --enable-verbose-debug 2011-08-06 01:32:40 -04:00
Mark Ellzey
bc7b4e4051 Added --enable-event-debugging in configure 2011-08-02 17:23:52 -04:00
Nick Mathewson
a2fdf9b04f Bump version to 2.0.13-stable-dev 2011-07-18 23:37:59 -04:00
Nick Mathewson
80414e22a7 Bump version to 2.0.13-dev 2011-07-18 18:19:25 -04:00
Nick Mathewson
60c1426f2c Bump version to 2.0.12-stable-dev 2011-06-04 21:36:34 -04:00
Nick Mathewson
7283facdb9 Bump version to 2.0.12-stable. Not release just yet 2011-06-03 17:08:14 -04:00
Nick Mathewson
36f745df22 Merge remote-tracking branch 'origin/patches-2.0' 2011-06-01 13:52:27 -04:00
Nick Mathewson
d54d3fc40d cygwin: make it possible to build DLLs
Patch from Brian Koehmstedt
2011-06-01 13:48:02 -04:00
Peter Rosin
85078b1faf In configure, test for _WIN32 not WIN32. 2011-05-25 20:04:45 -04:00
Nick Mathewson
0e95950e60 Merge remote-tracking branch 'origin/patches-2.0' 2011-05-25 19:46:14 -04:00
Peter Rosin
f3c7a4c165 Bring in the compile script from automake, if needed. 2011-05-25 19:44:06 -04:00
Peter Rosin
07c41bead2 Make the tests build when OpenSSL is not available.
Don't #define HAVE_OPENSSL (to zero) when OpenSSL is not available.
Code written as #ifdef HAVE_OPENSSL do not expect that.
2011-05-25 19:44:06 -04:00
Nick Mathewson
6b23518d85 Merge remote-tracking branch 'origin/patches-2.0' 2011-05-06 11:06:11 -04:00
Sebastian Hahn
66193853fd Correctly detect openssl on windows 2011-05-06 10:58:06 -04:00
Sebastian Hahn
ceb03b90c4 Move the win32 detection in configure.in 2011-05-06 02:06:36 +02:00
Sebastian Hahn
292092eb29 Use OPENSSL_LIBS in Makefile.am 2011-05-06 02:06:32 +02:00
Nick Mathewson
e7529fa45b Bump version to 2.0.11-stable-dev 2011-04-27 21:28:11 -04:00
Nick Mathewson
d4d55196bd Increment version number to 2.0.11-stable 2011-04-27 20:25:57 -04:00
Nick Mathewson
cea45590e2 Merge remote-tracking branch 'origin/patches-2.0' 2011-04-24 22:56:16 -04:00
Nick Mathewson
ea0d019b71 Use AM_CONDITIONAL, not AC_SUBST, to tell automake to build regress
For some reason, this makes mingw much happier about building
regress.exe by default.  No, I'm afraid I don't know why.
2011-04-23 02:35:17 -04:00
Nick Mathewson
18f24ef4d5 Merge remote-tracking branch 'origin/patches-2.0' 2011-04-23 02:31:59 -04:00
Nick Mathewson
53d1e450f4 Try to fix up CHECK_REGRESS hack to not break on win32 2011-04-23 01:48:11 -04:00
Nick Mathewson
614a1712b7 Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
	evthread.c
2011-04-22 23:46:25 -04:00
Sebastian Hahn
ad9ff5834a Fix compilation under LLVM/clang with --enable-gcc-warnings
When compiling using clang (2.9 or lower) do not enable
-Wnormalized=id or -Woverride-init when --enable-gcc-warnings
or --enable-gcc-warnings-advisory is set as these options
are unsupported.

This commit is based on a patch for Tor
(git commit 56bdc844ba68ac0911efc7ad3398f1eafeaaac76 by Steven
Murdoch), Copyright (c) 2007-2011, The Tor Project, Inc.
2011-04-23 02:03:48 +02:00
Nick Mathewson
7a91f732be Merge remote branch 'origin/patches-2.0' 2011-03-23 16:34:58 -04:00
Nick Mathewson
c621359122 Add comment to configure.in to explain gc-sections test logic
(Basically, we need access to conftest.err for the test to work properly.)
2011-03-23 16:32:42 -04:00
Dave Hart
6bb23e4bb1 Fix for --gc-sections on NetBSD
This patch fixes http://bugs.ntp.org/1844, works around
http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=40401, by
improving the test for support of --gc-sections to run a program which
reads a file using stdio built with --gc-sections, instead of simply
link the binary.  This catches the buggy linker as the garbage
collection removes a tag NetBSD uses to distinguish its own elf
binaries from Linux ones, causing it to treat conftest as a Linux
binary and run it with the wrong syscall table.
2011-03-23 16:23:59 -04:00
Nick Mathewson
a11c30b5fe Merge remote branch 'origin/patches-2.0'
This branch is the big one that merges all the ntp folks' changes

Conflicts:
	configure.in
2011-02-22 17:41:27 -05:00
Nick Mathewson
2fba21d867 Make -ffunction-sections off-by-default in 2.0.x
I don't see how this can burn anybody, but I don't want to take
chances: new build options are something that should be done in an
alpha.  To turn -ffunction-sections on, pass
--enable-function-sections to configure.
2011-02-22 16:20:42 -05:00