]> granicus.if.org Git - libevent/log
libevent
11 years agoevdns: New flag to make evdns not prevent the event loop from exiting
Azat Khuzhin [Wed, 27 Mar 2013 16:15:46 +0000 (20:15 +0400)]
evdns: New flag to make evdns not prevent the event loop from exiting

Here is the brief description of problem:
When you are use evdns to resolve domains to IP adresses (see
./sample/dns-example) you loop never returns from event_base_dispatch(),
and because of this the program will never terminated.

Because existing programs may be depending on the old behavior, we
only apply the fix when evdns_base_new() is created with a new flag -
EVDNS_BASE_DISABLE_WHEN_INACTIVE.

 (Commit message edited by Nick while squashing the branch.)

11 years agoAdd an environment variable (EVENT_DEBUG_MODE) to run unit tests in debug mode
Nick Mathewson [Fri, 5 Apr 2013 19:06:54 +0000 (15:06 -0400)]
Add an environment variable (EVENT_DEBUG_MODE) to run unit tests in debug mode

Not all tests currently pass with debug mode on.

11 years agoMerge branch '21_empty_strlcpy'
Nick Mathewson [Mon, 1 Apr 2013 15:59:26 +0000 (11:59 -0400)]
Merge branch '21_empty_strlcpy'

11 years agoDo not build strlcpy.c when it will have no code.
Nick Mathewson [Sun, 31 Mar 2013 18:05:26 +0000 (14:05 -0400)]
Do not build strlcpy.c when it will have no code.

11 years agoMerge pull request #75 from altf4/master
Nick Mathewson [Fri, 29 Mar 2013 16:39:52 +0000 (09:39 -0700)]
Merge pull request #75 from altf4/master

Header update to specify evbuffer_pullup() behavior

11 years agoSpecify return behavior in header for evbuffer_pullup() in corner case
Dan Petro [Fri, 29 Mar 2013 16:28:35 +0000 (09:28 -0700)]
Specify return behavior in header for evbuffer_pullup() in corner case

Function returns NULL when told to pullup more data than exists

11 years agoMerge pull request #47 from ppelleti/https
Nick Mathewson [Thu, 28 Mar 2013 12:57:07 +0000 (05:57 -0700)]
Merge pull request #47 from ppelleti/https

HTTPS example adapted from Catalin

