tor/changes
David Goulet c99f220f78 conn: Close the read side of a closing connection when write limit is reached
In conn_close_if_marked(), we can decide to keep a connection open that still
has data to flush on the wire if it is being rate limited on the write side.

However, in this process, we were also looking at the read() side which can
still have token in its bucket and thus not stop the reading. This lead to a
BUG() introduced in 0.3.4.1-alpha that was expecting the read side to be
closed due to the rate limit but which only applies on the write side.

This commit removes any bandwidth check on the read side and simply stop the
read side on the connection regardless of the bucket state. If we keep the
connection open to flush it out before close, we should not read anything.

Fixes #27750

Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-11-14 15:42:52 -05:00
..
.dummy Add a .dummy file in the changes directory to stop git from removing it 2015-05-11 11:41:48 -04:00
27286 Update the protocol versions recommendations to remove LinkAuth=1 2018-08-24 12:31:01 -04:00
bug20424_029_minimal When setting a nonstandard malloc, disable the system malloc. 2018-07-11 09:37:29 -04:00
bug24891 Heed --disable-unittests properly 2018-06-02 12:53:04 +03:00
bug24977 Add changes file for #24977. 2018-06-20 08:01:02 -04:00
bug25440 Changes file for 25440 2018-08-08 09:26:21 -04:00
bug25505 Bug 25505: Check circuitmux queues before padding. 2018-09-11 15:53:03 -04:00
bug25686_diagnostic Several attempts to diagnose ticket 25686 2018-06-11 16:24:00 -04:00
bug25787 Revise geoip tests to not require paths of actual geoip config 2018-06-21 08:56:20 -04:00
bug26158 Fix an extra space in a changes file 2018-06-13 09:59:26 -04:00
bug26196 Add changes file 2018-06-20 07:49:41 -04:00
bug26214 Bug 26214: Changes file. 2018-06-21 09:18:51 -04:00
bug26245 Changes file for rust fatal warnings 2018-06-16 10:20:21 -04:00
bug26258_033 Make sure that the test_rust.sh script fails when a test fails 2018-05-31 17:15:57 -07:00
bug26269 Fix a GCC "potential null dereference" warning. 2018-06-13 10:34:53 -04:00
bug26402 Remove duplicate MODULE_DIRAUTH_SOURCES from libtor_testing.a 2018-06-18 17:07:27 -04:00
bug26415 Fix compilation of Rust crypto doctests 2018-06-19 13:53:26 -05:00
bug26435 Fix changes file for memory leak. 2018-06-21 08:53:37 -04:00
bug26470 Fix a bug warning when sending an error on an HTTPTunnelPort conn 2018-08-21 10:12:04 -04:00
bug26485 Warn the directory authority operator if their versions list is bogus 2018-07-18 15:00:53 -04:00
bug26497 Stop setting $CARGO_HOME 2018-08-10 11:14:32 +10:00
bug26497-backport Changes file for Rust: backport src/test/test_rust.sh from master 2018-08-10 11:26:53 +10:00
bug26497-cd Rust: use a consistent working directory in builds and tests 2018-08-10 11:54:26 +10:00
bug26523 control: Make HSPOST properly parse HSADDRESS= param 2018-06-27 12:25:24 -04:00
bug26535.029 ntor_ref.py: pass only strings to subprocess.Popen 2018-07-02 14:18:41 -04:00
bug26535.032 hs_ntor_ref.py: pass only strings to subprocess.Popen 2018-07-02 14:23:26 -04:00
bug26568 Partially revert "Use tor_addr_from_getsockname() in several places" 2018-07-02 16:11:02 -04:00
bug26627 Stop putting unsupported ed25519 link auth in v3 onion service descs 2018-07-25 09:16:15 +10:00
bug26779 Detect broken stdatomic.h, and pretend that it isn't there at all 2018-08-08 15:49:39 -04:00
bug26785 Don't disable an unsupported compiler warning 2018-07-26 12:32:34 -05:00
bug26787 Changes file for bug 26787 2018-07-18 16:39:22 -04:00
bug26789 Fix build to work with --disable-unittests again 2018-07-17 12:09:34 +00:00
bug26830 SKIP test_keygen.sh on Windows until the underlying issue is resolved 2018-07-17 14:56:18 -04:00
bug26853 SKIP test_key_expiration.sh on Windows until the underlying issue is resolved 2018-07-18 12:37:12 +10:00
bug26873 Add changes file for 26873. I missed this when merging earlier. 2018-08-21 10:01:38 -04:00
bug26876 Ignore mach_approximate_time when targeting macOS 10.9 and earlier 2018-07-20 12:29:32 +10:00
bug26896 Check for duplicate-close in connection_dir_finished_flusing() 2018-08-21 09:50:48 -04:00
bug26924 Stop logging link auth warnings on Single Onion Services and Tor2web 2018-07-25 14:30:33 +10:00
bug26927 Improve connection auth logging 2018-07-25 14:39:31 +10:00
bug26932 Keep descriptor rotation time after HUP occurs. 2018-08-16 08:36:48 -04:00
bug26948 Always call tor_free_all() when exiting tor_run_main() 2018-07-31 08:45:17 -04:00
bug26979 Appveyor CI: Changes file for 26979 2018-08-24 10:11:20 +10:00
bug26994 Rename SEC identifier to BW_SEC in test_bwmgt.h 2018-08-06 10:39:14 -04:00
bug27003 When enabling periodic events, schedule but don't run them immediately. 2018-08-02 10:14:56 -04:00
bug27081 Don't search for -lpthread on Windows 2018-08-08 09:56:51 -04:00
bug27088 Travis: create configure flags once, then echo the flags 2018-08-09 22:18:12 +10:00
bug27090 Travis: add lzma and zstd, where available 2018-08-09 22:22:27 +10:00
bug27093 Fix $abs_top_srcdir in test_rust.sh 2018-08-10 11:22:36 +10:00
bug27139 Changes file for the 32-bit msec conversion fixes of #27139 2018-09-14 08:49:27 -04:00
bug27164 rust/protover: fix hyphen parsing bug in ProtoSet::from_str() 2018-08-17 13:27:24 +00:00
bug27177 rust/protover: don't accept whitespace in ProtoSet::from_str() 2018-08-17 13:34:03 +00:00
bug27185 Silence a compilation warning on MSVC 2017 and clang-cl 2018-08-24 09:15:04 +10:00
bug27206 rust/protover: use .and_not_in() instead of .retain() in all_supported() 2018-09-14 15:08:55 +00:00
bug27226 Rewrite test_tortls_cert_matches_key() 2018-08-20 17:43:41 -04:00
bug27236 Bootstrap: check the exit policy and flag on descriptors 2018-08-24 01:13:53 +10:00
bug27295 Test: avoid spurious failures in make test-network-all 2018-08-29 10:47:20 +10:00
bug27316 protover: reject invalid protocol names 2018-09-14 02:18:04 +00:00
bug27335 hs-v3: Don't BUG() on directory permission check failure 2018-09-14 12:56:26 -04:00
bug27344 Tell openssl to build its TLS contexts with security level 1 2018-09-07 09:15:06 -04:00
bug27345 When running make test-network-all, use the mixed+hs-v2 network 2018-08-27 23:07:20 +10:00
bug27418 Travis: don't call echo with a --flag as the first argument 2018-09-05 14:02:46 +10:00
bug27453 Travis: when showing a log fails, keep trying to show other logs 2018-09-05 13:12:54 +10:00
bug27460 Appveyor: Disable gcc hardening in Windows 64-bit builds 2018-09-07 13:52:20 +10:00
bug27461 Windows: Stop calling SetProcessDEPPolicy() on 64-bit Windows 2018-09-07 12:58:11 +10:00
bug27463 hs: Silence a spurious warning in rend_client_send_introduction() 2018-09-07 12:40:11 +10:00
bug27464 Stop reinstalling identical packages in our Windows CI 2018-09-05 21:23:28 +10:00
bug27465 Windows: Silence a spurious warning in the GetAdaptersAddresses cast 2018-09-07 11:03:10 +10:00
bug27649 fixup! changes file 2018-09-12 14:22:31 +00:00
bug27658 Check waitpid return value and exit status in tinytest.c 2018-09-12 08:57:18 -04:00
bug27687 rust/protover: validate unknown protocol names use only allowed characters 2018-09-13 16:33:58 +00:00
bug27708 If options_act() fails, restore the previous value of global_options 2018-09-14 10:34:45 -04:00
bug27709 Revise our assertion and bug macros to work with -Wparentheses 2018-09-14 11:39:37 -04:00
bug27740 rust/protover: return C-allocated string in protover_all_supported() 2018-09-21 05:16:22 +00:00
bug27741 Remove extraneous argument from Rust protover_compute_vote() 2018-09-17 11:57:56 -04:00
bug27750 conn: Close the read side of a closing connection when write limit is reached 2018-11-14 15:42:52 -05:00
bug27781 Fix the 0.3.4 part of bug 27781 (arm compilation) 2018-09-24 11:08:27 -04:00
bug27800 Log more info for duplicate ed25519 IDs 2018-10-17 15:39:55 -05:00
bug27804 rust/protover: fix null deref in protover_all_supported() 2018-09-21 04:57:26 +00:00
bug27948 Treat backtrace test failures as expected on most BSD-derived systems 2018-10-23 11:21:10 +10:00
bug28202 Fix possible UB in an end-of-string check in get_next_token(). 2018-10-25 09:06:13 -04:00
bug28245 Always declare groups when building with openssl 1.1.1 APIs 2018-11-09 10:10:25 -05:00
bug28413 Fix a compiler warning in aes.c. 2018-11-12 15:39:28 -05:00
feature26372_029 Prefer recent Python 3 in autoconf. 2018-06-21 09:31:01 -04:00
geoip-2018-07-03 Update geoip and geoip6 to the July 3 2018 database. 2018-07-06 20:54:03 +02:00
geoip-2018-08-07 Update geoip and geoip6 to the August 7 2018 database. 2018-08-09 09:44:38 +02:00
geoip-2018-09-06 Update geoip and geoip6 to the September 6 2018 database. 2018-09-11 09:26:59 +02:00
geoip-2018-10-09 Update geoip and geoip6 to the October 9 2018 database. 2018-10-10 17:26:41 +02:00
geoip-2018-11-06 Update geoip and geoip6 to the November 6 2018 database. 2018-11-11 11:25:59 +01:00
rust_cross Fix Rust cross compilation. 2018-06-27 14:42:06 -05:00
task26771 put new bridge auth Serge into place 2018-07-12 14:12:13 -04:00
ticket24629 Changes file for Travis: enable macOS builds 2018-08-10 12:44:31 +10:00
ticket24629-backport Travis: Check Rust with distcheck in 0.3.3 and later 2018-08-10 16:37:06 +10:00
ticket25947 eol@eof in test-dir.c 2018-06-20 08:29:38 -04:00
ticket25960 eol@eof in test-dir.c 2018-06-20 08:29:38 -04:00
ticket26467 Changes file for 26467 2018-06-29 13:04:29 -04:00
ticket26560 Add more optional packages to Travis 2018-08-09 16:51:42 +10:00
ticket26647 Add controller support for listing ExtORPort and HTTPTunnelPorts 2018-07-10 10:50:43 -04:00
ticket26952-cargo Travis: Use cargo cache 2018-08-10 11:23:26 +10:00
ticket26952-ccache Travis: Use ccache 2018-08-09 22:18:53 +10:00
ticket27087 Travis: run an asciidoc build 2018-08-09 22:19:00 +10:00
ticket27252 Travis: Skip gcc on Linux with default settings 2018-08-23 18:13:53 +10:00
ticket27252-032 Travis: Skip offline rust builds for Linux gcc 2018-08-23 18:18:14 +10:00
ticket27252-034 Travis: Don't do a distcheck with --disable-module-dirauth 2018-08-23 18:20:39 +10:00
ticket27275 CI: Only post Appveyor IRC notifications when the build fails 2018-08-24 10:06:06 +10:00
ticket27410 hs-v3: Close all SOCKS request on descriptor failure 2018-09-20 11:01:23 -04:00
ticket27430 Appveyor: tail config.log and cat test-suite.log after failed builds 2018-09-05 13:51:12 +10:00
ticket27449 Appveyor: always log the compiler path and version 2018-09-05 10:50:17 +10:00
ticket27738 Travis: use the Homebrew addon 2018-09-18 19:26:54 +10:00
ticket27797 node: Make node_supports_v3_rendezvous_point() also check for the key 2018-10-24 10:30:26 -04:00
ticket27810 test: Update approx_time before the test starts 2018-10-16 08:03:55 -04:00
ticket27849 mainloop: Set client role if ControlPort is set 2018-10-16 08:11:49 -04:00
ticket28089 conn: Stop writing when our write bandwidth limist is exhausted 2018-10-17 12:25:12 -04:00
tickets_27765_27943 fixup! Changes file for apveyor changes 2018-10-10 11:10:29 -04:00