tor/changes
David Goulet fa6d5dd268 hs-v3: Close all SOCKS request on descriptor failure
Client side, when a descriptor is finally fetched and stored in the cache, we
then go over all pending SOCKS request for that descriptor. If it turns out
that the intro points are unusable, we close the first SOCKS request but not
the others for the same .onion.

This commit makes it that we'll close all SOCKS requests so we don't let
hanging the other ones.

It also fixes another bug which is having a SOCKS connection in RENDDESC_WAIT
state but with a descriptor in the cache. At some point, tor will expire the
intro failure cache which will make that descriptor usable again. When
retrying all SOCKS connection (retry_all_socks_conn_waiting_for_desc()), we
won't end up in the code path where we have already the descriptor for a
pending request causing a BUG().

Bottom line is that we should never have pending requests (waiting for a
descriptor) with that descriptor in the cache (even if unusable).

Fixees #27410.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-20 11:01:23 -04: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
bastet_v6 Add bastet's ipv6 address 2017-11-27 09:09:16 -05:00
bug18859 Rewrite 18859 changes file from user POV. 2017-12-07 08:41:00 -05:00
bug20424_029_minimal When setting a nonstandard malloc, disable the system malloc. 2018-07-11 09:37:29 -04:00
bug20532 Rewrite bridge addresses earlier 2017-10-24 17:35:17 -05:00
bug20963 Tweak the message when we re-enable CBT. 2017-11-15 14:42:59 -05:00
bug21074_downgrade fix make check-changes 2018-02-13 15:07:55 -06:00
bug21394 Fix DNS resolution on busy exit relays 2017-11-05 14:36:32 -05:00
bug21509 fuzzing: Make hsdescv3 use the decoding API correctly 2017-10-26 09:52:15 -04:00
bug23318 Use node counts in networks with all zero-bandwidths 2017-11-08 10:45:18 -05:00
bug23603 hs-v3: Cleanup HS circuits when marking as closed 2017-12-05 10:55:41 -05:00
bug23623 Add changes file for #23623. 2017-11-07 00:28:14 +02:00
bug23653 hs: Add changes file for 23653 2017-10-03 10:56:46 -04:00
bug23662 Silence a warning about failed descriptor uploads. 2017-11-14 17:16:33 +02:00
bug23670 entrynodes: Add changes file. 2017-10-03 15:48:12 +03:00
bug23678 Fix our "not an HTTP Proxy" message in light of HTTPTunnelPort 2017-10-02 12:53:13 -04:00
bug23681 circuit: Don't timeout opened C_INTRODUCING circuit 2017-11-20 08:33:44 -05:00
bug23693 Make changes in server_mode() affect workers; fix a crash. 2017-10-02 11:11:30 -04:00
bug23693.1 Fix another crash-on-no-threadpool bug. 2018-04-10 14:44:38 -04:00
bug23696 fix check-changes warning 2017-12-04 14:01:52 -05:00
bug23739 Improve docs on using gcov 2017-10-03 07:45:36 -05:00
bug23741 Don't move gcov output to root directory 2017-10-02 16:09:28 -05:00
bug23748 note cathugger in changes file for 23748 2017-10-04 09:01:59 -04:00
bug23751 sched: Ignore closed channel after flushing cells 2017-11-08 09:44:39 -05:00
bug23753 sched: Use SCHED_BUG() macro in scheduler 2017-11-02 10:30:33 -04:00
bug23755 Only run "update" job from scheduled pipelines 2017-10-05 13:37:57 -05:00
bug23757 Match .travis.yml more closely 2017-10-05 22:42:00 -05:00
bug23758 Don't expect permission failure if running as root 2017-10-04 08:42:05 -05:00
bug23762 make 23762 changes file pass check-changes 2017-10-31 12:19:39 -04:00
bug23774 Fix memory leak when freeing socket_table in KIST. 2017-10-17 13:40:31 -04:00
bug23783 Include ws2_32 when trying to link openssl on windows in autoconf 2017-11-20 13:37:22 -05:00
bug23790 hs-v2: Copy needed information between service on prunning 2017-10-25 11:21:28 -04:00
bug23816 Replace our random-exponential-delay algorithm. 2017-11-08 07:56:16 -05:00
bug23817 Introduce new guard restriction and use it to skip outdated dirs. 2017-11-17 09:52:40 -05:00
bug23820 Changes file for 23820 2017-11-02 10:19:05 -04:00
bug23861 relay: Avoid extra LOG_NOTICE for every new descriptor batch 2017-11-16 10:57:05 -05:00
bug23862 rename changes file 2017-12-12 09:13:05 -05:00
bug23874 Clear the address when node_get_prim_orport() returns early 2017-10-15 16:48:36 -04:00
bug23952 Have LOG_PROTOCOL_WARN call its own function 2017-10-23 12:22:26 -04:00
bug23985 Don't delay descriptor fetches when missing info needed for circuits 2017-11-08 13:22:16 -05:00
bug24002 hs-v3: Check the ed25519 key when picking intro point 2017-10-26 14:54:20 -04:00
bug24025 nodelist: Downgrade warning to protocol warning 2017-11-02 10:33:57 -04:00
bug24050 Make the cache_ipv4_answers default become 0 again, for real. 2017-11-29 12:01:45 -05:00
bug24082 Initialize the mock options in the fuzzing code 2017-10-30 17:05:26 -04:00
bug24086 Correctly handle partial success in consensus diff calculation. 2017-11-20 11:04:37 -05:00
bug24099 Recover better from empty/invalid storagedir files 2017-11-20 10:14:41 -05:00
bug24115 man: Specify HiddenServiceNumIntroductionPoints for v3 2017-11-01 13:50:04 -04:00
bug24150 Fix a memory leak on decryption non-failure of v3 hsdesc 2017-11-06 12:59:11 -05:00
bug24167 Fix a traceback when closing a blocked connection "immediately". 2017-11-16 12:05:56 -05:00
bug24170 Actually log the total bandwidth in compute_weighted_bandwidths() 2017-11-08 10:45:18 -05:00
bug24198 Permit kill(pid, 0) in the seccomp2 sandbox. 2017-11-16 12:44:47 -05:00
bug24230 control: Fix wrong Action on failure to upload an HS descriptor 2017-11-10 15:31:31 -05:00
bug24247 Fix mock_crypto_pk_public_checksig__nocheck() to handle short RSA keys 2017-11-11 14:44:45 -05:00
bug24262 hs-v3: Fix consensus param "hsdir-interval" name 2017-11-13 11:48:56 -05:00
bug24279 whoops; add missing credit. 2017-11-15 15:11:15 -05:00
bug24313 hs-v2: Remove any expiring intro from the retry list 2017-11-28 18:41:29 -05:00
bug24345 Fix memory leak in unit test for bridge distribution config. 2017-11-18 10:22:14 -05:00
bug24367 Make sure bridges are definitely running before delaying directory fetches 2017-12-12 19:17:25 -05:00
bug24424 Make sandbox.c compile when libseccomp-dev is installed on arm64 2017-12-12 19:46:03 -05:00
bug24480 Fix a clang compilation warning in rendservice.c 2017-12-01 12:13:15 -05:00
bug24502 sched: Set channel scheduler state to IDLE when not opened 2017-12-04 14:48:15 -05:00
bug24526 Note contactinfo and myfamily as required in more places 2018-01-11 20:00:18 -05:00
bug24590 sched: Avoid integer overflow when computing tcp_space 2017-12-11 15:45:19 -05:00
bug24633 Fix the clz32 and clz64 settings on MSVC. 2017-12-20 09:37:18 -05:00
bug24634 Fix some shadowed-global warnings. 2018-01-03 09:13:00 -05:00
bug24652 Use -lresolv in LIBS with rust on OSX. 2018-01-04 14:02:24 -05:00
bug24665 sched: Consider extra_space even if negative in KIST 2017-12-21 09:32:04 -05:00
bug24666 Move destroy cells into a separate queue type of their own, to save RAM 2017-12-21 10:29:01 -05:00
bug24671 sched: Use lower layer cell limit with KISTLite 2017-12-20 14:17:18 -05:00
bug24700 sched: Avoid adding the same channel twice to the KIST pending list 2018-01-31 13:46:31 -05:00
bug24736 Clear the address when we can't choose a reachable address 2017-12-25 01:55:28 +11:00
bug24826_031 Improve fragile-hardening performance of consensus_split_lines. 2018-01-16 12:42:40 -05:00
bug24854 Lift the list of default directory servers into their own file. 2018-04-09 16:00:26 +02:00
bug24859 If out-of-disk when saving a consensus cache entry, don't BUG. 2018-01-26 13:14:14 -05:00
bug24894 v3 onion services now obey MAX_REND_FAILURES 2018-01-15 16:41:47 -05:00
bug24895 hs: Use hs_service_max_rdv_failures consensus param, defaulting to 2 2018-01-19 16:13:54 -05:00
bug24898 Remove false positives from channel_is_client() 2018-01-15 22:33:40 -05:00
bug24952 channel_tls_get_remote_addr_method now returns real_addr. 2018-01-31 16:12:13 -05:00
bug24969 Permit the nanosleep system call in the seccomp2 callbox 2018-04-23 09:15:40 -04:00
bug24972 When a tor_cert_T check fails, log the reason why. 2018-01-26 13:55:25 -05:00
bug24975 ns: Add a before and after consensus has changed notification 2018-01-31 14:15:02 -05:00
bug24976 hs-v3: Remove a BUG() when storing a descriptor in the client cache 2018-01-31 12:51:42 -05:00
bug24978 Make Tor support TLS1.3 ciphers with OpenSSL 1.1.1 2018-01-23 09:23:21 -05:00
bug25005 Fix a memory leak in scheduler/loop_kist 2018-01-24 12:07:45 -05:00
bug25070 Changes file for 25070 2018-01-30 02:08:42 +11:00
bug25105 Look at the correct protocol for supports_v3_rendezvous_point 2018-01-31 14:09:47 -05:00
bug25223 Make check-changes happy 2018-02-13 14:56:31 -05:00
bug25249 Forbid "-0" as a protocol version. 2018-03-01 16:05:17 -05:00
bug25249.2 Forbid UINT32_MAX as a protocol version 2018-03-01 16:05:17 -05:00
bug25296_032 PerConnBW{Rate,Burst} docs: do not say consensus param is always set 2018-04-05 12:08:35 -04:00
bug25440 Changes file for 25440 2018-08-08 09:26:21 -04: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
bug25629 Fix CID 1430932 2018-03-27 16:08:39 -05:00
bug25686_diagnostic Several attempts to diagnose ticket 25686 2018-06-11 16:24:00 -04: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 Stop logging stack contents when reading a zero-length bandwidth file 2018-05-02 22:36:23 +10:00
bug26069 hs-v3: Add an extra white-space when parsing descriptor 2018-05-10 09:16:50 -04:00
bug26072 Add a missing return after marking a stream for bad connected cell 2018-05-14 15:54:48 -04:00
bug26116 Return -1 from our PEM password callback 2018-05-16 11:39:42 -04:00
bug26158 Fix an extra space in a changes file 2018-06-13 09:59:26 -04:00
bug26196 Avoid out-of-bounds smartlist access in protover_compute_vote() 2018-06-08 10:11:32 -04:00
bug26269 Fix a GCC "potential null dereference" warning. 2018-06-13 10:34:53 -04:00
bug26272 Silence unused-const-variable warnings in zstd.h on some gcc versions 2018-06-02 14:11:04 -07: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
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
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
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
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
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
bug27185 Silence a compilation warning on MSVC 2017 and clang-cl 2018-08-24 09:15:04 +10:00
bug27226 Rewrite test_tortls_cert_matches_key() 2018-08-20 17:43:41 -04:00
bug27295 Test: avoid spurious failures in make test-network-all 2018-08-29 10:47:20 +10: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
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
bug27465 Windows: Silence a spurious warning in the GetAdaptersAddresses cast 2018-09-07 11:03:10 +10:00
bug27658 Check waitpid return value and exit status in tinytest.c 2018-09-12 08:57:18 -04:00
coveralls Add support for the coveralls.io coverage tool in travis config 2018-04-16 14:42:28 -04:00
feature18329 Updates to fix check-spaces/check-changes warnings 2017-10-24 19:35:16 -04:00
feature25313 Add the poll() syscall as permitted by the sandbox 2018-03-20 08:23:44 -04:00
feature26372_029 Prefer recent Python 3 in autoconf. 2018-06-21 09:31:01 -04:00
geoip-2017-11-06 Update geoip and geoip6 to the November 6 2017 database. 2017-11-10 10:14:09 +01:00
geoip-2017-12-06 Update geoip and geoip6 to the December 6 2017 database. 2017-12-20 17:36:29 +01:00
geoip-2018-01-05 Update geoip and geoip6 to the January 5 2018 database. 2018-01-08 11:36:38 +01:00
geoip-2018-02-07 Update geoip and geoip6 to the February 7 2018 database. 2018-02-08 10:32:41 +01:00
geoip-2018-03-08 Update geoip and geoip6 to the March 8 2018 database. 2018-03-13 10:57:49 -04:00
geoip-2018-04-03 Update geoip and geoip6 to the April 3 2018 database. 2018-04-05 10:42:25 +02:00
geoip-2018-05-01 Update geoip and geoip6 to the May 1 2018 database. 2018-05-15 15:20:09 +02:00
geoip-2018-06-07 Update geoip and geoip6 to the June 7 2018 database. 2018-06-11 21:58:55 +02: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-october2017 add missing subcategory in changes file 2017-10-05 11:04:54 -04:00
hsdescv3_fuzz_more In the hsdescv3 fuzzer, replace the decryption function. 2017-10-27 14:28:02 -04:00
longclaw_23592 Update Longclaw's IP address; fixes 23592. 2017-10-17 14:00:30 -04:00
stack Add a changelog for the STACK fixes 2017-12-11 16:23:11 -05:00
task26771 put new bridge auth Serge into place 2018-07-12 14:12:13 -04:00
ticket21031 ticket21031 changes file revised. 2017-11-05 14:09:07 -05:00
ticket23637 add a missing subcategory to 23637, again 2017-11-13 16:58:11 -05:00
ticket23856 relay: Change bandwidth stats interval to 24 hours 2017-11-27 10:00:40 -05:00
ticket23910 dirauth: Add bastet to the default authorities 2017-10-23 09:03:36 -04:00
ticket24097 Downgrade evdns warnings about weird replies. 2017-11-16 09:30:19 -05:00
ticket24109 Test that IPv6-only clients can use microdescriptors 2017-11-02 10:25:49 -04:00
ticket24158 Only log about lost KIST support once 2017-11-17 09:25:47 -05:00
ticket24254 Use less jargon in Scheduler sec. of man page 2017-11-17 09:25:07 -05:00
ticket24315 Add a changes file. 2017-11-16 14:07:58 -05:00
ticket24425 hs-v3: Bump hsdir_spread_store from 3 to 4 2017-11-29 09:19:02 -05:00
ticket24500 Tweaks to strings in 24500 2017-12-05 12:09:57 -05:00
ticket24629 Changes file for Travis: enable macOS builds 2018-08-10 12:10:56 +10:00
ticket24681 Make the default DirAuthorityFallbackRate 0.1 2017-12-23 00:01:31 +11:00
ticket24902 dos: Add changes file for ticket 24902 2018-01-30 09:18:16 -05:00
ticket25122 geoip: Hook the client history cache into the OOM handler 2018-02-02 14:48:41 -05:00
ticket25170 dirserv: Improve returned message when relay is rejected 2018-02-13 08:47:42 -05:00
ticket25202 Make check-changes happy 2018-02-13 14:56:31 -05: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
ticket26062 Having a ControlPort open doesn't mean we are a client 2018-05-09 12:50:53 -04:00
ticket26343 Add a changelog entry. 2018-06-12 09:44:01 -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
ticket27410 hs-v3: Close all SOCKS request on descriptor failure 2018-09-20 11:01:23 -04:00
ticket_24801 Add changes file for new fallback directory list. 2018-01-08 11:09:08 -05:00
travis_distcheck Add distcheck support to travis configuration. 2018-04-18 17:33:19 -04:00
trove-2017-009 Fix changes file 2017-11-30 11:52:40 -05:00
trove-2017-010 Handle NULL input to protover_compute_for_old_tor() 2017-11-27 15:16:30 -05:00
trove-2017-011 Avoid asking for passphrase on junky PEM input 2017-11-27 15:25:03 -05:00
trove-2017-012-part1 Use local descriptor object to exclude self in path selection 2017-11-28 19:14:10 -05:00
trove-2017-012-part2 Guard: Don't pick ourselves as a possible Guard 2017-11-28 19:12:56 -05:00
trove-2018-001.1 Correctly handle NULL returns from parse_protocol_list when voting. 2018-03-01 16:05:17 -05:00
trove-2018-004 Add another NULL-pointer fix for protover.c. 2018-03-01 16:05:17 -05:00