11 years agoMerge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Tue, 26 Mar 2013 01:14:10 +0000 (21:14 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'

11 years agoFix a typo in a comment in buffer.h. Spotted by Alt_F4
Nick Mathewson [Tue, 26 Mar 2013 01:12:49 +0000 (21:12 -0400)]
Fix a typo in a comment in buffer.h. Spotted by Alt_F4

11 years agobuild test/test-script.sh on systems with a less-featureful $<
Nick Mathewson [Fri, 15 Mar 2013 13:33:28 +0000 (09:33 -0400)]
build test/test-script.sh on systems with a less-featureful $<

11 years agoMake --disable-libevent-regress work again
Nick Mathewson [Fri, 15 Mar 2013 13:33:13 +0000 (09:33 -0400)]
Make --disable-libevent-regress work again

11 years agoDouble-check next timeout when adding events
Nate Rosenblum [Tue, 5 Mar 2013 19:29:33 +0000 (11:29 -0800)]
Double-check next timeout when adding events

When resuming the system from a suspended state, the ev_timeout field
of a scheduled timer event may be in the past. This leads to
unexpected behavior when scheduling a short-duration timer event
immediately after returning from suspension, because the new event
does not land on top of the timeout minheap and so the event loop
(blocked on a possibly long-duration timeout) is not notified.

This patch checks for this condition and, if it obtains, notifies the
event loop.

11 years agoTest: decoding just part of string with evhttp_decode_uri_internal()
Azat Khuzhin [Fri, 1 Mar 2013 08:01:42 +0000 (12:01 +0400)]
Test: decoding just part of string with evhttp_decode_uri_internal()

11 years agoMove prototype of evhttp_decode_uri_internal() to http-internal.h
Azat Khuzhin [Fri, 1 Mar 2013 08:00:24 +0000 (12:00 +0400)]
Move prototype of evhttp_decode_uri_internal() to http-internal.h

Make it non static, that can be called from tests

11 years agouri decode: changed the test for the existence of the next character
Azat Khuzhin [Thu, 28 Feb 2013 19:10:02 +0000 (23:10 +0400)]
uri decode: changed the test for the existence of the next character

Fix for 64b6eceaba1a4

More info here
https://github.com/azat/libevent/commit/64b6eceaba1a40ab0b175fa9fd9329d3e978ce6e#commitcomment-2714685

11 years agouri decode: fix for warning "use of uninitialised value"
Azat Khuzhin [Thu, 28 Feb 2013 13:19:44 +0000 (17:19 +0400)]
uri decode: fix for warning "use of uninitialised value"

This patch add check in evhttp_decode_uri_internal() that next 2 symbols
are exists in array of chars for decoding, if don't have two next 2
symbols don't try to decode '%FF'

11 years agopull in wildcard matching code from cURL
Patrick Pelletier [Thu, 28 Feb 2013 05:12:53 +0000 (21:12 -0800)]
pull in wildcard matching code from cURL

Now, https-client accepts both:

https://ip.appspot.com/ (matching wildcard certificate)
https://github.com/     (matching non-wildcard certificate)

but still rejects

https://www.kegel.com/  (non-matching wildcard certificate)

which should match the behavior of these sites in a web browser.

11 years agoavoid sign mismatch warning in openssl_hostname_validation.c
Patrick Pelletier [Thu, 28 Feb 2013 05:19:16 +0000 (21:19 -0800)]
avoid sign mismatch warning in openssl_hostname_validation.c

sample/openssl_hostname_validation.c: In function 'matches_common_name':
sample/openssl_hostname_validation.c:80: warning: comparison between signed and unsigned integer expressions
sample/openssl_hostname_validation.c: In function 'matches_subject_alternative_name':
sample/openssl_hostname_validation.c:124: warning: comparison between signed and unsigned integer expressions

11 years agouse iSECPartners code to validate hostname in certificate
Patrick Pelletier [Thu, 28 Feb 2013 01:16:27 +0000 (17:16 -0800)]
use iSECPartners code to validate hostname in certificate

The problem is that if you go to a website whose certificate does not
match its hostname, it should fail.  Try this in a web browser for
https://www.kegel.com/ for example.  Your web browser will say the
certificate is for *.pair.com, not for www.kegel.com, and won't let
you visit it without clicking through a bunch of scary warnings.

However, prior to this commit, https-client was happy to fetch
https://www.kegel.com/ without complaining.  That is bad.  Now, with
this commit, it will properly complain, which is good:

pelletier@chives:~/src/libevent/sample$ ./https-client https://www.kegel.com/
Got 'MatchNotFound' for hostname 'www.kegel.com' and certificate:
/C=US/postalCode=15203/ST=Pennsylvania/L=Pittsburgh/street=Suite 210/street=2403 Sidney Street/O=pair Networks, Inc./OU=Provided by pair Networks, Inc./OU=PairWildcardSSL $250,000/CN=*.pair.com
some request failed - no idea which one though!
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
ppelletier@chives:~/src/libevent/sample$

It will still succeed for sites with an exactly-matching certificate,
such as https://github.com/ and that is also good!

However, the problem is that the iSECPartners code doesn't handle
wildcards, which means we reject https://ip.appspot.com/ even though
it is perfectly legitimate, because we don't understand the wildcard:

ppelletier@chives:~/src/libevent/sample$ ./https-client https://ip.appspot.com/
Got 'MatchNotFound' for hostname 'ip.appspot.com' and certificate:
/C=US/ST=California/L=Mountain View/O=Google Inc/CN=*.appspot.com
some request failed - no idea which one though!
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
ppelletier@chives:~/src/libevent/sample$

So, we need to fix this.  In other words, "to be continued..."

11 years agouse Debian's default root certificate location
Patrick Pelletier [Tue, 26 Feb 2013 08:06:50 +0000 (00:06 -0800)]
use Debian's default root certificate location

as suggested here:
http://archives.seul.org/libevent/users/Feb-2013/msg00034.html

although curl's acinclude.m4 reveals many other possibilities:

dnl /etc/ssl/certs/ca-certificates.crt Debian systems
dnl /etc/pki/tls/certs/ca-bundle.crt Redhat and Mandriva
dnl /usr/share/ssl/certs/ca-bundle.crt old(er) Redhat
dnl /usr/local/share/certs/ca-root.crt FreeBSD
dnl /etc/ssl/cert.pem OpenBSD
dnl /etc/ssl/certs/ (ca path) SUSE

And none of these cover Windows :(

11 years agobetter handling of OpenSSL errors
Patrick Pelletier [Tue, 26 Feb 2013 07:43:05 +0000 (23:43 -0800)]
better handling of OpenSSL errors

11 years agohttps-client was putting newlines at 256-byte boundaries
Patrick Pelletier [Tue, 26 Feb 2013 07:14:26 +0000 (23:14 -0800)]
https-client was putting newlines at 256-byte boundaries

presumably this was meant to put a ">" before every line, but that
isn't what it does, since evbuffer_remove is simply returning
fixed-size chunks.  So, when retrieving a document of more than 256
bytes (e. g. any nontrivial document), we got "> " and newlines thrown
in at very arbitrary places.

11 years agouse ${OPENSSL_LIBS} instead of -lssl -lcrypto
Patrick Pelletier [Thu, 28 Feb 2013 00:31:17 +0000 (16:31 -0800)]
use ${OPENSSL_LIBS} instead of -lssl -lcrypto

This made the difference between segfaulting and not segfaulting for
me when I run https-client, when I've built libevent using an OpenSSL
in a non-standard location.

In the same spirit as 1d9d5110a4aebf5833f6fd78bd0252affde0f4d0 and
d70af27d0152d0a87a25127faf215604beb8ffe0.

11 years agoAdd sample/https-client.c, an example of stacking evhttp as a client on top of buffer...
Catalin Patulea [Tue, 19 Feb 2013 17:22:31 +0000 (12:22 -0500)]
Add sample/https-client.c, an example of stacking evhttp as a client on top of bufferevent_ssl.

Signed-off-by: Catalin Patulea <catalinp@google.com>
11 years agoMerge pull request #41 from ppelleti/winsock-errs
Nick Mathewson [Tue, 26 Feb 2013 23:22:03 +0000 (15:22 -0800)]
Merge pull request #41 from ppelleti/winsock-errs

FormatMessage for winsock errors

11 years agotest filling up the hash table a bit
Patrick Pelletier [Tue, 26 Feb 2013 04:13:01 +0000 (20:13 -0800)]
test filling up the hash table a bit

11 years agouse hashtable instead of linked list to cache winsock errors
Patrick Pelletier [Tue, 26 Feb 2013 03:02:32 +0000 (19:02 -0800)]
use hashtable instead of linked list to cache winsock errors

as discussed here:
https://github.com/libevent/libevent/pull/41#issuecomment-13611817

11 years agomake sure caching works, and we don't leak memory
Patrick Pelletier [Fri, 15 Feb 2013 04:14:37 +0000 (20:14 -0800)]
make sure caching works, and we don't leak memory

11 years agouse FormatMessage for winsock errors
Patrick Pelletier [Fri, 8 Feb 2013 01:20:08 +0000 (17:20 -0800)]
use FormatMessage for winsock errors

as discussed here:
http://archives.seul.org/libevent/users/Feb-2013/msg00004.html

11 years agoa program to print out the error strings for winsock errors
Patrick Pelletier [Fri, 8 Feb 2013 01:06:49 +0000 (17:06 -0800)]
a program to print out the error strings for winsock errors

11 years agoMerge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Thu, 14 Feb 2013 19:13:11 +0000 (14:13 -0500)]
Merge remote-tracking branch 'origin/patches-2.0'

11 years agofix #73 and fix http_connection_fail_test to catch it
Greg Hazel [Thu, 14 Feb 2013 17:54:56 +0000 (09:54 -0800)]
fix #73 and fix http_connection_fail_test to catch it

11 years agoUnit test for event_remove_timer with EV_PERSIST.
Nick Mathewson [Wed, 13 Feb 2013 16:38:57 +0000 (11:38 -0500)]
Unit test for event_remove_timer with EV_PERSIST.

Patch from dcicppin on sourceforge.

11 years agoMake event_remove_timer behave correctly with persistent timers
Nick Mathewson [Tue, 12 Feb 2013 20:10:50 +0000 (15:10 -0500)]
Make event_remove_timer behave correctly with persistent timers

11 years agoMerge remote-tracking branch 'ppelleti/nmake-clean-exes'
Nick Mathewson [Mon, 11 Feb 2013 16:25:25 +0000 (11:25 -0500)]
Merge remote-tracking branch 'ppelleti/nmake-clean-exes'

11 years agoAvoid using $(top_srcdir) in TESTS.
Nick Mathewson [Sat, 9 Feb 2013 03:10:05 +0000 (22:10 -0500)]
Avoid using $(top_srcdir) in TESTS.

Newer automakes don't like this.

11 years agoUse AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 compat
Nick Mathewson [Fri, 8 Feb 2013 18:03:29 +0000 (13:03 -0500)]
Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 compat

Patch from cazfi.

11 years agoMerge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Sat, 9 Feb 2013 03:09:00 +0000 (22:09 -0500)]
Merge remote-tracking branch 'origin/patches-2.0'

