Nick Mathewson
63325c0596
Add a chutney mode to travis.yml.
2019-06-12 08:55:38 -04:00
David Goulet
ea14fb136c
Merge branch 'tor-github/pr/1050' into maint-0.4.1
2019-06-11 11:29:46 -04:00
Nick Mathewson
5068ccab0b
Add a changes file for ticket 30686.
2019-06-11 11:29:23 -04:00
Nick Mathewson
afa2c39baa
Merge branch 'maint-0.3.5' into maint-0.4.0
2019-06-11 10:17:18 -04:00
Nick Mathewson
ce89fe36c8
Merge branch 'maint-0.4.0' into maint-0.4.1
2019-06-11 10:17:18 -04:00
Nick Mathewson
b0fa1f4fb0
Merge branch 'maint-0.2.9' into maint-0.3.5
2019-06-11 10:17:17 -04:00
Karsten Loesing
0ec4ebd00d
Update geoip and geoip6 to the June 10 2019 database.
2019-06-11 16:12:50 +02:00
Nick Mathewson
29842f68e7
Merge remote-tracking branch 'tor-github/pr/1082' into maint-0.4.1
2019-06-11 08:41:48 -04:00
George Kadianakis
eab9dc06af
Merge branch 'tor-github/pr/1065' into maint-0.4.1
2019-06-11 13:48:10 +03:00
teor
dcb8cad4e6
Merge remote-tracking branch 'tor-github/pr/1094' into maint-0.3.5
2019-06-11 14:51:46 +10:00
teor
a742a80eea
Merge remote-tracking branch 'tor-github/pr/1091' into maint-0.3.5
2019-06-11 14:51:37 +10:00
teor
202ccc3930
Merge remote-tracking branch 'tor-github/pr/990' into maint-0.3.5
2019-06-11 14:48:52 +10:00
teor
a58c4cc6dd
Merge remote-tracking branch 'tor-github/pr/971' into maint-0.3.5
2019-06-11 14:47:40 +10:00
teor
cb20054ccd
Merge remote-tracking branch 'tor-github/pr/924' into maint-0.3.5
2019-06-11 14:46:24 +10:00
Nick Mathewson
5b07ff4011
Merge branch 'maint-0.4.0' into maint-0.4.1
2019-06-10 18:44:31 -04:00
Nick Mathewson
c8447f95ec
Merge remote-tracking branch 'tor-github/pr/1094' into maint-0.4.0
2019-06-10 18:44:20 -04:00
Nick Mathewson
6a72cc2598
Merge branch 'maint-0.4.0' into maint-0.4.1
2019-06-10 18:33:26 -04:00
Nick Mathewson
765e4364d9
Merge remote-tracking branch 'tor-github/pr/1064' into maint-0.4.1
2019-06-10 09:37:17 -04:00
teor
430dd2da6e
Merge branch 'bug30713_035' into bug30713_040
2019-06-10 20:50:53 +10:00
teor
be0a4be276
Travis: Skip test_rebind on macOS builds
...
Skip test_rebind when the TOR_SKIP_TEST_REBIND environmental variable
is set.
Skip test_rebind on macOS in Travis builds, because it is unreliable
on macOS on Travis.
Fixes bug 30713; bugfix on 0.3.5.1-alpha.
2019-06-10 20:49:59 +10:00
teor
d761c3ca6d
Travis: allow the test-stem job to fail
...
Allow the test-stem job to fail in Travis, because it sometimes hangs.
Fixes bug 30744; bugfix on 0.3.5.4-alpha.
2019-06-10 19:18:35 +10:00
teor
c7fc53c2e7
Merge branch 'bug30781_040' into bug30781_master
2019-06-06 09:57:31 +10:00
teor
fb3f461406
Merge branch 'bug30781_035' into bug30781_040
2019-06-06 09:56:50 +10:00
teor
c8c2e2b8fc
Merge branch 'bug30781_034' into bug30781_035
...
Moved fix from src/or/routerparse.c to src/feature/dirparse/routerparse.c.
2019-06-06 09:55:44 +10:00
teor
dc8e3cd5ce
Merge branch 'bug30781_029' into bug30781_034
2019-06-06 09:53:02 +10:00
teor
ba83c1e5cf
dirparse: Stop crashing when parsing unknown descriptor purpose annotations
...
We think this bug can only be triggered by modifying a local file.
Fixes bug 30781; bugfix on 0.2.0.8-alpha.
2019-06-06 09:51:24 +10:00
Nick Mathewson
6a6f7eb671
Merge remote-tracking branch 'tor-github/pr/988' into maint-0.4.0
2019-06-05 16:22:52 -04:00
Nick Mathewson
d63c17f2af
Merge remote-tracking branch 'tor-github/pr/989' into maint-0.4.0
2019-06-05 16:22:29 -04:00
Nick Mathewson
e51b57ee04
Merge remote-tracking branch 'tor-github/pr/952' into maint-0.4.0
2019-06-05 16:16:34 -04:00
Nick Mathewson
2300a619a5
Merge remote-tracking branch 'tor-github/pr/1039' into maint-0.4.0
2019-06-05 16:13:53 -04:00
Nick Mathewson
851e881f01
Merge remote-tracking branch 'tor-github/pr/971' into maint-0.4.0
2019-06-05 16:12:07 -04:00
Nick Mathewson
a56d7e37aa
Merge remote-tracking branch 'tor-github/pr/1020' into maint-0.4.0
2019-06-05 16:10:51 -04:00
Mike Perry
a6399da598
Bug 29034: Cleanup hs circuitmap when purpose changes.
...
Leave the other rend and hs_ident data around until circuit free, since code
may still try to inspect it after marking the circuit for close. The
circuitmap is the important thing to clean up, since repurposed
intropoints must be removed from this map to ensure validity.
2019-06-05 12:56:49 -07:00
Mike Perry
c525135dac
Bug 29034: Cleanup hs circuitmap when purpose changes.
...
Leave the other rend and hs_ident data around until circuit free, since code
may still try to inspect it after marking the circuit for close. The
circuitmap is the important thing to clean up, since repurposed
intropoints must be removed from this map to ensure validity.
2019-06-05 11:50:44 -07:00
Nick Mathewson
0982d01369
Start a changelog for 0.4.1.2-alpha
2019-06-05 09:24:18 -04:00
Nick Mathewson
b39a8d315d
Merge remote-tracking branch 'tor-github/pr/1053'
2019-06-05 09:04:09 -04:00
Nick Mathewson
0c16ec4c07
Merge branch 'bug30286_2_squashed'
2019-06-05 08:32:39 -04:00
George Kadianakis
8cb6b2b9ab
Fix typo in #29670 changes file.
2019-06-05 14:56:28 +03:00
George Kadianakis
99bf3d8e14
Merge branch 'tor-github/pr/1072'
2019-06-05 14:40:38 +03:00
David Goulet
a63c5f844b
Merge branch 'tor-github/pr/1067'
2019-06-04 09:57:03 -04:00
Nick Mathewson
4022b6d6b7
Merge branch 'bug29670_035' into bug29670_041
2019-06-04 08:29:05 -04:00
David Goulet
33382184b6
sendme: Do not decrement window in a log_debug()
...
If "Log debug ..." is not set, the decrement never happens. This lead to the
package/deliver window to be out of sync at the stream level and thus breaking
the connection after 50+ cells.
Fixes #30628
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-06-03 14:31:51 -04:00
Nick Mathewson
fd8beab4dd
Merge branch 'bug29875_035' into bug29875_master
2019-05-31 12:40:43 -04:00
Nick Mathewson
c09e7a4e71
changes file for bug 29875.
2019-05-31 12:39:52 -04:00
Nick Mathewson
70b85358af
Fix a logic error in deciding whether to accept SessionGroup=
...
Fixes bug 22619; bugfix on 0.2.7.2-alpha
2019-05-31 08:26:10 -04:00
rl1987
5d4b4f948a
Mention Travis/Appveyor/Jenkins URLs in ReleasingTor.md
2019-05-31 09:35:19 +03:00
Mike Perry
9bef75a29a
Bug 30649: Changes file.
2019-05-30 15:28:21 -07:00
George Kadianakis
dd62cb788e
Merge branch 'tor-github/pr/1059'
2019-05-30 21:01:59 +03:00
David Goulet
8dfc8d7063
Merge branch 'tor-github/pr/1057'
2019-05-30 12:58:35 -04:00
Nick Mathewson
8f3430fc28
changes file for 30629
2019-05-30 12:58:12 -04:00
David Goulet
a462ca7cce
Merge branch 'tor-github/pr/1055'
2019-05-30 12:53:52 -04:00
David Goulet
ef9170db4c
Merge branch 'tor-github/pr/1054'
2019-05-30 09:59:21 -04:00
David Goulet
61bd8f428b
Merge branch 'tor-github/pr/1049'
2019-05-30 09:56:18 -04:00
teor
cdda69ca8a
Travis: only run the stem tests that use a tor binary
...
Closes ticket 30694.
2019-05-30 20:05:03 +10:00
George Kadianakis
d8bd98b2fd
Merge branch 'tor-github/pr/1032'
2019-05-29 21:28:04 +03:00
George Kadianakis
70553a9134
Merge branch 'tor-github/pr/1037'
2019-05-29 21:25:32 +03:00
George Kadianakis
650bdca97f
Merge branch 'maint-0.4.0'
2019-05-29 21:20:02 +03:00
George Kadianakis
00108b75d4
Merge branch 'tor-github/pr/924' into maint-0.4.0
2019-05-29 21:19:56 +03:00
Nick Mathewson
5cbd71b977
Make get_proxy_type() connection-specific
...
Previously, we were looking at our global settings to see what kind
of proxy we had. But doing this would sometimes give us the wrong
results when we had ClientTransportPlugin configured but we weren't
using it for a particular connection. In several places in the
code, we had added checks to see if we were _really_ using a PT or
whether we were using a socks proxy, but we had forgotten to do so
in at least once case. Instead, since every time we call this
function we are asking about a single connection, it is probably
best just to make this function connection-specific.
Fixes bug 29670; bugfix on 0.2.6.2-alpha.
2019-05-29 11:00:09 -04:00
Nick Mathewson
2d66250d8a
Remove want_cmddata from HSFETCH, which does not in fact want data
...
This looks a copy-and-paste error to me. Fixes bug 30646; bugfix on
0.4.1.1-alpha.
2019-05-29 10:10:57 -04:00
Nick Mathewson
8f0b29961e
Merge branch 'ticket30561_029' into ticket30561_035
2019-05-29 09:43:20 -04:00
David Goulet
3789f22bcb
hs: Implement a helper to repurpose a circuit
...
When we repurpose a hidden service circuit, we need to clean up from the HS
circuit map and any HS related data structured contained in the circuit.
This commit adds an helper function that does it when repurposing a hidden
service circuit.
Fixes #29034
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-29 09:40:13 -04:00
Nick Mathewson
0e0cf4abd8
Tweak comments in tor_vasprintf(), and add a changes file for 30651
2019-05-29 09:38:57 -04:00
Nick Mathewson
bdf685e476
Changes file for bug 30614
2019-05-29 09:05:26 -04:00
David Goulet
ff9aa32143
Merge branch 'tor-github/pr/1047'
2019-05-28 14:59:07 -04:00
teor
9eb221b2d2
Travis: make stem log a controller trace, and tail stem's tor log
...
In Travis, make stem log a controller trace to the console.
And tail stem's tor log after failure.
Closes ticket 30591.
2019-05-28 10:20:36 +10:00
George Kadianakis
0a86f14add
Merge branch 'tor-github/pr/1042'
2019-05-27 14:22:01 +03:00
George Kadianakis
130eb227ac
Merge branch 'tor-github/pr/1043'
2019-05-27 14:20:51 +03:00
Nick Mathewson
0bc1241494
Make sure that we send at least some random data in RELAY_DATA cells
...
Proposal 289 prevents SENDME-flooding by requiring the other side to
authenticate the data it has received. But this data won't actually
be random if they are downloading a known resource. "No problem",
we said, "let's fell the empty parts of our cells with some
randomness!" and we did that in #26871 .
Unfortunately, if the relay data payloads are all completely full,
there won't be any empty parts for us to randomize.
Therefore, we now pick random "randomness windows" between
CIRCWINDOW_INCREMENT/2 and CIRCWINDOW_INCREMENT. We remember whether we have
sent a cell containing at least 16 bytes of randomness in that window. If we
haven't, then when the window is exhausted, we send one. (This window approach
is designed to lower the number of rng checks we have to do. The number 16 is
pulled out of a hat to change the attacker's guessing difficulty to
"impossible".)
Implements 28646.
2019-05-27 14:20:07 +03:00
Nick Mathewson
6d9e47702f
changes file for test coverage
2019-05-24 07:42:59 -04:00
David Goulet
29955f13e5
Merge branch 'tor-github/pr/1022'
2019-05-23 09:50:28 -04:00
David Goulet
e13e2012b9
Merge branch 'tor-github/pr/1034'
2019-05-23 09:40:07 -04:00
David Goulet
327bb0e2ca
Merge branch 'tor-github/pr/988'
2019-05-23 09:30:36 -04:00
Nick Mathewson
57ee0e3af9
Only reject POSTDESCRIPTOR purpose= when the purpose is unrecognized
...
Fixes bug 30580; bugfix on 0.4.1.1-alpha.
2019-05-23 08:24:29 -04:00
Nick Mathewson
fa57b6cfb0
Fold last entry into changelog
2019-05-22 12:00:20 -04:00
Nick Mathewson
24c2502070
Merge remote-tracking branch 'dgoulet/ticket30454_035_01'
2019-05-22 11:50:46 -04:00
David Goulet
245dccb77d
Merge remote-tracking branch 'nickm/ticket30454_034_01_squashed' into ticket30454_035_01
2019-05-22 11:43:55 -04:00
Nick Mathewson
e2d3d44496
Add a new "autostyle" make target to run all of our reformatting
...
Closes ticket 30539.
2019-05-20 12:08:30 -04:00
David Goulet
9f52b87518
hs: Add changes file for #30454
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-20 08:56:34 -04:00
Nick Mathewson
aa4f2f7397
Initial changelog draft for 0.4.1.1-alpha (mostly automated)
2019-05-17 10:12:07 -04:00
Nick Mathewson
37aae23945
OOM-purge the DNS cache one part at a time
...
Previously we purged it in 1-hour increments -- but one-hour is the
maximum TTL for the cache! Now we do it in 25%-TTL increments.
Fixes bug 29617; bugfix on 0.3.5.1-alpha.
2019-05-17 10:03:41 -04:00
Nick Mathewson
b2b779228d
Merge remote-tracking branch 'tor-github/pr/1033'
2019-05-17 08:18:20 -04:00
Nick Mathewson
9cec7a7b5c
Merge branch 'maint-0.4.0'
2019-05-17 08:10:17 -04:00
Nick Mathewson
e5deb2bbc7
Merge branch 'maint-0.3.4' into maint-0.3.5
2019-05-17 08:10:16 -04:00
Nick Mathewson
c7f9f7e542
Merge branch 'maint-0.3.5' into maint-0.4.0
2019-05-17 08:10:16 -04:00
Nick Mathewson
a521c42788
Merge branch 'maint-0.2.9' into maint-0.3.4
2019-05-17 08:10:15 -04:00
Karsten Loesing
4e262196a8
Update geoip and geoip6 to the May 13 2019 database.
2019-05-17 08:52:13 +02:00
Mike Perry
1a79bedd97
Changes file.
2019-05-16 20:25:25 +00:00
Nick Mathewson
6246f4539e
changes file for coverity fixes in tests (30150)
2019-05-16 15:38:08 -04:00
George Kadianakis
338cfb3179
Merge branch 'tor-github/pr/1002'
2019-05-15 23:23:18 +03:00
David Goulet
39a14421b1
Merge branch 'tor-github/pr/1021'
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-15 15:35:22 -04:00
George Kadianakis
d71fa707dd
Merge branch 'bug28780-squashed3-rebased' into bug28780_rebase
2019-05-15 16:46:51 +03:00
Mike Perry
5cc988a947
Bug 28780: Changes file
2019-05-15 16:44:59 +03:00
George Kadianakis
a7779df84c
Merge branch 'bug29085_rebase'
2019-05-15 15:13:08 +03:00
Mike Perry
5ef0d89d91
Bug 29085: Changes file.
2019-05-15 15:10:48 +03:00
Nick Mathewson
9e5c27bd2c
changes file for ticket 28878
2019-05-15 07:50:56 -04:00
George Kadianakis
1de11dc47a
Merge branch 'maint-0.4.0'
2019-05-15 13:46:20 +03:00
George Kadianakis
cd264e145b
Merge branch 'tor-github/pr/1013' into maint-0.4.0
2019-05-15 13:45:39 +03:00
Nick Mathewson
1c95bdb83b
Merge branch 'ticket30452_035_v3' into ticket30452_041_v3
2019-05-14 19:20:53 -04:00
Nick Mathewson
1b16fcb70c
Add a --list-modules command
...
Closes ticket 30452.
2019-05-14 19:19:53 -04:00
Nick Mathewson
43d4119454
Merge remote-tracking branch 'tor-github/pr/1004'
2019-05-14 11:43:10 -04:00
Nick Mathewson
9ad2eb8f73
Merge branch 'bug28683_30173_29203_squashed'
2019-05-13 14:33:31 -04:00
Mike Perry
0d275ec592
Changes file for bugs28693+30173+29203.
2019-05-13 14:30:35 -04:00
Nick Mathewson
c6523a6398
Merge remote-tracking branch 'tor-github/pr/998'
2019-05-13 14:25:54 -04:00
David Goulet
2f44786e30
Merge branch 'tor-github/pr/976'
2019-05-13 07:34:00 -04:00
rl1987
0a4e68e4e2
Add changes file
2019-05-11 19:03:46 +03:00
Nick Mathewson
ff55840343
Don't pass a NULL into a %s when logging client auth file load failure
...
Fortunately, in 0.3.5.1-alpha we improved logging for various
failure cases involved with onion service client auth.
Unfortunately, for this one, we freed the file right before logging
its name.
Fortunately, tor_free() sets its pointer to NULL, so we didn't have
a use-after-free bug.
Unfortunately, passing NULL to %s is not defined.
Fortunately, GCC 9.1.1 caught the issue!
Unfortunately, nobody has actually tried building Tor with GCC 9.1.1
before. Or if they had, they didn't report the warning.
Fixes bug 30475; bugfix on 0.3.5.1-alpha.
2019-05-10 17:47:43 -04:00
George Kadianakis
501d1ae0bd
Merge branch 'tor-github/pr/973'
2019-05-10 12:49:01 +03:00
David Goulet
3885e7b44b
Merge branch 'tor-github/pr/1000'
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-08 08:02:28 -04:00
Neel Chauhan
3cafdeb8c0
Only call tor_addr_parse() in circuit_is_acceptable() when needed
2019-05-07 11:52:56 -04:00
David Goulet
b72f5da03d
Merge branch 'tor-github/pr/994'
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-07 08:02:39 -04:00
Nick Mathewson
c8c64caf37
Merge remote-tracking branch 'tor-github/pr/923'
2019-05-06 17:16:37 -04:00
Nick Mathewson
3c2648bbda
Move "relay" and "router" periodic callbacks out of mainloop.c
...
(Some of these callbacks are specific to the OR module, so now it's
time to have an or_sys and or_periodic.)
2019-05-06 16:35:39 -04:00
George Kadianakis
e9769d6217
Hiding crypt_path_t: Add changes file.
2019-05-06 17:54:51 +03:00
David Goulet
b3492d53c3
Merge branch 'tor-github/pr/984'
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-03 10:56:12 -04:00
George Kadianakis
b2c2cb9287
Merge branch 'tor-github/pr/986'
2019-05-02 18:12:52 +03:00
David Goulet
562bcbcfc2
sendme: Add changes file for prop289
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-02 11:10:41 -04:00
George Kadianakis
4d461e20f7
Merge branch 'tor-github/pr/999'
2019-05-02 17:48:09 +03:00
Nick Mathewson
ee36bfa6de
Changes file for improved dirauth modularity (ticket 30345)
2019-05-02 09:22:13 -04:00
Nick Mathewson
3d13841fa5
Remove changes files that are already in 0.4.0.5 or earlier
2019-05-02 08:42:01 -04:00
Nick Mathewson
0a2b96cae6
Merge remote-tracking branch 'tor-github/pr/989'
2019-05-02 08:36:09 -04:00
Mike Perry
332617a81a
Changes file for bug29231.
2019-05-01 21:03:23 +00:00
Nick Mathewson
4973ceb46b
Merge remote-tracking branch 'tor-github/pr/950'
2019-05-01 09:11:20 -04:00
Nick Mathewson
309467c64e
Rename tor_mem_is_zero to fast_mem_is_zero()
...
For memeq and friends, "tor_" indicates constant-time and "fast_"
indicates optimized. I'm fine with leaving the constant-time
"safe_mem_is_zero" with its current name, but the "tor_" prefix on
the current optimized version is misleading.
Also, make the tor_digest*_is_zero() uniformly constant-time, and
add a fast_digest*_is_zero() version to use as needed.
A later commit in this branch will fix all the users of
tor_mem_is_zero().
Closes ticket 30309.
2019-04-30 14:45:51 -04:00
Taylor Yu
0900367996
Changes file for ticket30007
2019-04-30 13:18:46 -05:00
George Kadianakis
847fc3280d
Merge branch 'maint-0.4.0'
2019-04-30 19:26:30 +03:00
George Kadianakis
e1d4e2badb
Merge branch 'tor-github/pr/978' into maint-0.4.0
2019-04-30 19:26:14 +03:00
George Kadianakis
f2800b53ad
Merge branch 'tor-github/pr/985'
2019-04-30 19:25:32 +03:00
George Kadianakis
d885ed867f
Merge branch 'tor-github/pr/937'
2019-04-30 19:21:46 +03:00
George Kadianakis
9084a90b00
Merge branch 'tor-github/pr/936'
2019-04-30 19:21:15 +03:00
George Kadianakis
a44aca5453
Merge branch 'tor-github/pr/993'
2019-04-30 19:13:57 +03:00
George Kadianakis
86f8dfe419
Merge branch 'tor-github/pr/983'
2019-04-30 19:13:30 +03:00
David Goulet
43c119fedb
Merge branch 'tor-github/pr/980'
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-30 11:50:36 -04:00
David Goulet
e543c4e20c
Merge branch 'tor-github/pr/909'
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-30 11:17:45 -04:00
Nick Mathewson
7e03500eef
Changes file for periodic event movement
2019-04-30 11:14:59 -04:00
Nick Mathewson
48e1ab1720
Changes file for 29732.
2019-04-30 11:11:39 -04:00
rl1987
b05b165a75
Add changes file
2019-04-30 09:16:36 +03:00
rl1987
6b2d8b1a7c
Add changes file
2019-04-30 09:15:35 +03:00
rl1987
1218546296
Add changes file
2019-04-30 09:11:17 +03:00
Nick Mathewson
821dd54586
Merge branch 'bug30316_035' into bug30316_040
...
Fixes conflicts and also moves bandwidth-file-digest.
2019-04-29 14:34:03 -04:00
Nick Mathewson
0ab4dc7ef7
Move bandwidth-file-headers line to appear in the correct vote section
...
Fixes bug 30316; bugfix on 0.3.5.1-alpha.
2019-04-29 14:31:09 -04:00
Nick Mathewson
44e6663b8a
Merge remote-tracking branch 'tor-github/pr/972'
2019-04-29 13:36:35 -04:00
Nick Mathewson
206d28ff15
Merge branch 'maint-0.4.0'
2019-04-29 10:15:11 -04:00
Nick Mathewson
593d29920e
Merge remote-tracking branch 'tor-github/pr/974' into maint-0.4.0
2019-04-29 10:15:03 -04:00
rl1987
6d347fe329
Remove obsolete OpenSUSE initscript
2019-04-27 10:33:33 +03:00
Nick Mathewson
806539b40a
Use fast check for missing id in node_is_a_configured_bridge()
...
Fixes bug 30308; bugfix on 0.3.5.1-alpha.
2019-04-26 11:19:46 -04:00
Nick Mathewson
650b94ebc1
Use a linear algorithm to subtract two nodelists.
...
The nodelist_idx for each node_t serves as a unique identifier for
the node, so we can use a bitarray to hold all the excluded
nodes, and then remove them from the smartlist.
Previously use used smartlist_subtract(sl, excluded), which is
O(len(sl)*len(excluded)).
We can use this function in other places too, but this is the one
that showed up on the profiles of 30291.
Closes ticket 30307.
2019-04-26 11:04:44 -04:00
Nick Mathewson
efeb101b96
Merge remote-tracking branch 'tor-github/pr/889'
2019-04-25 20:25:34 -04:00
Nick Mathewson
3ed7ceeb85
changes file for ticket 30091 (controller parsing refactor)
2019-04-25 14:13:03 -04:00
Nick Mathewson
dbfe1a14e4
When parsing a multiline controller command, be careful with linebreaks
...
The first line break in particular was mishandled: it was discarded
if no arguments came before it, which made it impossible to
distinguish arguments from the first line of the body.
To solve this, we need to allocate a copy of the command rather than
using NUL to separate it, since we might have "COMMAND\n" as our input.
Fixes ticket 29984.
2019-04-25 14:13:03 -04:00