| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This gives our reproducible-build tools permission to use APIs
introduced in versions up to 10.14. Previously, we had this set to
10.12, which is the oldest version supported by Rust.
Upgrading to 10.14 will allow us to merge !3817, and to upgrade
security-framework to the latest version (#2387).
OSX 10.14 ("Mojave") was released in September 2018, and hasn't
been officially supported since October 2021. IMO it's a fine "very
old version" for now.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Update the OSX SDK in our reproducible build.
See merge request tpo/core/arti!3901
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This patch puts the osx tools build (which gets cached) into a
directory that includes the SDK version, so that we don't get
confused with older or newer SDK builds.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Changes:
- Update the build target to 10.12, and define it in a single place.
(We had 10.7 before, but Rust only supports 10.12 and higher.
We will probably want to update this to something even more recent
soon.
- Use the default clang c++ library, rather than trying to force
libstdc++, which OSX dropped after the 10.13 SDK.
- Use the same clang++ for compilation and linking.
- Use the 15.5 SDK.
- Use a copy of the SDK with a known source.
Specifically we start with the the pkg file from Apple, as cached
by the TBB team on `build-sources.tbb.tpo`. Using a pkg file means
that we have to run a script from them the tor-browser-build
repository to extract the SDK files, and then run the osxcross
script that repackages that SDK as a tar.xz file.
I believe our script will make sure this gets cached.
- Stop trying to use define an `ar`; nothing needs it.
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
tor-llcrypto: Add RsaIdentity::to_bytes()
See merge request tpo/core/arti!3916
|
| | | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit adds .to_bytes() to RsaIdentity which is similar to
.as_bytes() except that it returns the RsaIdentity as a byte array.
We are going to need this at a few places in tor-dirserver. The naming
was inspired from x25519-dalek which has similar .as_bytes() and
.to_bytes() methods. Besides, copying 20 bytes shall be okay and it
avoids having to write ugly try_into() constructs.
|
| |\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
proto: Reject EXTEND2 targeting the previous hop in the circuit
Closes #2415
See merge request tpo/core/arti!3906
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
To avoid copying the same information for every circuit,
as suggested by @opara in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3906#note_3399497
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is analogous to `Option::map()`, and can be useful when you need to
map the inner type of a `MaybeSensitive` to another type.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It doesn't make sense to do so, as pointed out by @opara in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3906#note_3398956
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This is used in the relay circuit reactor.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The new relay circuit reactor test expect the `PeerInfo` to be populated
with the identity keys of the peer, and won't work without this change.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3906#note_3397922
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The relay reactor will now reject any EXTEND2 that tries to extend the
circuit to a hop that shares any identities with our previous hop.
Closes #2415
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This will soon be used for preventing the circuit from being extended to
the previous hop (#2415).
|
| | | | | | |
|
| |/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The EXTEND2 handling logic is fairly self-contained, so I'm moving it
outside of the `Forward` handler. This refactoring enables us to add
more context to the handler (i.e. the inbound channel identities needed
for #2415) without cluttering the `Forward` implementation.
I recommend reviewing this commit with `git diff --color-moved`.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Introduce router descriptor types
See merge request tpo/core/arti!3908
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Replaces "B16" by "B16U".
|
| | | | | |
| | | | |
| | | | | |
Replaces "FixedB16" by "FixedB16U"
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This commit adds spec links to all relevant routerdesc types.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This commit adds a specification link to the RouterDesc struct.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit replaces `pub use routerdesc::*` with `pub mod routerdesc`
alongside making the required changes in types.rs to not directly
prelude these types but to introduce them in their own module, as that
is the primary advantage of having these types there.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit implements ItemArgumentParseable for RelayPlatform which we
will need in the parse2 version of RouterDesc eventually.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We will need this type in public fields of the router descriptor data
type at one point, most notably for the `fingerprint` item.
No need to update semver.md because this type is, for whatever reason,
already contained there (in main)?
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit adds a test for the recent parse2 accumulator to see whether
it accumulates the policies as expected.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit implements NetdocParseableFields for AddrPolicy, which will
be required, because this field accumulates exit policies in a firewall
like order, making the use of it necessary.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit implements NormalItemArgument for AddrPortPattern because we
will need it later for an accumulator.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit derives PartialEq and Eq for a few types in addrpolicy.rs,
as we will need these for a few unit tests later on.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The inner Vec ought to be better of as a BTreeSet as that would save us
dedup and sort calls.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We will need this later for outputting RelayFamilyIds in a fashion
compatible with the current API.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We will need this later for outputting RelayFamilyIds in a fashion
compatible with the current API.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit adds the ExtraInfoDigests structure storing the, if present,
mandatory SHA-1 hash and optional SHA-256 hash of the extra-info
document associated with the router descriptor it is referenced from.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Most other certificate types do so too and we will need it in
tor-netdoc.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit adds RouterDescIntroItem which will serve as the
introduction item for router descriptors, that is, a line with the
keyword "router" followed by the nickname, the IPv4 address, and a few
ports.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This derives Eq for Nickname because we will need it for unit tests that
will be added later on.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This type comes from the specification and indicates overload
information about a relay. We will use it in router descriptors at one
point, hence why we are adding it already.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit adds a test to verify the 10x4 character requirement for
SpFingerprint.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit introduces FixedB16U which is a FixedB64 pedant for B16U.
It will be required for ExtraInfoDigests.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit adds a round-trip test for NumericBoolean to ensure that 0
is false and 1 is true.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit adds a new type, NumericBoolean, which implements
NormalItemArgument in order to be parseable with parse2.
It works very simple, namely it can be used to decode/encode a boolean
as a `0` (false) or `1` (true) which is found in a few places around
tor-netdoc.
The reason why this is its own type instead of implementing
NormalItemValue for the bool primitive is, that booleans are special
numerical types and to be future-proof against other oddities, a
separate wrapper type makes most sense.
|
| |\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | | |
tor-netdoc: cargo feature rationalisation, phase 1
See merge request tpo/core/arti!3910
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Part of #2492 phase 1.
No semver note because this is an experimental feature.
|