This is an "ours" commit: I'm not taking the recent autotools changes
from patches-2.0, since they'd conflict with master.

11 years agoAvoid using top_srcdir in TESTS-new automakes do not like this
Nick Mathewson [Sat, 9 Feb 2013 03:08:18 +0000 (22:08 -0500)]
Avoid using top_srcdir in TESTS-new automakes do not like this

11 years agoRename configure.in to configure.ac to appease newer autoconfs
Nick Mathewson [Sat, 9 Feb 2013 03:07:43 +0000 (22:07 -0500)]
Rename configure.in to configure.ac to appease newer autoconfs

11 years agoUse AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 compat
Nick Mathewson [Fri, 8 Feb 2013 18:03:29 +0000 (13:03 -0500)]
Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 compat

Patch from cazfi.

11 years ago"buffer" spelling
Patrick Pelletier [Thu, 31 Jan 2013 00:07:30 +0000 (16:07 -0800)]
"buffer" spelling

11 years agoremove all exes on "make clean", not just regress.exe
Patrick Pelletier [Fri, 8 Feb 2013 01:14:18 +0000 (17:14 -0800)]
remove all exes on "make clean", not just regress.exe

11 years agoMerge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Tue, 5 Feb 2013 20:09:31 +0000 (15:09 -0500)]
Merge remote-tracking branch 'origin/patches-2.0'

