232 Commits

Author SHA1 Message Date
Nick Mathewson
2ed4430225 If open(O_CLOEXEC) fails, fall back to fcntl(CLOEXEC)
This is needed for folks who build with recent Linux kernel headers
but run with older kernels.
2012-02-14 11:48:55 -05:00
Nick Mathewson
2793197663 Merge remote-tracking branch 'origin/patches-2.0' 2012-02-11 21:20:47 -05:00
Nick Mathewson
03dce42dfa Tweak the evutil_open_closeonexec patch to work on windows, old unixes.
Windows doesn't have a mode_t as far as I can tell.

Some unixes, iirc, don't like three-argument open without O_CREAT.
2012-02-11 21:17:18 -05:00
Ross Lagerwall
d2b5f7223a Make uses of open() close-on-exec safe by introducing evutil_open_closeonexec.
In a multi-process/threaded environment, opening fds internally
without the close-on-exec flag could leak fds to child processes.
2012-02-11 21:10:22 -05:00
Nick Mathewson
539466e568 Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
	Makefile.am
	WIN32-Code/event2/event-config.h
	configure.in
2012-02-10 17:33:50 -05:00
Nick Mathewson
e49e289129 Update copyright notices to 2012 2012-02-10 17:29:53 -05:00
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
40a3c52d05 Fix compilation of windows evutil_check_ifaddrs 2012-01-22 22:27:16 -05:00
Nick Mathewson
e0f0dbf99f Remove some accidentally-committed debugging code 2011-12-08 14:11:30 -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
0cb70e3333 Merge remote-tracking branch 'origin/patches-2.0' 2011-10-26 10:17:21 -04:00
Nick Mathewson
3c824bd334 Update copyright dates to 2011. 2011-10-24 13:18:09 -04:00
Nick Mathewson
b260065ab6 Merge remote-tracking branch 'origin/patches-2.0' 2011-08-28 14:06:03 -04:00
Harlan Stenn
7c11e51e1a Clean up some problems identified by Coverity. 2011-08-28 13:44:33 -04:00
Nick Mathewson
2bbed8fe2a Merge remote-tracking branch 'origin/patches-2.0' 2011-07-02 21:50:49 -04:00
Nicholas Marriott
8ee9f9c1cf Fix a few warnings on OpenBSD
- redeclaration of dst_size

- arpa/inet.h requires netinet/in.h first

- don't use a local with the same name as a global - it isn't needed so
  remove it
2011-07-02 21:49:07 -04:00
Nick Mathewson
9f560bfa11 Use "_WIN32", not WIN32: it's standard and we don't need to fake it
This patch was automatically generated with perl.

Based on a patch by Peter Rosin.
2011-05-25 20:03:15 -04:00
Nick Mathewson
bfdda26534 Merge remote-tracking branch 'origin/patches-2.0' 2011-04-05 17:22:36 -04:00
Nick Mathewson
1a21d7b840 Fix the check for multicast or broadcast addresses in evutil_check_interfaces
First of all, it is totally okay to have an address end with .255,
depending on what your netmask is, so we shouldn't reject a local
address if it ends with .255.

Second, our check for ending with .255 was broken.  So was our check
for class-d addresses.

