tor/changes
David Goulet be84ed1a64 kist: Don't write above the highwater outbuf mark
KIST works by computing how much should be allowed to write to the kernel for
a given socket, and then it writes that amount to the outbuf.

The problem is that it could be possible that the outbuf already has lots of
data in it from a previous scheduling round (because the kernel is full/busy
and Tor was not able to flush the outbuf yet). KIST ignores that the outbuf
has been filling (is above its "highwater") and writes more anyway. The end
result is that the outbuf length would exceed INT_MAX, hence causing an
assertion error and a corresponding "Bug()" message to get printed to the
logs.

This commit makes it for KIST to take into account the outbuf length when
computing the available space.

Bug found and patch by Rob Jansen.

Closes #29168. TROVE-2019-001.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-02-21 10:07:34 -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
25857 Fix documentation bug 25857: the universe is ::/0, not ::/128 2018-04-20 14:35:33 -04:00
27286 Update the protocol versions recommendations to remove LinkAuth=1 2018-08-24 12:31:01 -04:00
bug20424_029_minimal maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug21394.2 Bug 21394 touchup: Increase DNS attempts to 3 2018-04-04 08:54:25 -04:00
bug22310 dir auths no longer vote Guard if they're not voting V2Dir 2018-04-02 00:20:01 -04:00
bug23693.1 Fix another crash-on-no-threadpool bug. 2018-04-10 14:44:38 -04:00
bug24031 add a missing word 2018-04-03 15:31:30 -04:00
bug24104 Add changes file 2018-09-01 18:47:20 -04:00
bug24767 relay: Avoid connecting to down relays 2018-03-27 12:42:31 -04:00
bug24769 Changes file for bug24769. 2018-01-31 17:21:53 +00:00
bug24782 Use less memory for MaxMemInQueues for machines with more than 8 GB of RAM. 2018-04-12 11:14:16 -04:00
bug24854 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug24903 When extending a circuit's path length, clear onehop_tunnel. 2018-03-26 09:17:50 -04:00
bug24904 chan: Use channel_is_client() in channel_do_open_actions() 2018-03-23 10:11:37 -04:00
bug24969 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug24978 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug24989 Bug 24989: Count client hsdir gets towards MaxClientCircuitsPending. 2018-04-11 10:47:06 -04:00
bug25120 chnages file for 25120 2018-02-11 16:14:19 -05:00
bug25213 Make extend_info_from_node() more picky about node contents 2018-03-26 09:56:12 -04:00
bug25223 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug25226 relay: Implement a circuit cell queue maximum size 2018-04-16 09:59:12 -04:00
bug25249 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug25249.2 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug25296_032 PerConnBW{Rate,Burst} docs: do not say consensus param is always set 2018-04-05 12:08:35 -04:00
bug25306 hs-v3: BUG() on missing descriptors during rotation 2018-03-20 12:54:05 -04:00
bug25372 Log information on specific compression backends in the OOM handler. 2018-03-20 07:47:19 -04:00
bug25378 changes file for 25378 2018-03-03 11:58:22 -05:00
bug25415 Fix a crash bug when testing reachability 2018-05-22 08:35:37 -04:00
bug25440 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug25450 changes: Fix changes file for bug25450. 2018-03-08 20:50:57 +00:00
bug25474 Add a missing prototype to our libevent configure stanza. 2018-03-13 13:37:26 +01:00
bug25479 changes: Add changes file for bug25479. 2018-03-19 05:38:26 -04:00
bug25505 Bug 25505: Check circuitmux queues before padding. 2018-09-11 15:53:03 -04:00
bug25512 Clear all control.c flags on control_free_all() 2018-07-09 09:20:45 -04:00
bug25560 tests: Automatically detect Rust crates to test and also pass --verbose. 2018-03-23 11:13:04 -04:00
bug25581 Rename HSLayer{2,3}Nodes to start without an underscore. 2018-04-11 15:37:49 -04:00
bug25582 Remove erroneous section heading "ExitPolicyDefault" 2018-03-29 15:06:07 -04:00
bug25617 Mark controller-initiated DNS lookups as permitted to do DNS. 2018-03-29 09:27:28 -04:00
bug25629 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug25664 add a changes file for the rust libc update 2018-03-28 08:10:54 -04:00
bug25679 Fix the default for TOR_RUST_DEPENDENCIES 2018-04-05 08:20:07 -04:00
bug25686_diagnostic Several attempts to diagnose ticket 25686 2018-06-11 16:24:00 -04:00
bug25691 Refine extend_info_for_node's "enough info" check once again. 2018-04-12 16:56:29 -04:00
bug25691_again Add a changes file for 25691/25692 2018-04-22 19:42:28 -04:00
bug25705 Bug 25705: Don't count circuit path failures as build failures. 2018-05-01 19:47:07 +00:00
bug25732 Ship all files needed to build Tor with rust 2018-04-06 16:18:11 -04:00
bug25733 Bug 25733: Avoid assert failure if all circuits time out. 2018-04-26 21:28:28 +00:00
bug25761 Detect when v3 services get disabled after HUP. 2018-05-09 11:25:00 +03:00
bug25901 hs: Fix memleak in v3 on SIGHUP 2018-04-23 11:09:57 -04:00
bug26007 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug26052 manpage fix to stop saying CacheIPv4DNS is on by default 2018-05-08 13:13:45 -04:00
bug26069 hs-v3: Add an extra white-space when parsing descriptor 2018-05-10 09:16:50 -04:00
bug26072 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug26116 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug26121 Bug 26121: Improve BUILDTIMEOUT_SET accuracy. 2018-06-02 10:36:36 -07:00
bug26158 Fix an extra space in a changes file 2018-06-13 09:59:26 -04:00
bug26196 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05: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 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug26272 Silence unused-const-variable warnings in zstd.h on some gcc versions 2018-06-02 14:11:04 -07: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 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05: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 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug26535.032 hs_ntor_ref.py: pass only strings to subprocess.Popen 2018-07-02 14:23:26 -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 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug26830 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05: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
bug26924 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05: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
bug27081 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug27088 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05: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
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 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug27206 rust/protover: use .and_not_in() instead of .retain() in all_supported() 2018-09-14 15:08:55 +00:00
bug27226 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug27295 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05: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 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug27345 When running make test-network-all, use the mixed+hs-v2 network 2018-08-27 23:07:20 +10:00
bug27418 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug27453 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug27461 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug27463 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
bug27465 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05: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
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
bug28419 Changes file for bug 28419 2018-11-14 07:51:36 -05:00
bug28554 Test: Fix memory leaks and missing unmocks in entry guard tests 2018-11-22 16:42:32 +10:00
bug28619 hs-v3: Do not close RP circuits when deleting an ephemeral service 2018-11-26 14:45:53 -05:00
bug29029 rend: stop warning when clients send multiple rend establish cells 2019-01-10 07:59:59 +10:00
bug29244 Update Cargo.lock with new comment; suppress 29244. 2019-02-01 16:38:23 +01:00
bugs_25036_25055 Adding changes file 2018-03-28 07:39:03 -04:00
coveralls maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
feature25313 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
feature26372_029 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
geoip-2018-03-08 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
geoip-2018-04-03 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
geoip-2018-05-01 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
geoip-2018-06-07 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
geoip-2018-07-03 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
geoip-2018-08-07 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05: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
geoip-2018-12-05 Update geoip and geoip6 to the December 5 2018 database. 2018-12-05 21:02:39 +01:00
geoip-2019-01-03 Update geoip and geoip6 to the January 3 2019 database. 2019-01-07 09:00:29 +01:00
geoip-2019-02-05 Update geoip and geoip6 to the February 5 2019 database. 2019-02-12 14:40:42 +01:00
refactor23814 fixup! Remove the old ("deterministic") download schedule. 2018-01-25 16:05:09 -05:00
task26771 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
ticket23635 Improve the documentation of AccountingStart parameter. 2018-02-12 17:10:04 +01:00
ticket24343 Remove anything related to the old SocksSockets option 2018-02-07 14:05:33 -05:00
ticket24629 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
ticket24629-backport Travis: Check Rust with distcheck in 0.3.3 and later 2018-08-10 16:37:06 +10:00
ticket24803 Note ticket number in changes file for 24803 2018-12-11 10:00:19 -05:00
ticket25071 Add a "make test-rust" target to run the rust tests only. 2018-02-08 17:51:57 -05:00
ticket25202 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
ticket25248 doc: Improve DoS section of the man page tor.1 2018-04-13 12:20:59 -04:00
ticket25323 Update the .gitmodules to refer to project-level tor-rust-dependencies 2018-02-21 11:53:04 -05:00
ticket25714 Switch Travis to stable rust 2018-04-05 08:36:09 -04:00
ticket26006 LibreSSL compatibility fixes. 2018-05-02 08:22:05 -04:00
ticket26062 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
ticket26343 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
ticket26467 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
ticket26560 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
ticket26647 Add controller support for listing ExtORPort and HTTPTunnelPorts 2018-07-10 10:50:43 -04:00
ticket26913 Make CacheDirectoryGroupReadable an autobool. 2018-09-17 11:44:59 -04:00
ticket26952-cargo Travis: Use cargo cache 2018-08-10 11:23:26 +10:00
ticket26952-ccache maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
ticket27087 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05: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
ticket27410 hs-v3: Close all SOCKS request on descriptor failure 2018-09-20 11:01:23 -04:00
ticket27550 hs-v3: Silence some logging for client authorization 2018-09-24 12:49:00 -04:00
ticket27738 Travis: use the Homebrew addon 2018-09-18 19:26:54 +10:00
ticket28973 Detect openssl bug 7712 and work around it. 2019-01-03 09:00:47 -05:00
ticket29168 kist: Don't write above the highwater outbuf mark 2019-02-21 10:07:34 -05:00
travis_distcheck maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
trove-2018-001.1 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
trove-2018-004 maint-0.2.9: remove changes files that are merged in 0.2.9 releases 2019-01-23 09:48:28 -05:00
TROVE-2018-005 changes file for TROVE-2018-005 2018-05-22 12:26:23 -04:00