trinity-1686a
fa29925689
fix typos and minor issues
2022-03-14 21:16:56 +01:00
trinity-1686a
604362bf80
actually add DNS support
2022-03-14 21:04:38 +01:00
trinity-1686a
9b3be0ad47
add skeleton for DNS handling
2022-03-14 20:59:35 +01:00
trinity-1686a
4a44ef56c0
add udp to runtime
2022-03-14 20:59:33 +01:00
Nick Mathewson
8f430fd58d
Merge branch 'main' into 'intern-more'
...
# Conflicts:
# doc/semver_status.md
2022-03-14 14:19:44 +00:00
eta
c0baf86e52
Merge branch 'missing_shrink_to_fit' into 'main'
...
dirmgr: Call shrink_to_fit on missing-microdesc hashtable
Closes #388
See merge request tpo/core/arti!399
2022-03-14 13:20:57 +00:00
eta
258e42ad3e
Merge branch 'slice-from-ref' into 'main'
...
Simpify tor-netdoc TokVal
See merge request tpo/core/arti!404
2022-03-14 13:14:05 +00:00
Ian Jackson
8f5d089f53
Revert "humantime_serde_option: New module in tor-basic-utils"
...
We have upstreamed this code.
This reverts commit 6193c9d974
.
2022-03-14 10:33:59 +00:00
Ian Jackson
409c5dd6d2
Use new upstream humantime_serde_option feature
...
Replace all uses of our copy of this code.
2022-03-14 10:33:59 +00:00
Ian Jackson
8b8c2a426e
humantime: Update to humantime-serde 1.1.1
...
This has the humantime_serde::option module, which we have upstreamed
and are about to switch to.
The remaining dependency with version = "1" is going to be removed
in a moment.
2022-03-14 10:33:59 +00:00
Nick Mathewson
a98ae2a1f0
Canonicalize and intern protover lines on descriptors
...
This should save around 1MB per consensus, since every relay has a
'protocols' lines, but there are only a few distinct possibilities
for such a line.
Closes #385 .
2022-03-11 16:56:12 -05:00
Nick Mathewson
16f1bda324
Canonicalize and intern family representations to save memory.
...
This should save 1-3 MB of ram on each running arti client.
Closes #384 . See also tor#27359 and proposal 298.
2022-03-11 16:54:33 -05:00
Ian Jackson
927594c3a6
Merge branch 'arti-lib' into 'main'
...
arti: Move all code from binary crate to library crate
See merge request tpo/core/arti!403
2022-03-11 19:57:53 +00:00
Nick Mathewson
b835a48528
Merge branch 'smaller_routerstatus' into 'main'
...
tor-netdoc: Save allocation space in GenericRouterstatus
Closes #387
See merge request tpo/core/arti!400
2022-03-11 19:55:22 +00:00
Nick Mathewson
718a1ee340
Add a more generic implementation of intern-by-ref
2022-03-11 14:03:29 -05:00
Nick Mathewson
6f42c79654
netdoc: Call shrink_to_fit() when we're done parsing rs sections
...
(Once we're done parsing these, the vector will never get any
longer.)
2022-03-11 14:03:29 -05:00
Nick Mathewson
1c6c05fac3
netdoc: allocate no extra space for RouterStatus addresses.
...
This should save around 181K of heap on a current directory.
2022-03-11 14:03:29 -05:00
Nick Mathewson
e7c584f1b3
netdoc: Make versions smaller in GenericRouterStatus
...
When the version is a Tor version, we can just parse it; otherwise,
we can intern it. This shrinks GenericRouterStatus and avoids a lot
of extra help allocations.
2022-03-11 14:03:29 -05:00
Nick Mathewson
3c9093f294
tor-netdoc: reformat cargo.toml.
...
This is the default vscode format, and seems popular elsewhere.
This commit does nothing but reformat.
2022-03-11 14:03:29 -05:00
Nick Mathewson
da82c76399
tor-netdoc: Remove unused or_port field from RS.
...
Part of #387
2022-03-11 14:03:29 -05:00
Ian Jackson
888eea47b3
tor-netdoc: Actually, make TokVal be a Vec
...
This enum was otiose: its set of valid values is precisely those of a
Vec. (Indeed what would TokVal::Multi(vec![]) have meant?)
2022-03-11 18:42:01 +00:00
Ian Jackson
8226a68f7c
arti library crate: Add another note about panicking
2022-03-11 18:28:37 +00:00
Ian Jackson
3b7d37e218
arti library crate: re-add clippy lints
...
I ought to have c&p these.
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/403#note_2786099
2022-03-11 18:28:37 +00:00
Ian Jackson
4a9c660ce2
arti library crate: Add note about panicking
2022-03-11 18:28:37 +00:00
Ian Jackson
32fe5cdd5b
arti: Make main module entrypoints pub
...
This does not constitute any kind of stable API promise.
But it might allow people to use our arti client code in novel ways.
2022-03-11 18:28:15 +00:00
Ian Jackson
4ae5f11c20
arti: Provide some rubric docs.
2022-03-11 18:28:15 +00:00
Ian Jackson
e680960619
arti: Move all code from binary crate to library crate
...
This is just code motion and the minimal fixups.
2022-03-11 18:28:15 +00:00
Ian Jackson
9a7783a230
Remove a pointless slice
...
std::slice::from_ref exists. Spotted while reviewing !400
2022-03-11 18:24:03 +00:00
Ian Jackson
d320413912
Merge branch 'config-flatten' into 'main'
...
Make ArtiConfigBuilder contain a TorClientConfigBuilder
See merge request tpo/core/arti!401
2022-03-11 18:22:23 +00:00
Ian Jackson
f914eee6bc
rustfmt
2022-03-11 16:41:59 +00:00
Nick Mathewson
837c7d717b
Follow-up from arti!318
...
Make update_config only conditionally exported; add semver-status update.
2022-03-11 11:34:51 -05:00
Nick Mathewson
d95dce7c70
Merge branch 'add-flatfile-dirmgr' into 'main'
...
Add flatfile DirMgr
See merge request tpo/core/arti!318
2022-03-11 16:34:26 +00:00
Ian Jackson
1d281abaf8
Make ArtiConfigBuilder contain a TorClientConfigBuilder
...
This is an API break: now one must use `.tor()` to access the Tor
configuration parts.
But it is not a config file format break, because `#[serde(flatten)]`.
2022-03-11 16:18:27 +00:00
Ian Jackson
0bbee1e477
Make TorClientConfigBuilder Deserialize
...
As per #371
2022-03-11 16:18:22 +00:00
Christian Grigis
65486b185a
Expose APIs for external DirProvider
2022-03-11 13:44:48 +01:00
Nick Mathewson
d9c1555229
dirmgr: Call shrink_to_fit on missing-microdesc hashtable
...
This hashtable starts out pretty large, but it can spend most of our
runtime (when we aren't downloading) being small. To avoid doing
too much work, I've made it so we only call shrink_to_fit twice per
consensus: once when we're no longer pending, and once when we're
complete.
Closes #388 .
2022-03-10 11:48:58 -05:00
Ian Jackson
6761cf2b69
Merge branch 'config-no-retcon' into 'main'
...
Drop config back-conversion from FooConfig to FooConfigBuilder
See merge request tpo/core/arti!391
2022-03-10 14:47:01 +00:00
Nick Mathewson
98c5c5b824
Merge branch 'arti-testing-part2' into 'main'
...
arti-testing: support for simulated TCP breakage
See merge request tpo/core/arti!392
2022-03-10 14:08:44 +00:00
Nick Mathewson
d1b151436e
arti-testing: Make Action implement Copy
2022-03-10 08:45:56 -05:00
Christian Grigis
335af4ac30
Add methods to `UnverifiedConsensus`
2022-03-10 11:29:58 +01:00
eta
4f34f7cea8
Merge branch 'ticket_391' into 'main'
...
arti-bench: don't allocate a separate receive-buffer for each job
Closes #391
See merge request tpo/core/arti!395
2022-03-09 13:26:44 +00:00
Ian Jackson
3425a6cbcd
Merge branch 'ticket_383' into 'main'
...
tor-chanmgr: Do not allocate an Internal error unless we mean it.
Closes #383
See merge request tpo/core/arti!394
2022-03-09 11:30:08 +00:00
Nick Mathewson
26bdbc4b61
arti-bench: don't allocate a separate receive-buffer for each job
...
This makes heap profiling more viable.
Closes #391 .
2022-03-08 16:41:06 -05:00
Nick Mathewson
a110755193
tor-chanmgr: Do not allocate an Internal error unless we mean it.
...
Previously we'd allocate an error as a place-holder here, but it's
not a great idea to do that with a `Bug`: each `Bug` stores a whole
stack trace, which uses a whole pile of allocations to construct.
Now we keep an `Option<Error>` instead.
Found while heap profiling.
Closes #383 .
2022-03-08 14:04:25 -05:00
Nick Mathewson
a460de6e75
arti-testing: reverse two more attrs in attempt to fix min-versions
2022-03-07 15:29:44 -05:00
Nick Mathewson
84536a9c1e
arti-testing: reverse two attrs in attempt to fix min-versions
2022-03-07 14:34:02 -05:00
Nick Mathewson
de0cf90a32
arti-testing: todo comment cleanup
2022-03-07 11:47:25 -05:00
Nick Mathewson
a86f00c222
arti-testing: support for conditional TCP failure.
2022-03-07 11:44:43 -05:00
Ian Jackson
56c2153b9e
Merge branch 'fix-expand-tilde-on-windows' into 'main'
...
Fix expand tilde and invalid path chars on windows
See merge request tpo/core/arti!274
2022-03-07 16:35:15 +00:00
Nick Mathewson
3aed633559
arti-testing: add support for black-holing TCP connections.
2022-03-07 11:26:13 -05:00