Log

Author Commit Date CI Message
Nick Mathewson 539466e5 2012-02-10T17:33:50 Merge remote-tracking branch 'origin/patches-2.0' Conflicts: Makefile.am WIN32-Code/event2/event-config.h configure.in
Nick Mathewson e49e2891 2012-02-10T17:29:53 Update copyright notices to 2012
Nick Mathewson 8152b4c2 2012-02-10T16:49:05 Bump version to 2.0.17-stable
Nick Mathewson e465623a 2012-02-10T12:05:39 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 5d7bfa15 2012-02-10T11:24:51 In the kqueue backend, do not report EBADF as an EV_READ We were doing this because of (correct) reports that NetBSD gives an EBADF when you try to add the write side of a pipe for which the read side has been closed. But on most kqueue platforms, that doesn't happen, and on *all* kqueue platforms, reporting a nonexistent fd (which we usually have if we have seen EBADF) as readable tends to give programs a case of the vapors. Nicholas Marriott wrote the original patch here; I did the comment fixes.
Nick Mathewson df19ba6a 2012-02-09T15:16:02 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 19715a60 2012-02-09T15:07:19 Avoid crash when freeing event_iocp and using event_set_mem_functions There was a calloc that needed to be an mm_calloc. Reported by "fffvvvzz" on sourceforge. Ticket 3486114
Nick Mathewson 6f6cebe3 2012-02-06T21:18:25 Bring the changelog up to date
Nick Mathewson c00416f7 2012-02-06T12:39:09 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 5b4b8126 2012-02-06T12:24:49 Loop on filtering SSL reads until we are blocked or exhausted. This is not a perfect fix, but it's much much better than the current buggy behavior, which could lead to filtering SSL connections that just stopped reading. Based on ideas by Maseeb Abdul Qadir and Mark Ellzey.
Nick Mathewson 4dee4cc7 2012-02-02T11:45:23 Replace more C99/C++ comments with oldschool /* */ comments
Nick Mathewson 7c46d4aa 2012-02-02T11:41:37 Merge remote-tracking branch 'origin/patches-2.0'
Greg Hewgill d84d9170 2011-11-21T09:41:55 Use C-style comments in C source files (for compatibility with compilers such as xlc on AIX).
Nick Mathewson 032aac15 2012-02-01T14:57:44 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson d6094b16 2012-02-01T14:56:43 evdns: fix a bug in circular-queue implementation found by Wang Qin
Sebastian Hahn e4a56ed5 2012-01-31T18:58:59 Fix a compile warning in event_reinit Introduced in 272033efe575a9dc7ec6f123a96afba5c69ff1c6
Nick Mathewson 7622d265 2012-01-27T15:10:28 Make test-changelist faster
Nick Mathewson 39b3f38d 2012-01-27T14:39:18 Check changelist as part of checking representational integrity
Nick Mathewson 2c4b5de1 2012-01-27T14:30:41 Restore fast-path event_reinit() for slower backends We used to use the needs_reinit flag in struct eventop to indicate whether an event backend had shared state across a fork(), and therefore would require us to construct a new event backend. But when we realized that the signal notification fds and the thread notification fds would always be shared across forks, we stopped looking at it. This patch restores the old behavior so that poll, select, and win32select don't need to do a linear scan over all pending fds/signals when they do a reinit. Their life is hard enough already.
Nick Mathewson 272033ef 2012-01-27T13:54:05 Make event_reinit() more robust and maintainable Previously, event_reinit required a bunch of really dubious hacks, and violated a lot of abstraction barriers to mess around with lists of internal events and "pretend" to re-add them. The new (and fairly well commented!) implementation tries to be much smarter, by isolating the changes as much as possible to the backend state, and minimizing the amount of abstraction violations. Specifically, we now use event_del() to remove events we want to remove, rather than futzing around with queues in event_reinit(). To avoid bogus calls to evsel->del(), we temporarily replace evsel with a null-object stub. Also, we now push the responsibility for calling evsel->add() down into the evmap code, so that we don't actually need to unlink and re-link all of our events.
Nick Mathewson 4b7baec6 2012-01-26T16:56:33 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 9f9e259f 2012-01-26T15:04:24 Better workaround for Linux 3.2 edge-triggered epoll bug On further investigation, it appears that this problem is limited to AF_UNIX sockets, so let's just do the test on AF_INET sockets.
Nick Mathewson 2c6b3246 2012-01-24T17:18:52 Merge remote-tracking branch 'origin/patches-2.0'
Nate R c94a5f2a 2012-01-24T17:15:50 Do a memberwise comparison of threading function tables Doing a memcmp risks comparing uninitialized padding bytes at the end of the structure.
Nick Mathewson 95e2455c 2012-01-24T16:08:00 When including an -internal.h header outside the main tree, do so early Some of our unit tests and sample code need functions and structures defined in an -internal.h header. But that can freak out OpenSolaris, where stdio.h wants to define _FILE_OFFSET_BITS unless it's already defined, and then evconfig-internal.h defines it. Regular users should never ever use our -internal.h headers, so the solution is to make sure that if we're going to use them ourselves, we do so before system headers.
Nick Mathewson b9f7e5fd 2012-01-24T15:58:11 Allow more slop in deferred_cb_skew test; freebsd needs it
Nick Mathewson ea30a435 2012-01-24T15:30:51 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 3aa0e8a9 2012-01-24T15:30:31 Remove a couple of now-unused variables
Nick Mathewson 438d4ff2 2012-01-24T15:29:39 Make event_base integrity check work on windows
Nick Mathewson edc6d7d7 2012-01-24T15:09:04 Start writing a changelog for 2.0.17-stable
Nick Mathewson b77b43fc 2012-01-24T14:59:37 Use test_timeval_diff_eq more consistently
Nick Mathewson 67a1763b 2012-01-24T14:33:10 Make regression tests run over 3x faster. This was mainly a matter of reducing timeouts and delays, paying special attention to every test that took longer than a second to finish. We could do better here; IMO anything over .7 sec is probably too long, but it's a big win as it is. Remember, interactive computing is a big win over batch processing: anything that makes you get up and walk away from the terminal might as well be making you carry your punch cards over to the mainframe.
Nick Mathewson 350a3c40 2012-01-24T14:34:04 New evhttp function to adjust initial retry timeout
Nick Mathewson ab14f7c1 2012-01-24T11:45:00 Reduce the timeout in the main/fork test. There was no reason for it to be so long, except for the lack of a usleep
Nick Mathewson f25d9d32 2012-01-24T11:42:26 Add an (internal) usleep function for use by unit tests
Nick Mathewson 18653fca 2012-01-24T11:17:06 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 5408ff3b 2012-01-24T11:16:26 Oops:remove an accidentally committed "sleep(1)" in a unit test
Nick Mathewson 10996a1a 2012-01-24T11:04:56 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson dab91877 2012-01-24T11:04:19 Workaround in the unit tests for an apparent epoll bug in Linux 3.2
Nick Mathewson fe0afabb 2012-01-24T10:29:31 Merge remote-tracking branch 'origin/patches-2.0' Conflicts: event.c Edits required in: evmap.c
Nick Mathewson 3f18ad1b 2012-01-23T18:15:44 Fix a fd leak in event_reinit() We were supposed to be closing the ev_signal_pair sockets.
Nick Mathewson 6e41cdc1 2012-01-23T17:59:16 Fix a list corruption bug when using event_reinit() with signals present While re-adding all the events, event_reinit() could add a signal event, which could then cause evsig_add() to add the base->sig.ev_signal event. Later on its merry path through base->eventqueue, event_reinit() would find that same event and give it to event_io_add a second time. This would make the ev_io_next list for that fd become circular. Ouch!
Nick Mathewson 3312b020 2012-01-23T17:43:35 Check event_base correctness at end of each unit test
Nick Mathewson 40a3c52d 2012-01-22T22:27:16 Fix compilation of windows evutil_check_ifaddrs
Nick Mathewson 27737d55 2012-01-21T12:55:15 Add function to check referential integrity of an event_base
Nick Mathewson 5683e2b1 2012-01-20T16:31:20 Merge remote-tracking branch 'github/linked_list' Conflicts: include/event2/event_struct.h
Nick Mathewson 677f23cc 2012-01-20T11:40:39 Merge remote-tracking branch 'origin/patches-2.0'
Catalin Patulea 790f6b3b 2012-01-10T18:33:58 Force strict validation of HTTP version in response. This sometimes accepted invalid versions like 'ICY' (n = 0, major = undefined, sometimes > 1).
Nick Mathewson a86a0c04 2012-01-16T14:47:05 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 7206e8cd 2012-01-16T14:45:31 Suppress a gcc warning from ignoring fwrite return in http-sample.c Found by Steve Snyder
Nick Mathewson 26e85fcc 2012-01-09T16:54:19 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson cba48c7d 2012-01-09T16:44:53 Fix a race condition in the dns/bufferevent_connect_hostname test. As originally written, the test would only pass if the accept() callbacks for the evconnlistener were all invoked before the last of the CONNECTED/ERROR callbacks for the connecting/resolving bufferevent had its call to event_base_loopexit() complete. But this was only accidentally true in 2.0, and might not be true at all in 2.1 where we schedule event_base_once() callbacks more aggressively. Found by Sebastian Hahn.
Nick Mathewson d5a3fe5f 2012-01-09T12:00:04 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson ecfc720a 2012-01-09T11:49:41 Make evconnlistener work around bug in older Linux when getting nmapped Older Linuxes sometimes respond to some nmap probes by having accept() return a success but with socklen 0. That can lead to confusing behavior when you go to process the sockaddr.
Nick Mathewson f0325167 2012-01-09T11:33:38 Remove bogus casts of socket to int before calling ev_callback This should make 64-bit windows act better. Found by Mark Heily.
Nick Mathewson 0586c25e 2011-12-14T16:28:18 Merge remote-tracking branch 'origin/patches-2.0'
Arno Bakker da70fa70 2011-12-14T16:17:19 Backport evhttp_connection_get_bufferevent to Libevent 2.0 Backport by Arno Bakker; original implementation in 8d3a8500f4
Nick Mathewson cac02fad 2011-12-08T14:38:04 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 7bbf6ca7 2011-12-08T14:36:32 Slightly clarify evbuffer_peek documentation
Zack Weinberg c986f232 2011-12-08T14:30:20 Fix behavior of evbuffer_peek(buf,-1,NULL,NULL,0) (Patch altered by nickm to not affect the behavior of evbuffer_peek(buf,-1,NULL,vec,n_vec).)
Nick Mathewson e0f0dbf9 2011-12-08T14:11:30 Remove some accidentally-committed debugging code
Nick Mathewson 5c7675cc 2011-12-08T14:05:47 whitespace fixes
Nick Mathewson de5428e7 2011-12-08T14:04:04 Merge remote-tracking branch 'fancycode/buffer_references' Conflicts: buffer.c
Nick Mathewson d4306028 2011-12-08T11:43:04 Merge remote-tracking branch 'origin/patches-2.0' Conflicts: configure.in
Mike Frysinger 358c745e 2011-12-08T11:39:48 check for sysctl before we use it Not all C libraries under Linux support the sysctl() func.
Nick Mathewson 88a30ad8 2011-12-07T18:29:06 Split up extra-long AC_CHECK_FUNCS/HEADERS lines in configure.in
Nick Mathewson 56c6afe2 2011-12-07T18:17:34 Merge branch '21_ifaddr'
Nick Mathewson 7085a456 2011-12-07T18:16:32 Use getifaddrs to detect our interfaces if possible The old scheme involved connected UDP sockets and getsockname(), and is generally best avoied.
Joachim Bauch a8e5e2fc 2011-12-07T21:06:10 Changed use of refcounts to make sure referenced chains are freed in all cases.
Nick Mathewson 27e22255 2011-12-07T13:04:35 Add evbuffer_copyout_from to copy data from the middle of a buffer You could previously do this with evbuffer_peek() and some memcpys, but it was a bit more work than most folks wanted to get into. Closes sourceforge ticket 3108072
Nick Mathewson 35c5c955 2011-12-07T11:49:52 Bypass event_add when using event_base_once() for a 0-sec timeout Some people use event_base_once(EV_TIMEOUT) to make a callback get called "immediately". But this is pretty roundabout: it uses the timeout heap to immediately put the event onto the active queue, when it could just use event_active. Additionally, it can lead to surprising re-ordering behavior. This patch changes event_base_once so it bypasses event_add() and called event_active() directly on a pure-timeout event with an empty timeout.
Nick Mathewson 748a0d27 2011-12-06T13:38:40 Merge remote-tracking branch 'origin/patches-2.0'
Colin Watt 19277763 2011-12-06T13:35:54 Fix a silly compilation error with the sun compiler Apparently, other compilers were allowing "return free(x)" in a function returning void.
Nick Mathewson 9ce5053d 2011-12-06T11:02:12 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 11f36a5f 2011-12-05T15:02:27 Be absolutely sure to clear pncalls before leaving event_signal_closure I thought we'd fixed the cases where this could come up, but apparently having an event_base_break() happen while processing signal events could get us in trouble. Found by Remi Gacogne. Sourceforge issue 3451433 .
Nick Mathewson da45aa74 2011-12-02T01:48:14 fix windows compilation issues with new file segment code Found by Linus Nordberg
Nick Mathewson f3b89dec 2011-11-24T12:31:50 Fix two issues in the allow_dirty_shutdown code. First, it shouldn't crash when it's passed a non-ssl bufferevent. Second, it should behave correctly when it gets a true argument other than 1.
Nick Mathewson a44cd2b0 2011-11-24T12:24:38 Tweak allow_dirty_shutdown documentation
Catalin Patulea 099d27df 2011-11-21T19:57:19 Allow users to set allow_dirty_shutdown
Catalin Patulea f7eb69ac 2011-11-21T19:24:50 bev_ssl: Be more specific in event callbacks. evhttp in particular gets confused without at least one of BEV_EVENT_{READING|WRITING}.
Nick Mathewson 3596a31d 2011-11-18T15:35:33 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson ba4d6696 2011-11-18T15:34:37 Increment version to 2.0.16-stable-dev
Nick Mathewson 5de3fa32 2011-11-18T15:27:06 Increment version to 2.0.16-stable
Nick Mathewson 044c41de 2011-11-18T15:16:11 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 31c99bd2 2011-11-18T15:14:50 Revise 2.0.16-stable changelog
Nick Mathewson 9ee9e943 2011-11-18T14:23:13 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson ebf82199 2011-11-17T17:42:45 add comment to new consider_reading code
Mark Ellzey 2aa036fa 2011-11-17T11:59:41 Avoid spinning on OpenSSL reads Previously, if some sender were generating data to read on an OpenSSL connection as fast as we could process it, we could easily wind up looping on an openssl do_read operation without ever considering other sockets. The difference between this and the original method in consider_reading() is that it only loops for a single completed *frame* instead of looping until fd is drained or an error condition was triggered. {Patch split out by nickm}
Nick Mathewson 96c562fa 2011-11-17T11:54:07 Move SSL rate-limit enforcement into bytes_to_read()
Mark Ellzey a186e732 2011-11-17T11:45:49 Refactor amount-to-read calculations in buffervent_ssl consider_reading() Split up consider_reading()'s conditional checks into another function can_read() for simplicity sake. {Split into a separate patch by nickm}
Nick Mathewson 6660c9a3 2011-11-15T18:34:24 Revert "Avoid potential SSL read spinlocks" This reverts commit fc52dbac87f4937f8306759506d6a2ad15ca244c.
Nick Mathewson a62346de 2011-11-15T18:33:50 Revert "openssl bufferevent has the same issue with writing as prior commit." This reverts commit 7353663eb7c0b2a1caaaa5acd818515f156cf2ca.
Nick Mathewson fe9e831f 2011-11-15T17:22:45 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 34045c8f 2011-11-15T17:22:12 Add new entries to changelog, new credits to README
Nick Mathewson b17b0eec 2011-11-15T17:11:42 Fix DNS memleak checks when running with malloc-replacement/debugging disabled
Nick Mathewson f5b937e6 2011-11-14T18:22:08 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson e7874133 2011-11-14T17:33:02 Don't try to make notifiable event_base when no threading fns are configured
Nick Mathewson 4e797f38 2011-11-14T17:32:22 Warn when unable to construct base because of failing make_base_notifiable
Nick Mathewson 2ebc8c80 2011-11-14T11:55:37 Merge remote-tracking branch 'origin/patches-2.0'
Mark Ellzey 7353663e 2011-11-14T10:57:15 openssl bufferevent has the same issue with writing as prior commit.