11 years agoFix a locking error in bufferevent_socket_get_dns_error.
Nick Mathewson [Tue, 5 Feb 2013 20:07:32 +0000 (15:07 -0500)]
Fix a locking error in bufferevent_socket_get_dns_error.

Patch from Ka-Hing Cheung.

11 years agoMerge pull request #30 from ppelleti/valgrind-epoll
Nick Mathewson [Mon, 4 Feb 2013 21:50:58 +0000 (13:50 -0800)]
Merge pull request #30 from ppelleti/valgrind-epoll

avoid valgrind false positive by zeroing epoll_event

11 years agoMerge pull request #39 from azat/fix-http-for-ipv6
Nick Mathewson [Mon, 4 Feb 2013 21:49:08 +0000 (13:49 -0800)]
Merge pull request #39 from azat/fix-http-for-ipv6

Fix ipv6 support for http. When URL contain domain, not IP address.

11 years agoMerge pull request #37 from ppelleti/fix-indentation
Nick Mathewson [Mon, 4 Feb 2013 21:33:10 +0000 (13:33 -0800)]
Merge pull request #37 from ppelleti/fix-indentation

fix some hinky indentation in evhttp_make_request

11 years agoPreliminary changes for Minix3.
Nicholas Heath [Sun, 3 Feb 2013 19:08:37 +0000 (19:08 +0000)]
Preliminary changes for Minix3.

11 years agoAdd regress test ipv6_for_domain.
Azat Khuzhin [Sat, 26 Jan 2013 22:17:02 +0000 (02:17 +0400)]
Add regress test ipv6_for_domain.

Written for commit 71e709c7829275a594f767b27468b1b52e8b5bb9.
Fix ipv6 support for http. When URL contain domain, not IP address.

