Log

Author Commit Date CI Message
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.
Mark Ellzey fc52dbac 2011-11-14T10:24:07 Avoid potential SSL read spinlocks OpenSSL bufferevents with deferred callbacks enabled under high load will spinlock in the function consider_reading(). This loop continues until all data has been read. Because of this condition; openssl bufferevents will never return back into event_base_loop() until SSL_read has determined data is no longer ready. As of yet I have not found a reason why this while loop exists, so this patch just swaps out while for if. If needed I can write same code which would trigger this effect; optionally libevhtp has a test.c program which can be run with the following flags: ./test -s <keyfile.pem> curl -vvvv -k -d@<HUGE_ASS_FILE> https://127.0.0.1:8081/ The return data will include the number of times the readcb got data and the length of that read. Without this patch, you are likely to see a small amount of "bytes read....", otherwise the "bytes read..." return data should show much more reasonable numbers.
Nick Mathewson 9ae6e595 2011-11-14T11:45:17 Merge remote-tracking branch 'origin/patches-2.0' Conflicts: sample/dns-example.c
Nick Mathewson 54142c94 2011-11-14T11:43:31 unit tests for EVBUFFER_EOL_NUL
Andrea Montefusco d7a8b36e 2011-11-14T11:42:52 New EVBUFFER_EOL_NUL to read NUL-terminated strings from an evbuffer
Nick Mathewson 27b5398f 2011-11-11T17:56:08 Tweaks, fixups, and comments on evbuffer_add_iovec
Mark Ellzey aaec5aca 2011-10-25T09:13:15 Added evbuffer_add_iovec and unit tests.
Gisle Vanem a3f320e8 2011-11-09T00:17:56 Improve win32 behavior of dns-sample.c codex
Nick Mathewson 95af0433 2011-11-03T11:45:43 Merge remote-tracking branch 'origin/patches-2.0'
Mansour Moufid 674bc6a2 2011-11-03T11:43:49 Fix typo in whatsnew-2.0.txt
Nick Mathewson dea055d0 2011-11-02T23:15:07 Merge remote-tracking branch 'github/20_evbuffer_remove_bug'
Nick Mathewson c882a959 2011-11-02T23:14:24 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson b18c04dd 2011-11-02T22:50:47 Use the free-trailing-chains function in evbuffer_insert_chain too
Nick Mathewson c37069cd 2011-11-02T16:09:15 Fix an evbuffer crash in evbuffer_remove_buffer() Found by Greg Hazel.
Greg Hazel 7eb52eb8 2011-11-02T15:19:05 improve test to remove at least one buffer from src
Greg Hazel 90bd620f 2011-11-01T13:44:40 unit test for remove_buffer bug
Nick Mathewson 00145918 2011-10-30T22:34:00 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 447b0bad 2011-10-30T22:32:18 Fix compile warning from saying event2/*.h inside a comment Based on a patch by Adrian Chadd
Nick Mathewson 0cb70e33 2011-10-26T10:17:21 Merge remote-tracking branch 'origin/patches-2.0'
Jamie Iles 1aee7183 2011-10-26T13:24:30 epoll: close fd on alloc fail at initialization If the memory allocations fail then we free any other allocated structures but don't close the file descriptor resulting in an leak of fd's.
Samy Al Bahra a2c48e3b 2011-10-24T01:31:55 evhttp: Add evhttp_foreach_bound_socket. Applies the function specified in the first argument to all evhttp_bound_sockets associated with a struct evhttp. The user must not attempt to free or remove any connections, sockets or listeners in the callback function.
Nick Mathewson 356554c8 2011-10-25T11:43:01 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 3c824bd3 2011-10-24T13:18:09 Update copyright dates to 2011.
Abel Mathew 212533e4 2011-10-21T19:53:32 New event_base_update_cache_time() to set cached_tv to current time This function is particularly useful for selectively increasing the accuracy of the cached time value in 'base' during callbacks that take a long time to execute. This function has no effect if the base is currently not in its event loop or if timeval caching is disabled via EVENT_BASE_FLAG_NO_CACHE_TIME.
Mansour Moufid c8953d1b 2011-10-14T17:16:03 Add argument checks to some memory functions in `event.c'. Add a zero check to the function `event_mm_malloc_', i.e. simply return NULL if the sz argument is zero. On failure, set errno to ENOMEM and return NULL. Add a zero check to the function `event_mm_calloc_', i.e. simply return NULL if either argument is zero. Also add an unsigned integer multiplication check, and if an integer overflow would occur, set errno to ENOMEM and return NULL. On failure, set errno to ENOMEM and return NULL. Add a NULL check to the function `event_mm_strdup_', i.e. set errno to EINVAL and return NULL. Also add an unsigned integer addition check, and if an integer overflow would occur, set errno to ENOMEM and return NULL. If a memory allocation error occurs, again set errno to ENOMEM and return NULL. Add unit tests to `test/regress_util.c'.
Nick Mathewson 724bfb56 2011-10-19T22:59:47 Add note about evhttp_send_reply_end to its doxygen
Nick Mathewson 128c8d6c 2011-10-19T22:44:33 Merge remote-tracking branch 'origin/patches-2.0'
Leonid Evdokimov 9e6a4efa 2011-10-19T17:44:17 More detailed message in case of libevent self-debugging failure.
Nick Mathewson 5e42202d 2011-10-19T22:41:11 Style and comment tweaks for dns/leak* tests
Leonid Evdokimov f7841bfc 2011-10-18T17:49:40 Test for commit aff6ba1
Nick Mathewson fc1a2514 2011-10-19T22:20:15 Merge remote-tracking branch 'origin/patches-2.0'
Leonid Evdokimov 21a08d68 2011-10-19T22:38:37 Empty DNS reply with OK status is another way to say NODATA. Sometimes DNS reply has nothing but query section. It does not look like error, so it should be treated as NODATA with TTL=0 as soon as there is no SOA record to deduce negative TTL from.
Leonid Evdokimov d58c15ee 2011-10-19T22:36:12 Tests for 94fba5b and f72e8f6
Joachim Bauch 95a8b87a 2011-10-17T21:48:23 fixed typo
Joachim Bauch ba24f616 2011-10-17T21:46:12 added comments to describe refcounting of multicase chains
Nick Mathewson e0b81ba3 2011-10-12T01:02:13 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 8589f6c4 2011-10-12T01:00:23 Bump version to 2.0.15-stable-dev
Nick Mathewson ab0f5f18 2011-10-12T00:57:55 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson c54c2358 2011-10-12T00:39:22 Credit a patch from a one-named user
Nick Mathewson 78d80413 2011-10-12T00:22:54 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 4d9529fc 2011-10-12T00:22:17 Increment version to 2.0.15-stable
Nick Mathewson 177f2868 2011-10-12T00:21:29 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 7c3e0612 2011-10-12T00:16:12 Add changelog for 2.0.15-stable
Alexander Drozdov 998c8138 2011-10-11T09:26:57 bufferevent: Add functions to set/get max_single_read/write values.
Nick Mathewson 3c55b5ee 2011-10-11T09:50:57 Make evbase_priority_init() and evbase_get_npriorities() threadsafe
Alexander Drozdov ee3a4ee8 2011-10-11T11:12:34 Add event_base_get_npriorities() function.
Nick Mathewson fed8f6e4 2011-10-10T11:34:26 Merge remote-tracking branch 'origin/patches-2.0'
Greg Hazel ba5c27d4 2011-10-10T08:24:43 refer to non-deprecated evdns functions in comments
Nick Mathewson c6bbbf1b 2011-10-06T18:02:22 Make evbuffer_file_segment_types adaptable Instead of having a file segment born as one type and stay that way forever, let them start out unmapped, but map themselves as needed if they need to get written out on a non-drains_to_fd evbuffer.
Nick Mathewson 83588777 2011-10-06T15:21:55 Merge remote-tracking branch 'origin/patches-2.0' Conflicts: buffer.c test/regress_buffer.c
Nick Mathewson 706aa5f4 2011-10-06T15:11:50 Merge remote-tracking branch 'github/20_addfile_ssl' into patches-2.0
Nick Mathewson 5760efb1 2011-10-05T15:03:17 Merge branch '21_largefile_support'
Nick Mathewson e0cae789 2011-10-05T11:26:52 Merge branch '21_evloop_noexit'
Nick Mathewson 084e68f3 2010-12-01T21:53:08 New EVLOOP_NO_EXIT_ON_EMPTY option to keep looping even when no events are pending This can be useful if you want to start an event loop and then add or remove events to it from another thread.
Alexander Drozdov 9593a33f 2011-10-03T08:12:32 Allow evconnlistener to be created in disabled state.
Nick Mathewson b3bc77b6 2011-10-03T12:54:35 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 39c0cf7c 2011-10-03T12:49:02 Fix some "value never used" warnings with gcc 4.6.1
Nick Mathewson 2b768479 2011-10-03T12:45:36 Make write-checking fixes use tt_fail_perror
Mark Ellzey c3b62fd7 2011-07-12T13:05:36 Fixed compiler warnings for unchecked read/write calls.
Nick Mathewson 0ba0af9c 2011-09-29T09:30:04 Prefer mmap to sendfile unless a DRAINS_TO_FD flag is set. Allows add_file to work with SSL. The sendfile() implementation for evbuffer_add_file is potentially more efficient, but it has a problem: you can only use it to send bytes over a socket using sendfile(). If you are writing bytes via SSL_send() or via a filter, or if you need to be able to inspect your buffer, it doesn't work. As an easy fix, this patch disables the sendfile-based implementation of evbuffer_add_file on an evbuffer unless the user sets a new EVBUFFER_FLAG_DRAINS_TO_FD flag on that evbuffer, indicating that the evbuffer will not be inspected, but only written out via evbuffer_write(), evbuffer_write_atmost(), or drained with stuff like evbuffer_drain() or evbuffer_add_buffer(). This flag is off by default, except for evbuffers used for output on bufferevent_socket. In the future, it could be interesting to make a best-effort file segment implementation that tries to send via sendfile, but mmaps on demand. That's too much complexity for a stable release series, though.
Nick Mathewson 46974cd8 2011-09-28T09:23:41 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 1ef1f684 2011-09-28T09:22:17 Make evbuffer callbacks get the right n_added value after evbuffer_add Patch from Alex.
Nick Mathewson 1ebe7955 2011-09-26T11:11:30 Merge remote-tracking branch 'origin/patches-2.0'