Commit Graph

73 Commits

Author SHA1 Message Date
Nick Mathewson f23fca5e93 Merge branch 'testing-docs' into 'main'
New documents to checkpoint my work on #329 and #87

See merge request tpo/core/arti!407
2022-03-14 17:27:42 +00:00
eta 331da62712 Apply 1 suggestion(s) to 1 file(s) 2022-03-14 17:11:49 +00:00
Nick Mathewson 8f430fd58d Merge branch 'main' into 'intern-more'
# Conflicts:
#   doc/semver_status.md
2022-03-14 14:19:44 +00:00
Nick Mathewson 34c209c20e New documents to checkpoint my work on #329 and #87
These documents explain how to profile arti for CPU and memory, and
how to simulate different kinds of breakage and misconfiguration.

They aren't at all in their final form, but I figure it's useful to
check them in so that more people can look at them, and make
suggestions.
2022-03-14 10:14:34 -04:00
Ian Jackson dbd7388991 humantime_serde_option: Add note about semver 2022-03-14 10:34:28 +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
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 b40e06c64a Add a missing newline. 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
Ian Jackson e40bf8dfbf Add note about semver. 2022-03-11 18:28:37 +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 3fa42f63d0 config work: Add semver note. 2022-03-11 17:34:15 +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
Ian Jackson 1b1ce8cc82 Drop remaining conversion from FooConfig to FooConfigBuilder 2022-03-07 15:58:53 +00:00
Ian Jackson 56cb1cef4e Have ArtiConfig contain a TorClientConfig, and drop builder retcon
Replace the recapitulation of TorClientConfig fields in ArtiConfig and
instead just have it contain one.  This is part of #374.

The conversions from ArtiConfig back to ArtiConfigBuilder and
TorClientConfigBuilder would need to change, but, since we don't want
them anyway,

No longer impl Deserialize for ArtiConfig.  (As per #371 this will
want to become a private type.)

No longer impl From<ArtiConfig> for ArtiConfigBuilder and
TorClientConfigBuilder.  And abolish tests of that code.

(This all has to be in one commit, because previously
ArtiConfig::tor_client_config used the validated-to-builder config
retcon.)
2022-03-07 15:58:53 +00:00
Nick Mathewson b6452b4812 Add a from_hex method for RsaIdentity.
We perform this operation in a bunch of places, and most of them
use hex::decode().  That's not great, since hex::decode() has to do
heap allocation.  This implementation uses hex::decode_to_slice(),
which should be faster.

(In the future we might choose to use one of the faster hex
implementations, but I'm hoping that this change will be sufficient
to get hex decoding out of our profiles.)

Part of #377.
2022-03-04 08:55:34 -05:00
Nick Mathewson a4914b990b arti-client: Make dirmgr() and circmgr() return &Arc<..>
Previously they returned an Arc, which wasn't necessary unless the
client actually _wanted_ a new Arc.

This would be an API break, except that these functions are marked
'experimental-api', so semver does not apply; nonetheless I've noted
the break in semver_status.md, just in case we care.

Closes #369
2022-03-03 14:08:27 -05:00
Ian Jackson 4fa78e3f44 arti-hyper: Upgrade from an example to an "adaptation layer" 2022-03-01 11:53:15 +00:00
Nick Mathewson fbd1cf01c4 Add new crates to doc/Architecture.md 2022-02-28 14:24:53 -05:00
Nick Mathewson c3e02fd05b Update FAQs about status and plans. 2022-02-28 14:22:54 -05:00
Ian Jackson 1c301230e4 rename *.py scripts to bare name
Update all references.  There are three remaining hits for
  git-grep '\.py\b'
all of which are scripts in "little-t-tor", not here in arti.
2022-02-18 11:46:06 +00:00
Ian Jackson 9aefbf4227 rename *.sh scripts to bare name
As per #309

Update all references.  There is one remaining hit for
  git-grep '\.sh\b'