11 years agoImplement EVUTIL_ERR_IS_EAGAIN on windows.
Nick Mathewson [Wed, 23 Jan 2013 16:55:09 +0000 (16:55 +0000)]
Implement EVUTIL_ERR_IS_EAGAIN on windows.

11 years agoFix ipv6 support for http. When URL contain domain, not IP address.
Azat Khuzhin [Tue, 22 Jan 2013 22:45:32 +0000 (02:45 +0400)]
Fix ipv6 support for http. When URL contain domain, not IP address.

Before this patch socket created before domain was resolved, and it
always create with AF_INET (ipv4), but we must create socket only after
domain was resolved to understad which protocol family have domain
address.

Thank to Patrick Pelletier, who found this bug.

11 years agoMerge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Tue, 22 Jan 2013 17:10:07 +0000 (17:10 +0000)]
Merge remote-tracking branch 'origin/patches-2.0'

11 years agoFix a mistake in evbuffer_remove() arguments in example http server code
Gyepi Sam [Tue, 22 Jan 2013 16:59:07 +0000 (16:59 +0000)]
Fix a mistake in evbuffer_remove() arguments in example http server code

(commit message by nickm)

11 years agofix some hinky indentation in evhttp_make_request
Patrick Pelletier [Sat, 19 Jan 2013 04:25:41 +0000 (20:25 -0800)]
fix some hinky indentation in evhttp_make_request

11 years agoFix typo : Dispatching instead of Dispaching
Volker Lendecke [Thu, 17 Jan 2013 14:01:32 +0000 (15:01 +0100)]
Fix typo : Dispatching instead of Dispaching

11 years agoWhen EWOULDBLOCK is not EAGAIN, treat it as equivalent to it
Nick Mathewson [Sat, 12 Jan 2013 00:37:34 +0000 (16:37 -0800)]
When EWOULDBLOCK is not EAGAIN, treat it as equivalent to it

Acording to http://stackoverflow.com/questions/7003234/which-systems-define-eagain-and-ewouldblock-as-different-values
there are some older unixes that distinguish these error.s

11 years agoFix harmless clang enum warning
Sebastian Hahn [Mon, 31 Dec 2012 17:29:56 +0000 (18:29 +0100)]
Fix harmless clang enum warning

11 years agoFix comment to refer to sample/include.am correctly
Sebastian Hahn [Fri, 21 Sep 2012 06:38:56 +0000 (08:38 +0200)]
Fix comment to refer to sample/include.am correctly

11 years agoMerge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Thu, 20 Dec 2012 16:50:23 +0000 (11:50 -0500)]
Merge remote-tracking branch 'origin/patches-2.0'

11 years agoAvoid double-close on getsockname error in evutil_ersatz_socketpair
Nick Mathewson [Thu, 20 Dec 2012 16:48:05 +0000 (11:48 -0500)]
Avoid double-close on getsockname error in evutil_ersatz_socketpair

Found by coverity; CID 739726

11 years agoAvoid leaking fds on evconnlistener with no callback set
Nick Mathewson [Thu, 20 Dec 2012 16:47:09 +0000 (11:47 -0500)]
Avoid leaking fds on evconnlistener with no callback set

There's no way to retrieve an fd from an evconnlistener whose
callback has been cleared, so we had better close any such fd.

Found by coverity; CID 739725.

11 years agoFix cut-and-paste err in whatsnew-2.1
Nick Mathewson [Tue, 11 Dec 2012 17:53:09 +0000 (12:53 -0500)]
Fix cut-and-paste err in whatsnew-2.1

11 years agominor documentation typos
Patrick Pelletier [Wed, 28 Nov 2012 08:20:13 +0000 (00:20 -0800)]
minor documentation typos

11 years agoMerge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Tue, 4 Dec 2012 17:32:26 +0000 (12:32 -0500)]
Merge remote-tracking branch 'origin/patches-2.0'

11 years agoFix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled
Nick Mathewson [Tue, 4 Dec 2012 17:01:25 +0000 (12:01 -0500)]
Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled

Reported by Xiuqiang Jiang

