Commit Graph

3640 Commits

Author SHA1 Message Date
Nick Mathewson e8999d0b57 Merge branch 'clippy' into 'main'
clippy: Allow dbg in tests *again*

See merge request tpo/core/arti!575
2022-06-09 15:17:09 +00:00
Nick Mathewson 2a53460d4e Merge branch 'topo' into 'main'
Fix topo sorting of Cargo.toml and reorganise CI jobs a bit

Closes #495

See merge request tpo/core/arti!576
2022-06-09 15:16:15 +00:00
Nick Mathewson 38fcca7847 Fix typo in clippy-nightly.toml 2022-06-09 14:08:48 +00:00
Ian Jackson 7e7cda1656 Merge branch 'less-servfail' into 'main'
return nodata instead of servfail in some instances

See merge request tpo/core/arti!564
2022-06-09 11:12:58 +00:00
Ian Jackson 86c4f42c49 CI: Break out maint/via-cargo-install 2022-06-08 19:32:59 +01:00
Ian Jackson d65c0023c5 CI: Break out some fastish Rust checks into new "build" step 2022-06-08 19:32:59 +01:00
Ian Jackson 9a8d75b844 CI: Break out some fast checks using debian image 2022-06-08 19:30:16 +01:00
Ian Jackson 84d5845eb6 maint/check_toposort: Run in CI 2022-06-08 18:35:56 +01:00
Ian Jackson 7c1f0e15b1 Revert toplevel part of "Lexically sort Cargo.toml dependencies"
This reverts one file from commit bfd41ddb5f.
2022-06-08 18:27:45 +01:00
Ian Jackson d00ba995be maint/cargo_sort: Tolerate toplevel Cargo.toml not being sorted 2022-06-08 18:27:45 +01:00
Ian Jackson ba016053de maint/toposort: Make shebang be python3, not python
Otherwise it doesn't work on sane systems where /usr/bin/python is
never an incompatible version from previously.
2022-06-08 17:17:20 +01:00
Ian Jackson 73c65d4c1a clippy: Allow dbg in tests *again*
*sigh*
2022-06-08 17:08:40 +01:00
Ian Jackson af92d72b39 Change to exhaustive match. 2022-06-08 16:02:22 +01:00
trinity-1686a e3c9152977 update semver.md 2022-06-08 16:02:22 +01:00
trinity-1686a 6c6998a65b try to differentiate transient from nontransient error 2022-06-08 16:02:01 +01:00
trinity-1686a 515a96a46e return nodata instead of servfail in some instances 2022-06-08 16:02:01 +01:00
Nick Mathewson 35fc0f444b Merge branch 'doc' into 'main'
Fix a doc link

See merge request tpo/core/arti!573
2022-06-08 14:34:09 +00:00
Ian Jackson 3260a9b720 Fix a second docs link 2022-06-08 14:41:22 +01:00
Ian Jackson 35664c33e2 Fix a doc link 2022-06-08 14:39:18 +01:00
Ian Jackson d202c3e9ca Merge branch 'sleep' into 'main'
Plumb a SleepProvider (now Clone + ....) into Channel

See merge request tpo/core/arti!569
2022-06-08 10:46:37 +00:00
Ian Jackson 8eb215bf81 Document semver changes 2022-06-08 11:24:26 +01:00
Ian Jackson e8fc1036d3 Plumb a SleepProvider into the channel reactor
The channel reactor is going to want to be able to sleep so that it
can do padding, so it needs a SleepProvider.
2022-06-08 11:24:26 +01:00
Ian Jackson 3ba3b26842 rt-compat: Make all the individual runtime traits Clone+Send etc.
This will make it much more convenient for code that only wants one of
these traits (or a subset of them).  This is a good thing to support
because it will allow us to use a ZST in places that do not need an
actual async runtime handle (typically, the runtime handle is needed
only for spawn).
2022-06-08 11:24:26 +01:00
Nick Mathewson 47a8c05ff3 Fix a rustdoc link. 2022-06-07 19:19:53 -04:00
Nick Mathewson 5854e4bbd9 Merge branch 'use-testing-rng' 2022-06-07 19:02:12 -04:00
Nick Mathewson b1b7f30de0 Merge branch 'netdir_provider_in_guardmgr_v2' into 'main'
Use NetDirProvider in GuardMgr

Closes #93

See merge request tpo/core/arti!568
2022-06-07 20:46:27 +00:00
Nick Mathewson 68942f0c40 Merge branch 'tor-netdoc-tests' into 'main'
Scattered tests throughout tor-netdoc

See merge request tpo/core/arti!562
2022-06-07 18:31:40 +00:00
Ian Jackson cc91252f9d Merge branch 'ticket463_01-cell' into 'main'
cell: Implement UDP cell ABI