namely "build.sh" in maint/reproducible_build, which I think is
the build script for osxcross - ie, an external project.
2022-02-18 11:46:06 +00:00
Dimitris Apostolou 1690e877ed
Fix typos 2022-02-10 14:25:56 +02:00
Ian Jackson 235cd254ca docs/Errors.md: Say where error type is printed 2022-02-04 14:33:09 +00:00
Ian Jackson 06ce4bba1e docs/Errors.md: Say put context in caller's error (not calllee's) 2022-02-04 14:33:09 +00:00
Dimitris Apostolou 6526321851
Fix typos 2022-02-02 20:18:22 +02:00
Nick Mathewson a7df9ca0a5 Tweak release instructions based on 0.0.4 experience 2022-01-31 11:35:40 -05:00
eta ecb63bafa5 doc/Release.md: add note to check feature combinations
This is a nice reminder to have before we solve arti#303 for good.
2022-01-27 15:53:46 +00:00
eta 4aa442de1d Merge branch 'config' into 'main'
doc/CONFIG-NOTES.md: config proposal

See merge request tpo/core/arti!248
2022-01-26 17:00:23 +00:00
eta b893f88c70 Merge branch 'ticket_277' into 'main'
More documentation about refining build process and getting help

Closes #277

See merge request tpo/core/arti!259
2022-01-24 14:15:00 +00:00
eta 87326afe75 Error plan: typos/fixes 2022-01-21 17:00:49 +00:00
Nick Mathewson 33e70eec3d TROUBLESHOOTING.md: More information+links about build process.
Part of #277
2022-01-21 10:59:14 -05:00
Ian Jackson f0f296450a Errors: fold in people's views so is mostly unattributed now 2022-01-20 18:28:06 +00:00
Ian Jackson e762679a06 Errors: sort out markdown formatting 2022-01-20 18:27:52 +00:00
Ian Jackson 446d72329b Errors: c&p raw text of consensus conclusions from pad to git 2022-01-20 18:27:31 +00:00
Ian Jackson 85ed27f621 CONFIG-NOTES: finish a sentence 2022-01-20 17:28:23 +00:00
eta 6ba3686a59 CONFIG-NOTES: Suggestions from MR review 2022-01-20 17:02:35 +00:00
Ian Jackson ebda5a0aca doc/CONFIG-NOTES.md: config proposal 2022-01-19 15:04:20 +00:00
Nick Mathewson 839d2400ed Add a needs-more-testers note to Android and iOS guides. 2022-01-18 13:49:31 -05:00
Trinity Pointard 703682a41c add iOS documentation 2022-01-17 00:42:46 +01:00
Nick Mathewson 0003b706ba Release.md: Small fixes 2022-01-11 09:42:52 -05:00
Nick Mathewson e11871a134 Clear semver_status.md entries for 0.0.2 2022-01-11 09:25:53 -05:00
Nick Mathewson 9c3aa00030 Update semver_status.md with recent changes. 2021-12-08 10:08:14 -05:00
Nick Mathewson e25c2d991e Start a TROUBLESHOOTING.md with known compilation issues. 2021-12-06 09:35:06 -05:00
Nick Mathewson 66d5f73b9c tor-linkspec: Remove redundant method; add more tests.
The redundant method was a `to_owned` that probably shouldn't have
been called that.  It was only used in one place.

The tests should get tor-linkspec's line coverage up above 90%.
2021-12-04 15:42:53 -05:00
Nick Mathewson 214c251e41 Remove the unused "Error" type from caret.
This was a relic of the old, now-unused "caret_enum!" macro.
Removing it gets caret's coverage to 100%.

Yes, technically this is a semver breaker on caret.
2021-12-04 15:13:43 -05:00
Nick Mathewson 47614ee737 Implement Eq,PartialEq for BoundedInt32. 2021-12-02 16:40:22 -05:00
Nick Mathewson c2804419ab Add constructor for TorAddr, to enforce port != 0
This makes sure that we're checking for a nonzero port in all cases.
2021-11-30 15:41:19 -05:00
Nick Mathewson e2a7289aa7 Add comments about the absence of tap_key in microdesc. 2021-11-30 14:05:13 -05:00