11 years agoMerge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Mon, 19 Nov 2012 15:58:04 +0000 (10:58 -0500)]
Merge remote-tracking branch 'origin/patches-2.0'

11 years agoIncrement version to 2.0.21-stable-dev
Nick Mathewson [Mon, 19 Nov 2012 15:56:16 +0000 (10:56 -0500)]
Increment version to 2.0.21-stable-dev

11 years agoIncrement version to 2.1.2-alpha-dev
Nick Mathewson [Mon, 19 Nov 2012 15:53:25 +0000 (10:53 -0500)]
Increment version to 2.1.2-alpha-dev

11 years agoFix a bug when running "make verify" out-of-tree release-2.1.2-alpha
Nick Mathewson [Mon, 19 Nov 2012 14:07:13 +0000 (09:07 -0500)]
Fix a bug when running "make verify" out-of-tree

11 years agoClean up and clarify a little more documentation
Nick Mathewson [Mon, 19 Nov 2012 00:32:41 +0000 (19:32 -0500)]
Clean up and clarify a little more documentation

11 years agoMake the argument to bufferevent_get_priority const
Nick Mathewson [Mon, 19 Nov 2012 00:32:11 +0000 (19:32 -0500)]
Make the argument to bufferevent_get_priority const

11 years agoAvoid defining recommended functions in terms of deprecated ones
Nick Mathewson [Sun, 18 Nov 2012 23:59:19 +0000 (18:59 -0500)]
Avoid defining recommended functions in terms of deprecated ones

11 years agoUpdate "what's new in Libevent 2.1"
Nick Mathewson [Sun, 18 Nov 2012 16:25:13 +0000 (11:25 -0500)]
Update "what's new in Libevent 2.1"

11 years agoBump versions to 2.1.2-alpha
Nick Mathewson [Sun, 18 Nov 2012 15:53:52 +0000 (10:53 -0500)]
Bump versions to 2.1.2-alpha

11 years agoUpdate changelog for 2.1.2-alpha
Nick Mathewson [Sun, 18 Nov 2012 15:53:26 +0000 (10:53 -0500)]
Update changelog for 2.1.2-alpha

11 years agoUpdate ChangeLog-2.0
Nick Mathewson [Sun, 18 Nov 2012 07:01:26 +0000 (02:01 -0500)]
Update ChangeLog-2.0

11 years agoMerge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Sun, 18 Nov 2012 06:44:09 +0000 (01:44 -0500)]
Merge remote-tracking branch 'origin/patches-2.0'

11 years agoFix a gcc warning in rtrim test
Nick Mathewson [Sun, 18 Nov 2012 06:40:33 +0000 (01:40 -0500)]
Fix a gcc warning in rtrim test

11 years agoFix a warning when building without threading.
Nick Mathewson [Sun, 18 Nov 2012 06:40:13 +0000 (01:40 -0500)]
Fix a warning when building without threading.

11 years agoIncrement libtool version for 2.0.21 too release-2.0.21-stable
Nick Mathewson [Sun, 18 Nov 2012 06:39:10 +0000 (01:39 -0500)]
Increment libtool version for 2.0.21 too

11 years agoIncrement version to 2.0.21-stable
Nick Mathewson [Sun, 18 Nov 2012 06:38:07 +0000 (01:38 -0500)]
Increment version to 2.0.21-stable

11 years agoChangelog for 2.0.21-stable
Nick Mathewson [Sun, 18 Nov 2012 06:36:33 +0000 (01:36 -0500)]
Changelog for 2.0.21-stable

11 years agoMake ssl version check in unit tests work
Nick Mathewson [Sun, 18 Nov 2012 06:36:03 +0000 (01:36 -0500)]
Make ssl version check in unit tests work

11 years agoavoid valgrind false positive by zeroing epoll_event
Patrick Pelletier [Sat, 17 Nov 2012 05:38:04 +0000 (21:38 -0800)]
avoid valgrind false positive by zeroing epoll_event

11 years agoMake bufferevent_set_timeouts(bev, NULL, NULL) have plausible semantics
Nick Mathewson [Fri, 16 Nov 2012 23:34:43 +0000 (18:34 -0500)]
Make bufferevent_set_timeouts(bev, NULL, NULL) have plausible semantics

