summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Properly zero the kevent in kq_setup_kevent()kq_setup_kevent-fixSebastian Hahn2012-03-13
| | | | Detected by clang
* Stop crashing in evdns when nameserver probes give a weird errorNick Mathewson2012-02-15
| | | | | | | | | | | | | | | | | | | | | | When a nameserver is down, we periodically try sending a "probe" message to that nameserver to see if it has come back up. If a nameserver comes up, we cancel any pending probe messages. Cancelling a probe message while handling the probe's response would result in a access-after-free or a double-free, so when we notice that we're about to call a nameserver up because of having received a probe from it, we need to check whether current response is the response from the probe. There was a case where we didn't to that, though: when the resolver gave us an unusual error response to our request that it resolve google.com. This is pretty rare, but apparently it can happen with some weird cacheing nameservers -- the one on the mikrotik router, for example. Without this patch, we would crash with a NULL pointer derefernce. Thanks to Hannes Sowa for finding this issue and helping me track it down.
* Changed OPENSSL_LDFLAGS to OPENSSL_LIBADDMark Ellzey2012-02-14
|
* Added OPENSSL_LDFLAGS env variable which is appended to SSL checks.Mark Ellzey2012-02-14
| | | | | If openssl is not installed system-wide or not compiled as a shared library, some systems require various link flags (e.g., -ld).
* Tweak the evutil_open_closeonexec patch to work on windows, old unixes.Nick Mathewson2012-02-11
| | | | | | 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.
* Make uses of open() close-on-exec safe by introducing evutil_open_closeonexec.Ross Lagerwall2012-02-11
| | | | | In a multi-process/threaded environment, opening fds internally without the close-on-exec flag could leak fds to child processes.
* Add an empty section to the changelog for 2.0.18-stableNick Mathewson2012-02-10
|
* Correct a name in the credits. oopsNick Mathewson2012-02-10
|
* Bump version to 2.0.17-stable-devNick Mathewson2012-02-10
|
* Update the credits in the readmeNick Mathewson2012-02-10
|
* Finalize the changelogNick Mathewson2012-02-10
|
* Update copyright notices to 2012Nick Mathewson2012-02-10
|
* Bump version to 2.0.17-stableNick Mathewson2012-02-10
|
* In the kqueue backend, do not report EBADF as an EV_READNick Mathewson2012-02-10
| | | | | | | | | | | | 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.
* Avoid crash when freeing event_iocp and using event_set_mem_functionsNick Mathewson2012-02-09
| | | | | | There was a calloc that needed to be an mm_calloc. Reported by "fffvvvzz" on sourceforge. Ticket 3486114
* Bring the changelog up to dateNick Mathewson2012-02-06
|
* Loop on filtering SSL reads until we are blocked or exhausted.Nick Mathewson2012-02-06
| | | | | | | | 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.
* Use C-style comments in C source files (for compatibility with compilers ↵Greg Hewgill2012-02-02
| | | | such as xlc on AIX).
* evdns: fix a bug in circular-queue implementationNick Mathewson2012-02-01
| | | | found by Wang Qin
* Better workaround for Linux 3.2 edge-triggered epoll bugNick Mathewson2012-01-26
| | | | | 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.
* Do a memberwise comparison of threading function tablesNate R2012-01-24
| | | | | Doing a memcmp risks comparing uninitialized padding bytes at the end of the structure.
* Make event_base integrity check work on windowsNick Mathewson2012-01-24
|
* Start writing a changelog for 2.0.17-stableNick Mathewson2012-01-24
|
* Oops:remove an accidentally committed "sleep(1)" in a unit testNick Mathewson2012-01-24
|
* Workaround in the unit tests for an apparent epoll bug in Linux 3.2Nick Mathewson2012-01-24
|
* Fix a fd leak in event_reinit()Nick Mathewson2012-01-23
| | | | We were supposed to be closing the ev_signal_pair sockets.
* Fix a list corruption bug when using event_reinit() with signals presentNick Mathewson2012-01-23
| | | | | | | | | 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!
* Check event_base correctness at end of each unit testNick Mathewson2012-01-23
|
* Add function to check referential integrity of an event_baseNick Mathewson2012-01-21
|
* Force strict validation of HTTP version in response.Catalin Patulea2012-01-20
| | | | This sometimes accepted invalid versions like 'ICY' (n = 0, major = undefined, sometimes > 1).
* Suppress a gcc warning from ignoring fwrite return in http-sample.cNick Mathewson2012-01-16
| | | | Found by Steve Snyder
* Fix a race condition in the dns/bufferevent_connect_hostname test.Nick Mathewson2012-01-09
| | | | | | | | | | | 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.
* Make evconnlistener work around bug in older Linux when getting nmappedNick Mathewson2012-01-09
| | | | | | 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.
* Remove bogus casts of socket to int before calling ev_callbackNick Mathewson2012-01-09
| | | | | | This should make 64-bit windows act better. Found by Mark Heily.
* Backport evhttp_connection_get_bufferevent to Libevent 2.0Arno Bakker2011-12-14
| | | | Backport by Arno Bakker; original implementation in 8d3a8500f4
* Slightly clarify evbuffer_peek documentationNick Mathewson2011-12-08
|
* Fix behavior of evbuffer_peek(buf,-1,NULL,NULL,0)Zack Weinberg2011-12-08
| | | | | (Patch altered by nickm to not affect the behavior of evbuffer_peek(buf,-1,NULL,vec,n_vec).)
* check for sysctl before we use itMike Frysinger2011-12-08
| | | | Not all C libraries under Linux support the sysctl() func.
* Fix a silly compilation error with the sun compilerColin Watt2011-12-06
| | | | | Apparently, other compilers were allowing "return free(x)" in a function returning void.
* Be absolutely sure to clear pncalls before leaving event_signal_closureNick Mathewson2011-12-05
| | | | | | | | 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 .
* Increment version to 2.0.16-stable-devNick Mathewson2011-11-18
|
* Increment version to 2.0.16-stableNick Mathewson2011-11-18
|
* Revise 2.0.16-stable changelogNick Mathewson2011-11-18
|
* add comment to new consider_reading codeNick Mathewson2011-11-17
|
* Avoid spinning on OpenSSL readsMark Ellzey2011-11-17
| | | | | | | | | | | | | | 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}
* Move SSL rate-limit enforcement into bytes_to_read()Nick Mathewson2011-11-17
|
* Refactor amount-to-read calculations in buffervent_ssl consider_reading()Mark Ellzey2011-11-17
| | | | | | | Split up consider_reading()'s conditional checks into another function can_read() for simplicity sake. {Split into a separate patch by nickm}
* Revert "Avoid potential SSL read spinlocks"Nick Mathewson2011-11-15
| | | | This reverts commit fc52dbac87f4937f8306759506d6a2ad15ca244c.
* Revert "openssl bufferevent has the same issue with writing as prior commit."Nick Mathewson2011-11-15
| | | | This reverts commit 7353663eb7c0b2a1caaaa5acd818515f156cf2ca.
* Add new entries to changelog, new credits to READMENick Mathewson2011-11-15
|