See merge request tpo/core/arti!542
2022-06-07 18:03:27 +00:00
Nick Mathewson 126bf7dace Netdoc tests: extract decode-base64-ignore-ws code. 2022-06-07 12:45:59 -04:00
Nick Mathewson d30899d387 microdesc: make sure we recover from an error in the final md.
(This is slightly different from recovering from errors in the
middle of a list of mds, since in this case we _can't_ advance to the
next md.)

Also, note that a given branch is probably not reachable.
2022-06-07 12:45:59 -04:00
Nick Mathewson 42d6d02fbe netdoc: test case for microdesc with no ed25519 id.
The "bad-id" microdescriptor is hand-edited based on one from a
Chutney network.
2022-06-07 12:45:57 -04:00
Nick Mathewson 48fff1d735 netdoc: test a couple of accessors for AuthCert. 2022-06-07 12:45:57 -04:00
Nick Mathewson 97c8c27514 Netdoc: test enforcement for items that mustn't take objects.
Found via coverage.
2022-06-07 12:45:57 -04:00
Nick Mathewson c5e56c734d netdoc: remove an unused method. 2022-06-07 12:45:57 -04:00
Nick Mathewson 41be108b51 netdoc: Test more accessors for tokenized documents. 2022-06-07 12:45:57 -04:00
Nick Mathewson 102600e1c7 Netdoc: add accessor to error for ParseErrorKind
The kind type was already public, but we didn't give the user any
way to get it.
2022-06-07 12:45:57 -04:00
Nick Mathewson 171aa5ea00 netdoc: tests for parsing UnvalidatedEdCert. 2022-06-07 12:45:57 -04:00
Nick Mathewson 086ad51f82 tor-cert: Make more types Clone and Debug.
(Not sure how we missed this before. This is part of making more of
tor-netdoc tested.)
2022-06-07 12:45:57 -04:00
Nick Mathewson 9641d5ff59 Tests for netdoc RsaPublic type. 2022-06-07 12:45:57 -04:00
David Goulet 3da4b95434 udp: New AddressPort used in cells
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-06-07 12:29:51 -04:00
Ian Jackson a591bf353a udp: Allow empty hostname and no nul byte
After changes to the prop339, the domain name in an Address can only be
255 bytes max and can NOT contain nul byte(s).

Unit tests had to be modified to accept this change:

- Centralise msg_ip_address
- Add currently-passing tests for address length
- Test counted address length longer than type wants

Related to #463

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-06-07 12:23:27 -04:00
David Goulet 2ea709674d cell: Don't use NUL terminated string in CONNECT_UDP
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-06-07 12:22:05 -04:00
David Goulet 8fd6541985 cell: Move UDP to its own module and feature gate it
Related to #463

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-06-07 12:22:05 -04:00
David Goulet 8cb012ed78 cell: Implement DATAGRAM cell from prop339
Decoding and encoding of the DATAGRAM cell from proposal 339.

Related to #463.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-06-07 12:22:05 -04:00
David Goulet b7ae1976b5 cell: Implement CONNECTED_UDP cell from prop339
Decoding and encoding implemented according to proposal 339.

Related to #463
2022-06-07 12:22:05 -04:00
David Goulet d74482cd90 cell: Implement CONNECT_UDP cell from prop339
Decoding and encoding is implemented according to proposal 339
specifications.

Related to #463

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-06-07 12:22:05 -04:00
Nick Mathewson 5aebe1f198 Sort tor-rtmock dependencies. 2022-06-07 11:51:07 -04:00
Nick Mathewson cfad648e16 Merge branch 'llcrypto-openssl' into 'main'
add support for openssl backend in llcrypto

Closes #442

See merge request tpo/core/arti!550
2022-06-07 15:50:48 +00:00
Nick Mathewson 20eeca135b GuardMgr: Use installed netdir provider when we want a netdir
Some of our existing code optionally takes a netdir from the
caller.  When it doesn't give us one, use the netdir from the
installed NetDirProvider.

(Possibly someday we should remove the NetDir arguments
entirely. I'm deferring that because there are only two APIs
affected, and because making this change would force us to rewrite a
pretty large mess of unit tests.)
2022-06-07 11:44:51 -04:00
Nick Mathewson dc0a4e3c3d Move responsibility for GuardMgr NetDir updates to GuardMgr.
Previously it was the job of a task in CircMgr to do this; but we're
going to want to give GuardMgr full access to the latest NetDir for
this, and for other code-simplification reasons.

With this change I'm deprecating a couple of functions in
tor-circmgr.  It's no longer necessary for us to have an artificial
external way for you to feed new NetDirs to a circmgr.  (I could
just remove them, but I want practice deprecating.)
2022-06-07 11:44:51 -04:00