include/event2/util.h


Log

Author Commit Date CI Message
Nick Mathewson e49e2891 2012-02-10T17:29:53 Update copyright notices to 2012
Nick Mathewson 3c824bd3 2011-10-24T13:18:09 Update copyright dates to 2011.
Nick Mathewson 2888facc 2011-07-04T23:02:11 Revise the event/evbuffer/bufferevent doxygen for clarity and accuracy
Kevin Bowling 1cd45e56 2010-11-23T19:26:34 If not WIN32, include <sys/socket.h> in event2/util.h.
Kevin Bowling 2e2a3d7b 2010-11-23T19:09:08 Reworked AIX __ss_family workaround to use AC_STRUCT_MEMBER.
Nick Mathewson ac7e52d8 2010-10-25T14:29:30 Make evbuffer_add_file take ev_off_t, not off_t This change has no effect on non-windows platforms, since those either define off_t to 64-bits, or allow you to decide whether it should be 64-bits yourself via some LARGEFILE-like macro. On Windows, however, off_t is always 32-bit, so it's a bad choice for "file size" or "file offset" values. Instead, I'm adding an ev_off_t type, and using it in the one place where we used off_t to mean "the size of a file" or "an offset into a file" in the API. This breaks ABI compatibility on Windows.
Nick Mathewson ec347b92 2010-07-07T16:45:03 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.
Nick Mathewson 7c519dfd 2010-05-08T23:29:29 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.
Nick Mathewson a5bf43ab 2010-03-04T01:14:32 Document evutil_secure_rng_init() and evutil_secure_rng_add_bytes()
Sebastian Sjöberg 899c1dcc 2010-04-14T15:42:57 Replace EVUTIL_CLOSESOCKET macro with a function The EVUTIL_CLOSESOCKET() macro required you to include unistd.h in your source for POSIX. We might as well turn it into a function: an extra function call is going to be cheap in comparison with the system call. We retain the EVUTIL_CLOSESOCKET() macro as an alias for the new evutil_closesocket() function. (commit message from email by Nick and Sebastian)
Nick Mathewson 17efc1cd 2010-03-04T01:25:51 Update all our copyright notices to say "2010"
Nick Mathewson e5cf9879 2010-02-18T17:46:56 Clean up formatting: remove trailing spaces
Nick Mathewson d4de062e 2010-02-10T17:19:18 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.
Nick Mathewson 60742d58 2010-02-03T17:01:45 Add the rest of the integer limits, and add a test for them.
Nick Mathewson aba1fff3 2010-02-03T14:37:42 Add EV_*_MAX macros to event2/util.h to expose limits for ev_* types.
Nick Mathewson da6135e3 2010-02-03T02:09:19 Reduce windows header includes in our own headers. It turns out that absolutely everything that was including windows.h was doing so needlessly; our headers don't need it, so we should just include winsock2.h (since that's where struct timeval is defined). Pre-2.0 code will use the old headers, which include windows.h for them, so we aren't breaking source compatibility with 1.4. This solves the bug where we were leaving WIN32_LEAN_AND_MEAN defined, in roughly the same way that buying an automobile solves the question of what to give your coachman for boxing day.
Nick Mathewson 27c9a40f 2010-02-03T02:08:08 Fix a dumb typo in ev_intptr_t definitions. We said "#define ev_uintptr_t" twice instead of ever saying "#define ev_intptr_t".
Nick Mathewson 6c21c895 2010-02-03T01:22:44 Remove EVUTIL_CHECK_FMT. This was never supposed to be an exposed API, so its name should have been more like _EVUTIL_CHECK_FMT. But it was only used in one place, so let's just eliminate it.
Nick Mathewson 1fa4c81c 2010-01-26T12:06:41 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.
Nick Mathewson ba2945f9 2010-01-06T17:59:44 Merge branch 'ratelimit' Conflicts: bufferevent_async.c
Jardel Weyrich d0939d2b 2009-12-29T16:21:26 Introduced evutil_make_socket_closeonexec() to preserve fd flags for F_SETFD. Use this to eliminate the various macros that called F_SETFD throughout the code.
Nick Mathewson 737c9cd8 2009-11-27T13:16:54 Rate-limiting for bufferevents; group and individual limits are supported. The fairness algorithms are not the best, not every bufferevent type is supported, and some of the locking tricks here are simply absurd. Still, this code should be a good first step.
Joachim Bauch ea6b1df2 2009-12-08T15:38:34 Only define _GNU_SOURCE if it is not already defined.
Nick Mathewson 86f57420 2009-11-16T22:25:46 Add two implementations of getaddrinfo: one blocking and one nonblocking. The entry points are evutil_getaddrinfo and evdns_getaddrinfo respectively. There are fairly extensive unit tests. I believe this code conforms to RFC3493 pretty closely, but there are probably more issues. It should get tested on more platforms. This code means we can dump the well-intentioned but weirdly-implemented bufferevent_evdns and evutil_resolve code. svn:r1537
Nick Mathewson 25a5e681 2009-11-05T20:37:19 Build fixes for MSVC svn:r1506
Nick Mathewson e6b747c3 2009-10-12T21:06:30 Declare struct timezone in util.h so that borken mingw versions do not complain svn:r1441
Nick Mathewson 621aafd2 2009-07-30T22:11:23 Export sockaddr comparison functionality. svn:r1400
Nick Mathewson 7c20a6ae 2009-07-30T17:01:21 Export an ev_socklen_t. svn:r1391
Nick Mathewson 72ea534f 2009-07-28T19:41:57 Export evutil_str[n]casecmp as evutil_ascii_str[n]casecmp. svn:r1387
Nick Mathewson 0b4ab122 2009-05-28T15:47:15 Spell-check the the headers svn:r1320
Nick Mathewson b2e8fd0e 2009-04-30T23:56:53 Apparently MSVC lacks a ssize_t. Define an ev_ssize_t for headers, and make ssize_t work elsewhere. svn:r1261
Nick Mathewson 838d0a81 2009-04-17T06:55:08 Document many internal functions and pieces of code. svn:r1181
Nick Mathewson acaf65c3 2009-02-11T17:23:32 Make evutil_parse_sockaddr_port give a useful socket-length output. svn:r1118
Nick Mathewson c7b2f8fd 2009-02-10T19:38:05 New function to abstract SO_REUSEADDR. svn:r1102
Nick Mathewson b85b710c 2009-01-27T22:34:36 Update copyright statements to reflect the facts that: a) this is 2009 b) niels and nick have been comaintainers for a while c) saying "all rights reserved" when you then go on to explicitly disclaim some rights is sheer cargo-cultism. svn:r1065
Nick Mathewson 52a75f18 2009-01-26T17:09:22 Documentation (or more accurate documentation) for a few more functions. svn:r1051
Nick Mathewson dddd58ba 2009-01-26T17:09:09 Reformat util.h slightly so that it looks ok with 8-char tabs. svn:r1050
Nick Mathewson cfbd1680 2009-01-02T20:46:26 Add another function to parse the common address:port combination formats into a sockaddr. svn:r984
Nick Mathewson 0d9d5cfe 2009-01-02T20:46:12 New functions in evutil to clone inet_pton and inet_ntop, with tests. Adapted from Tor code. svn:r983
Nick Mathewson de069b99 2008-09-05T16:29:56 On win32, errno is not the last socket error. Worse, WSAGetLastError() is not the last socket error sometimes (i.e., EWOULDBLOCK). Also, strerror() does not handle winsock errors. Therefore, event_err() and event_warn() are completely wrong for windows socket errors. Fix that. svn:r936
Nick Mathewson c6da86ff 2008-05-12T16:44:24 r19709@catbus: nickm | 2008-05-12 12:42:48 -0400 Possible fix for [1960723] snprintf and vsnprintf return values are wrong on win32 svn:r813
Nick Mathewson a26442c5 2008-05-08T14:06:33 r19649@catbus: nickm | 2008-05-08 10:00:14 -0400 Replace gettimeofday() usage with a new evutil_gettimeofday(). This removes all previous need for win32-code/misc.[ch] svn:r792
Nick Mathewson 0a804f3c 2008-05-07T21:51:49 r19641@catbus: nickm | 2008-05-07 17:51:26 -0400 Forward-port: Fix win32 vc-2005 build. svn:r786
Nick Mathewson 9626a421 2008-04-29T18:11:23 r15341@tombo: nickm | 2008-04-29 14:09:50 -0400 Use internal implementation for evutil_timercmp() everywhere, to avoid bugs when the platform timercmp() has never heard of <= or >=. Also, replace timercmp() usage in min_heap.c with call to evutil_timercmp(). svn:r744
Nick Mathewson 0ac73078 2008-04-16T20:01:51 r15193@tombo: nickm | 2008-04-16 16:00:35 -0400 Split event.h into several new headers in include/event2. event.h is now just a wrapper that includes all the subheaders. svn:r711