11 years agoAdd an event_remove_timer() to remove timer on an event without deleting it
Nick Mathewson [Fri, 16 Nov 2012 21:15:03 +0000 (16:15 -0500)]
Add an event_remove_timer() to remove timer on an event without deleting it

11 years agoFix a couple of compile warnings in the unit tests
Nick Mathewson [Fri, 16 Nov 2012 21:17:07 +0000 (16:17 -0500)]
Fix a couple of compile warnings in the unit tests

11 years agoMerge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Fri, 16 Nov 2012 17:06:40 +0000 (12:06 -0500)]
Merge remote-tracking branch 'origin/patches-2.0'

11 years agoAvoid crash when event_pending() called with no event_base set on event
Nick Mathewson [Fri, 16 Nov 2012 16:55:27 +0000 (11:55 -0500)]
Avoid crash when event_pending() called with no event_base set on event

Instead, give a warning and return 0.

Reported by Antony Dovgal on github as
   https://github.com/libevent/libevent/issues/19

11 years agoUse EVUTIL_SOCKET_ERROR() wrapper to save/restor errno in evhttp_connection_fail_
Nick Mathewson [Fri, 16 Nov 2012 16:51:42 +0000 (11:51 -0500)]
Use EVUTIL_SOCKET_ERROR() wrapper to save/restor errno in evhttp_connection_fail_

11 years agoMerge remote-tracking branch 'ppelleti/preserve-errno'
Nick Mathewson [Fri, 16 Nov 2012 16:49:46 +0000 (11:49 -0500)]
Merge remote-tracking branch 'ppelleti/preserve-errno'

11 years agoadd evhttp_request_get_response_code_line
Jay R. Wren [Wed, 10 Oct 2012 17:16:02 +0000 (13:16 -0400)]
add evhttp_request_get_response_code_line

This is needed to be able to read the response code line especially
when acting as an http client using evhttp_make_request.

(patched by nickm to make the return value const)

11 years agoMove evutil_rtrim_lws_ to evutil.c where it belongs
Nick Mathewson [Fri, 16 Nov 2012 16:41:59 +0000 (11:41 -0500)]
Move evutil_rtrim_lws_ to evutil.c where it belongs

11 years agoRemove internal ws from multiline http headers correctly
Nick Mathewson [Fri, 16 Nov 2012 16:38:53 +0000 (11:38 -0500)]
Remove internal ws from multiline http headers correctly

According to RFC2616:

   All linear white space, including folding, has the same semantics
   as SP. A recipient MAY replace any linear white space with a single
   SP before interpreting the field value or forwarding the message
   downstream.

11 years agoRemove trailing tabs in HTTP headers as well.
Nick Mathewson [Fri, 16 Nov 2012 16:29:34 +0000 (11:29 -0500)]
Remove trailing tabs in HTTP headers as well.

11 years agoClean up rtrim implementation
Nick Mathewson [Fri, 16 Nov 2012 16:13:29 +0000 (11:13 -0500)]
Clean up rtrim implementation

If I understand the C standard correctly, you can't actually point
at a position immediately _before_ the start of an object; only at the
position immediately after.

According to J.2 in the standard, in its big list of undefined behavior:

 "The behavior is undefined in the following circumstances:
     ...
   — Addition or subtraction of a pointer into, or just beyond, an
    array object and an integer type produces a result that does not
    point into, or just beyond, the same array object (6.5.6)."

So we've got to fix rtrim to not do that.  Also, make it unit tested,
and give it an evutil_*_ name.

11 years agoignore LWS after field-content in headers
Artem Germanov [Mon, 21 May 2012 04:08:52 +0000 (21:08 -0700)]
ignore LWS after field-content in headers

11 years agoMerge remote-tracking branch 'azat/fix-typo-evets'
Nick Mathewson [Fri, 16 Nov 2012 15:53:52 +0000 (10:53 -0500)]
Merge remote-tracking branch 'azat/fix-typo-evets'

11 years agoMerge remote-tracking branch 'ppelleti/tiny-doc-typos'
Nick Mathewson [Fri, 16 Nov 2012 15:51:26 +0000 (10:51 -0500)]
Merge remote-tracking branch 'ppelleti/tiny-doc-typos'