Found by Dave Hart.
2011-04-05 17:21:14 -04:00
Nick Mathewson
d7c0ffa1c0 Merge remote-tracking branch 'origin/patches-2.0' 2011-04-05 17:19:00 -04:00
Nick Mathewson
637d17a1b9 Check for allocation failures in apply_socktype_protocol_hack 2011-04-05 16:32:39 -04:00
Nick Mathewson
22845886c6 Merge remote branch 'origin/patches-2.0' 2011-01-31 16:45:23 -05:00
Nick Mathewson
3c8f4e758e Add compile-time check for AF_UNSPEC==PF_UNSPEC 2011-01-31 16:44:06 -05:00
Nick Mathewson
cb92113979 Build on systems without AI_PASSIVE 2011-01-31 16:32:05 -05:00
Nick Mathewson
453317b28c Fall back to sscanf if we have no other way to implement strtoll 2011-01-24 18:22:32 -05:00
Nick Mathewson
8b0afe96eb Merge remote branch 'origin/patches-2.0' 2011-01-12 21:41:58 -05:00
Jardel Weyrich
666b096691 Detect and handle more allocation failures. 2011-01-07 13:03:31 -05:00
Kevin Bowling
9b27b30720 Remove event-private.h and switch to evconfig-private.h 2011-01-02 08:04:12 -07:00
Kevin Bowling
c51ef9307a Eliminate a couple more manual internal _GNU_SOURCE defines 2010-12-22 23:24:01 -07:00
Nick Mathewson
b8b8aa560c Use GetSystemTimeAsFileTime to implement gettimeofday on win32.
It is (in my benchmarks) way faster than _ftime, though the
conversion process is not so straightforward.  In theory, it can
have a better granularity too, though in practice who knows what
you're getting.
2010-12-16 13:26:01 -05:00
Nick Mathewson
22f4af6580 Remove end-of-line whitespace 2010-12-09 11:43:12 -05:00
Kevin Bowling
32390732d7 Fix snprintf related failures on IRIX. 2010-11-23 22:24:52 -05:00
Nick Mathewson
494186129f Use the US-English "canceled", not the UK "cancelled". 2010-11-19 12:08:29 -05:00
Nick Mathewson
a3245afec2 Fix win32 build in response to fixes from win64 build. 2010-11-01 14:23:33 -04:00
Nick Mathewson
f8095d64e2 Fix a typo in 7484df61c981fc33db2~ 2010-11-01 14:15:34 -04:00
Nick Mathewson
7484df61c9 Fix even more win64 warnings 2010-11-01 13:43:43 -04:00
Nick Mathewson
19c71e7454 Fix som event_warns that should have been event_warnx 2010-10-27 10:36:08 -04:00
Trond Norbye
f5ad31c186 Check return value for ioctlsocket on win32 2010-10-27 12:49:17 +02:00
Nick Mathewson
a8b7674cd5 Merge remote branch 'github/signed_compare' 2010-09-28 01:09:17 -04:00
Nick Mathewson
d49b5e3326 Do not search outside of the system directory for windows DLLs
Hardens against some attacks.
2010-09-27 15:45:34 -04:00
Nick Mathewson
9c8db0f804 Fix all warnings in the main codebase flagged by -Wsigned-compare
Remember, the code
   int is_less_than(int a, unsigned b) {
      return a < b;
   }
is buggy, since the C integer promotion rules basically turn it into
   int is_less_than(int a, unsigned b) {
      return ((unsigned)a) < b;
   }
and we really want something closer to
   int is_less_than(int a, unsigned b) {
      return a < 0 || ((unsigned)a) < b;
   }
.

Suggested by an example from Ralph Castain
2010-09-23 22:45:55 -04:00
Nick Mathewson
57d3413c55 Merge remote branch 'github/globals' 2010-09-08 11:39:24 -04:00
Nick Mathewson
e50c0fcc85 Use the _func() replacements for open, fstat, etc in evutil.c on win32
Remember that in a fit of ANSI C compliance, Microsoft decided to
screw portability by renaming basically all the functions in unistd.h to
get prefixed with an understore.

For some reason, mingw didn't seem to mind, but at least some people's
compilers did: see bug 3044490.
2010-09-02 13:13:28 -04:00
Nick Mathewson
1fdec20f8f Stop using global arrays to implement the EVUTIL_ctype functions
These apparently made libtool sad on win32, and the function call
overhead here should be negligable anyway.
2010-09-01 15:01:39 -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
57b30cd7cc Turn our socketpair() replacement into its own function
This patch splits the formerly windows-only case of evutil_socketpair()
into an (internal-use-only) function named evutil_ersatz_socketpair(), and
makes it build and work right on non-Windows hosts.

We need this for convenience to test sendfile on solaris, where socketpair
can't give you an AF_INET pair, and sendfile() won't work on AF_UNIX.
2010-08-06 13:01:32 -04:00
Nick Mathewson
7c2dea1615 Pass flags to fcntl(F_SETFL) and fcntl(F_SETFD) as int, not long
Everybody but Linux documents this as taking an int, and Linux is
very tolerant of getting an int instead.  If it weren't, everybody
doing fcntl(fd,F_SETFL,O_NONBLOCK) would break, since the glibc
headers define O_NONBLOCK as an int literal.
2010-07-13 11:09:47 -04:00
Pierre Phaneuf
0798dd1247 Close the file in evutil_read_file whether there's an error or not.
evutil_read_file would close the file if there was an error, but not if things went normally.
2010-05-27 22:37:09 -04:00
Nick Mathewson
47c5dfbea9 Remove some dead assignments 2010-05-18 17:28:51 -04:00