David Goulet
938070f5c4
dirauth: Change dizum IP address
...
Closes #40687
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-10-18 10:35:54 -04:00
David Goulet
e86833ade6
Merge branch 'maint-0.4.5' into maint-0.4.7
2022-10-14 09:12:23 -04:00
Nick Mathewson
e531d4d1b9
Fix a completely wrong calculation in mach monotime_init_internal()
...
Bug 1: We were purporting to calculate milliseconds per tick, when we
*should* have been computing ticks per millisecond.
Bug 2: Instead of computing either one of those, we were _actually_
computing femtoseconds per tick.
These two bugs covered for one another on x86 hardware, where 1 tick
== 1 nanosecond. But on M1 OSX, 1 tick is about 41 nanoseconds,
causing surprising results.
Fixes bug 40684; bugfix on 0.3.3.1-alpha.
2022-10-13 13:40:10 -04:00
David Goulet
d543db5ac0
relay: Add connection stats to MetricsPort
...
This adds the number of created and opened connections to the
MetricsPort for a relay for each connection type and direction.
Output looks like:
# HELP tor_relay_connections Connections metrics of this relay
# TYPE tor_relay_connections counter
tor_relay_connections{type="OR listener",direction="initiated",state="created"} 0
tor_relay_connections{type="OR listener",direction="received",state="created"} 0
tor_relay_connections{type="OR listener",direction="initiated",state="opened"} 0
tor_relay_connections{type="OR listener",direction="received",state="opened"} 0
tor_relay_connections{type="OR",direction="initiated",state="created"} 5
tor_relay_connections{type="OR",direction="received",state="created"} 0
tor_relay_connections{type="OR",direction="initiated",state="opened"} 5
tor_relay_connections{type="OR",direction="received",state="opened"} 0
tor_relay_connections{type="Exit",direction="initiated",state="created"} 0
tor_relay_connections{type="Exit",direction="received",state="created"} 0
tor_relay_connections{type="Exit",direction="initiated",state="opened"} 0
tor_relay_connections{type="Exit",direction="received",state="opened"} 0
tor_relay_connections{type="Socks listener",direction="initiated",state="created"} 0
tor_relay_connections{type="Socks listener",direction="received",state="created"} 0
tor_relay_connections{type="Socks listener",direction="initiated",state="opened"} 0
tor_relay_connections{type="Socks listener",direction="received",state="opened"} 0
tor_relay_connections{type="Socks",direction="initiated",state="created"} 0
tor_relay_connections{type="Socks",direction="received",state="created"} 0
tor_relay_connections{type="Socks",direction="initiated",state="opened"} 0
tor_relay_connections{type="Socks",direction="received",state="opened"} 0
tor_relay_connections{type="Directory listener",direction="initiated",state="created"} 0
tor_relay_connections{type="Directory listener",direction="received",state="created"} 0
tor_relay_connections{type="Directory listener",direction="initiated",state="opened"} 0
tor_relay_connections{type="Directory listener",direction="received",state="opened"} 0
tor_relay_connections{type="Directory",direction="initiated",state="created"} 0
tor_relay_connections{type="Directory",direction="received",state="created"} 0
tor_relay_connections{type="Directory",direction="initiated",state="opened"} 0
tor_relay_connections{type="Directory",direction="received",state="opened"} 0
tor_relay_connections{type="Control listener",direction="initiated",state="created"} 0
tor_relay_connections{type="Control listener",direction="received",state="created"} 0
tor_relay_connections{type="Control listener",direction="initiated",state="opened"} 0
tor_relay_connections{type="Control listener",direction="received",state="opened"} 0
tor_relay_connections{type="Control",direction="initiated",state="created"} 0
tor_relay_connections{type="Control",direction="received",state="created"} 0
tor_relay_connections{type="Control",direction="initiated",state="opened"} 0
tor_relay_connections{type="Control",direction="received",state="opened"} 0
tor_relay_connections{type="Transparent pf/netfilter listener",direction="initiated",state="created"} 0
tor_relay_connections{type="Transparent pf/netfilter listener",direction="received",state="created"} 0
tor_relay_connections{type="Transparent pf/netfilter listener",direction="initiated",state="opened"} 0
tor_relay_connections{type="Transparent pf/netfilter listener",direction="received",state="opened"} 0
tor_relay_connections{type="Transparent natd listener",direction="initiated",state="created"} 0
tor_relay_connections{type="Transparent natd listener",direction="received",state="created"} 0
tor_relay_connections{type="Transparent natd listener",direction="initiated",state="opened"} 0
tor_relay_connections{type="Transparent natd listener",direction="received",state="opened"} 0
tor_relay_connections{type="DNS listener",direction="initiated",state="created"} 0
tor_relay_connections{type="DNS listener",direction="received",state="created"} 0
tor_relay_connections{type="DNS listener",direction="initiated",state="opened"} 0
tor_relay_connections{type="DNS listener",direction="received",state="opened"} 0
tor_relay_connections{type="Extended OR",direction="initiated",state="created"} 0
tor_relay_connections{type="Extended OR",direction="received",state="created"} 0
tor_relay_connections{type="Extended OR",direction="initiated",state="opened"} 0
tor_relay_connections{type="Extended OR",direction="received",state="opened"} 0
tor_relay_connections{type="Extended OR listener",direction="initiated",state="created"} 0
tor_relay_connections{type="Extended OR listener",direction="received",state="created"} 0
tor_relay_connections{type="Extended OR listener",direction="initiated",state="opened"} 0
tor_relay_connections{type="Extended OR listener",direction="received",state="opened"} 0
tor_relay_connections{type="HTTP tunnel listener",direction="initiated",state="created"} 0
tor_relay_connections{type="HTTP tunnel listener",direction="received",state="created"} 0
tor_relay_connections{type="HTTP tunnel listener",direction="initiated",state="opened"} 0
tor_relay_connections{type="HTTP tunnel listener",direction="received",state="opened"} 0
tor_relay_connections{type="Metrics listener",direction="initiated",state="created"} 0
tor_relay_connections{type="Metrics listener",direction="received",state="created"} 1
tor_relay_connections{type="Metrics listener",direction="initiated",state="opened"} 0
tor_relay_connections{type="Metrics listener",direction="received",state="opened"} 1
tor_relay_connections{type="Metrics",direction="initiated",state="created"} 0
tor_relay_connections{type="Metrics",direction="received",state="created"} 0
tor_relay_connections{type="Metrics",direction="initiated",state="opened"} 0
tor_relay_connections{type="Metrics",direction="received",state="opened"} 0
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-10-12 09:25:19 -04:00
Andy
d09414858e
Properly compute cell-drop overload fraction
...
Patch to address #40673 . An additional check has been added to
onion_pending_add() in order to ensure that we avoid counting create
cells from clients.
In the cpuworker.c assign_onionskin_to_cpuworker
method if total_pending_tasks >= max_pending_tasks
and channel_is_client(circ->p_chan) returns false then
rep_hist_note_circuit_handshake_dropped() will be called and
rep_hist_note_circuit_handshake_assigned() will not be called. This
causes relays to run into errors due to the fact that the number of
dropped packets exceeds the total number of assigned packets.
To avoid this situation a check has been added to
onion_pending_add() to ensure that these erroneous calls to
rep_hist_note_circuit_handshake_dropped() are not made.
See the #40673 ticket for the conversation with armadev about this issue.
2022-10-06 00:46:29 -04:00
David Goulet
c4ff6a4f55
Merge branch 'maint-0.4.6' into maint-0.4.7
2022-08-12 09:56:54 -04:00
David Goulet
8244eefcd3
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-08-12 09:56:54 -04:00
David Goulet
bb88086c72
geoip: Update geoip files with August 9th, 2022 database
...
Fixes #40658
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-08-12 09:56:50 -04:00
David Goulet
9b4d3ed492
Merge branch 'maint-0.4.6' into maint-0.4.7
2022-08-11 09:44:47 -04:00
David Goulet
c65d8b2aad
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-08-11 09:44:47 -04:00
Tor CI Release
65ffb97c2f
fallbackdir: Update list generated on August 11, 2022
2022-08-11 09:44:39 -04:00
Tor CI Release
f9acdd0630
Update geoip files to match ipfire location db, 2022/08/11.
2022-08-11 09:44:32 -04:00
Mike Perry
9fb52305ee
Add changes file for bug40642.
2022-08-11 09:26:51 -04:00
Roger Dingledine
d48eaff86d
ignore families for L2 guard independence
...
mike is concerned that we would get too much exposure to adversaries,
if we enforce that none of our L2 guards can be in the same family.
this change set now essentially finishes the feature that commit a77727cdc
was attempting to add, but strips the "_and_family" part of that plan.
2022-08-09 16:39:26 -04:00
Roger Dingledine
7b1fffe0dd
make L2 vanguards actually independent
...
We had omitted some checks for whether our vanguards (second layer
guards from proposal 333) overlapped or came from the same family.
Now make sure to pick each of them to be independent.
Fixes bug 40639; bugfix on 0.4.7.1-alpha.
2022-08-09 14:47:11 -04:00
David Goulet
8bf1a86ae1
dirauth: Make voting flag threshold tunable via torrc
...
Remove UPTIME_TO_GUARANTEE_STABLE, MTBF_TO_GUARANTEE_STABLE,
TIME_KNOWN_TO_GUARANTEE_FAMILIAR WFU_TO_GUARANTEE_GUARD and replace each
of them with a tunnable torrc option.
Related to #40652
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-08-09 11:01:12 -04:00
David Goulet
681c15a32d
dirauth: Add a AuthDirVoteGuard to pin Guard flags
...
Related to #40652
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-08-04 13:32:56 -04:00
David Goulet
5cc6ab0c1e
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-08-02 16:14:02 -04:00
David Goulet
eee35adf74
Merge branch 'maint-0.4.6' into maint-0.4.7
2022-08-02 16:14:02 -04:00
David Goulet
10d755ead5
Merge branch 'tor-gitlab/mr/608' into maint-0.4.5
2022-08-02 16:13:58 -04:00
David Goulet
e69cf2340b
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-08-02 16:08:50 -04:00
David Goulet
645eff49ac
Merge branch 'maint-0.4.6' into maint-0.4.7
2022-08-02 16:08:50 -04:00
David Goulet
6fcae8e0d0
relay: Don't send DESTROY remote reason backward or forward
...
Fixes #40649
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-08-02 15:53:31 -04:00
Mike Perry
af5ef98d1b
Changes file for bug 40644.
2022-08-02 18:13:46 +00:00
David Goulet
0c984e0ec2
conn: Notify btrack subsys on normal OR conn close
...
Fixes #40604
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-08-01 10:58:40 -04:00
David Goulet
e618a7e445
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-07-27 11:33:19 -04:00
David Goulet
7654e12be8
Merge branch 'maint-0.4.6' into maint-0.4.7
2022-07-27 11:33:19 -04:00
Nick Mathewson
8e7bd96362
Fix a check, make a netflow padding function more safe.
...
Previously, `channelpadding_get_netflow_inactive_timeout_ms` would
crash with an assertion failure if `low_timeout` was greater than
`high_timeout`. That wasn't possible in practice because of checks
in `channelpadding_update_padding_for_channel`, but it's better not
to have a function whose correctness is this tricky to prove.
Fixes #40645 . Bugfix on 0.3.1.1-alpha.
2022-07-27 09:16:50 -04:00
David Goulet
5260b4ef34
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-07-26 16:16:04 -04:00
David Goulet
e98995bb08
Merge branch 'maint-0.4.6' into maint-0.4.7
2022-07-26 16:16:04 -04:00
David Goulet
8d8afc4efa
relay: Send DESTROY cell instead of TRUNCATED cell
...
Note that with this commit, TRUNCATED cells won't be used anymore that
is client and relays won't emit them.
Fixes #40623
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-07-26 14:01:21 -04:00
Tor CI Release
edde188cf2
release: ChangeLog and ReleaseNotes for 0.4.7.8
2022-06-17 10:10:16 -04:00
Tor CI Release
9cab60183d
fallbackdir: Update list generated on June 17, 2022
2022-06-17 10:04:15 -04:00
Tor CI Release
223886c118
Update geoip files to match ipfire location db, 2022/06/17.
2022-06-17 10:04:06 -04:00
Mike Perry
5a25374209
Add changes file for bug40626
2022-06-17 09:03:13 -04:00
Mike Perry
254ca6717f
Changes file for Bug 40612
2022-06-15 14:43:52 +00:00
Mike Perry
2ce5142718
Changes file for Bug #40603 .
2022-06-15 14:14:03 +00:00
David Goulet
dc7902ed55
Merge branch 'tor-gitlab/mr/583' into maint-0.4.7
2022-06-02 16:09:56 -04:00
Mike Perry
89a273e7f7
Bug 40620: Changes file
2022-06-02 18:54:11 +00:00
Alexander Færøy
4ba89c0ccc
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-05-09 14:37:26 +00:00
Alexander Færøy
5f2b75aafd
Merge branch 'maint-0.4.6' into maint-0.4.7
2022-05-09 14:37:26 +00:00
Alexander Færøy
c213c1b0d1
Add changes entry to tor!575.
...
See: tpo/core/tor#40601.
2022-05-09 14:35:42 +00:00
Tor CI Release
3ca370c8b1
release: ChangeLog and ReleaseNotes for 0.4.7.7
2022-04-27 10:00:27 -04:00
Tor CI Release
06ed65bd85
fallbackdir: Update list generated on April 27, 2022
2022-04-27 09:41:38 -04:00
Tor CI Release
2270648baa
Update geoip files to match ipfire location db, 2022/04/27.
2022-04-27 09:41:28 -04:00
Mike Perry
940e255fa8
Changes file for bug40598
2022-04-26 12:14:26 -04:00
David Goulet
32356a6076
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-04-14 09:37:46 -04:00
David Goulet
dc90226cc3
Merge branch 'tor-gitlab/mr/491' into maint-0.4.5
2022-04-14 09:37:43 -04:00
David Goulet
b33f69abb5
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-04-14 09:34:49 -04:00
David Goulet
9ac479ce1c
Merge branch 'tor-gitlab/mr/497' into maint-0.4.5
2022-04-14 09:34:46 -04:00
Tor CI Release
0d90b0e5d1
release: ChangeLog and ReleaseNotes for 0.4.7.6-rc
2022-04-07 09:04:39 -04:00
Tor CI Release
133c64075b
fallbackdir: Update list generated on April 07, 2022
2022-04-07 09:00:46 -04:00
Tor CI Release
28193dbf9d
Update geoip files to match ipfire location db, 2022/04/07.
2022-04-07 09:00:42 -04:00
David Goulet
62fb184979
Merge branch 'maint-0.4.6'
2022-03-28 09:45:16 -04:00
David Goulet
d14af825ce
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-03-28 09:45:16 -04:00
David Goulet
b882b8d5d4
Merge branch 'tor-gitlab/mr/556' into maint-0.4.5
2022-03-28 09:44:31 -04:00
Nick Mathewson
de3872656a
Sandbox: Permit the clone3 system call
...
Apparently glibc-2.34 uses clone3, when previously it just used
clone.
Closes ticket #40590 .
2022-03-27 18:34:25 -04:00
Tor CI Release
9fdf02f1eb
release: ChangeLog and ReleaseNotes for 0.4.7.5-alpha
2022-03-25 09:19:07 -04:00
Tor CI Release
9e5676031d
fallbackdir: Update list generated on March 25, 2022
2022-03-25 09:11:19 -04:00
Tor CI Release
aaac633eb0
Update geoip files to match ipfire location db, 2022/03/25.
2022-03-25 09:10:16 -04:00
Nick Mathewson
8fcdc4c63f
Light editing to changes entries for 0.4.7.5-alpha
2022-03-24 11:41:20 -04:00
David Goulet
dd63e8cf9d
hs: Transfer ccontrol from circuit to cpath
...
Once the cpath is finalized, e2e encryption setup, transfer the ccontrol
from the rendezvous circuit to the cpath.
This allows the congestion control subsystem to properly function for
both upload and download side of onion services.
Closes #40586
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-16 14:03:27 -04:00
David Goulet
347eaa32bf
relay: Lower DNS Exit-side timeout
...
Introduces two new consensus parameter:
exit_dns_timeout: Number of seconds before libevent should consider
the DNS request a timeout.
exit_dns_num_attempts: Number of attempts that libeven should retry a
previously failing query before calling it a timeout.
Closes #40312
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-15 15:26:19 -04:00
David Goulet
17a8b3c735
Merge branch 'tor-gitlab/mr/547'
2022-03-15 15:16:30 -04:00
David Goulet
9841e7173d
changes: Add changes file for ticket 40560
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-15 13:54:05 -04:00
David Goulet
1760a12f83
dns: Wake up a dormant tor with a DNSPort request
...
Fixes #40577
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-15 12:12:57 -04:00
David Goulet
1934e24469
Merge branch 'tor-gitlab/mr/546'
2022-03-14 15:17:05 -04:00
Mike Perry
9f0b0afa2e
Changes file for #40568
2022-03-14 15:16:26 -04:00
David Goulet
df6625300d
Merge branch 'tor-gitlab/mr/543'
2022-03-11 09:29:41 -05:00
David Goulet
be80383a7c
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-03-10 09:18:57 -05:00
David Goulet
c076ac787f
Merge branch 'maint-0.4.6'
2022-03-10 09:18:57 -05:00
David Goulet
254b23ab9d
hs: Schedule mainloop event on dirinfo change
...
Due to a possible Guard subsystem recursion, when the HS client gets
notified that the directory information has changed, it must run it in a
seperate mainloop event to avoid such issue.
See the ticket for more information on the recursion. This also fixes a
fatal assert.
Fixes #40579
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-10 08:58:26 -05:00
David Goulet
069b278601
hs: Don't BUG() when setting up RP congestion control
...
It is possible to not have the descriptor anymore by the time the
rendezvous circuit opens. Don't BUG() on that.
Instead, when sending the INTRODUCE1 cell, make sure the descriptor we
have (or have just fetched) matches what we setup in the rendezvous
circuit.
If not, the circuit is closed and another one is opened for a retry.
Fixes #40576
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-09 12:15:12 -05:00
David Goulet
472c7127c7
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-03-09 08:46:55 -05:00
David Goulet
9efb04bb3e
hs: Fix multiple port label on single metric
...
Prometheus needs unique labels and so this bug was causing an onion
service with multiple ports to have multiple "port=" label for the
metrics requiring a port label.
Fixes #40581
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-08 13:56:54 -05:00
David Goulet
f4aa985cf7
hs: Fix multiple port label on single metric
...
Prometheus needs unique labels and so this bug was causing an onion
service with multiple ports to have multiple "port=" label for the
metrics requiring a port label.
Fixes #40581
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-08 13:50:34 -05:00
Nick Mathewson
ecbab95998
Add a changes file for 40563.
2022-03-02 09:38:45 -05:00
Tor CI Release
a6b948d1cc
release: ChangeLog and ReleaseNotes for 0.4.7.4-alpha
2022-02-25 09:20:59 -05:00
Tor CI Release
211e093761
fallbackdir: Update list generated on February 25, 2022
2022-02-25 09:12:27 -05:00
Tor CI Release
a424f6c7bf
Update geoip files to match ipfire location db, 2022/02/25.
2022-02-25 09:11:55 -05:00
David Goulet
45416356ed
Merge branch 'tor-gitlab/mr/488'
2022-02-23 15:21:40 -05:00
Mike Perry
933e4b4788
Add changes file
2022-02-22 19:28:35 +00:00
David Goulet
d057f45c6c
Merge branch 'tor-gitlab/mr/531'
2022-02-16 13:59:37 -05:00
David Goulet
7eb5437878
dirauth: Reject EOL 0.3.5.x relays
...
Closes #40559
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-16 13:59:30 -05:00
David Goulet
ea48ddc955
dns: Do not trigger overload general on DNS timeout
...
This was missed in #40527 when the DNS timeout overload general signal
was removed.
Closes #40564
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-14 13:20:53 -05:00
David Goulet
763d72238d
kist: Don't try to flush empty outbuf
...
It is possible that a scheduled channel ended up with 0 bytes in its
outbuf after the scheduling loop and having an outbuf table entry
indicating that we need to flush bytes on the wire after the loop.
This lead to attempt to write 0 bytes up to the TLS layer that would
prevent such action.
All in all, this fixes wasted CPU cycles on attempting to flush nothing.
Fixes #40548
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-08 09:31:17 -05:00
Nick Mathewson
9e86491cf8
Add a changes file for exit notice redesign (40529)
2022-02-07 11:37:50 -05:00
David Goulet
d0d45a97d8
Merge branch 'maint-0.4.6'
2022-02-04 11:07:34 -05:00
David Goulet
728191fc2e
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-02-04 11:07:34 -05:00
Tor CI Release
6a6332a683
fallbackdir: Update list generated on February 04, 2022
2022-02-04 11:05:21 -05:00
Tor CI Release
5ab4fa9fd8
Update geoip files to match ipfire location db, 2022/02/04.
2022-02-04 11:05:13 -05:00
Tor CI Release
cfe022d01d
Update geoip files to match ipfire location db, 2021/12/15.
2022-02-04 10:56:29 -05:00
Tor CI Release
f03cab5dbb
fallbackdir: Update list generated on December 15, 2021
2022-02-04 10:17:10 -05:00
David Goulet
d6f643e4dd
changes: Remove uneeded file due to empty merge forward
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-03 08:31:49 -05:00
David Goulet
6b06803e0d
Merge branch 'maint-0.4.6'
2022-02-03 08:30:59 -05:00
David Goulet
a08b12568e
Merge branch 'maint-0.4.5' into maint-0.4.6
2022-02-03 08:30:40 -05:00
David Goulet
3c73622f27
hs: Double quote the metrics label value
...
Fixes #40552
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-03 08:30:23 -05:00
David Goulet
28881d0a92
fallbackdir: Update list generated on January 24, 2022
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-01-24 10:35:18 -05:00
David Goulet
324ded93be
geoip: Update to match ipfire location db, 2022/01/24.
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-01-24 10:31:43 -05:00
Nick Mathewson
935d7b5803
Resolve typedef conflict from congestion_control_t
...
Resumes being able to build on old / esoteric gcc versions.
Fixes bug 40550; bugfix on 0.4.7.1-alpha.
2022-01-20 14:22:00 -05:00