summaryrefslogtreecommitdiff
path: root/maint
Commit message (Collapse)AuthorAgeFilesLines
* check_licenses: Whitelist for crates that may use LGPL-3.0-onlyMicah Elizabeth Scott2023-07-271-6/+18
| | | | | | | Narrows the previous check, allowing this particular LGPL only for the hashx and equix crates. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* equix, hashx: Prepare for an initial LGPL releaseMicah Elizabeth Scott2023-07-271-3/+5
| | | | | | | This replaces the 'TODO' marker from earlier commits, using tevador's copyright and license (LGPL 3.0 only) for the hashx and equix crates. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* Reimplement HashX in RustMicah Elizabeth Scott2023-07-271-0/+6
| | | | | | | | | | | | | | | | | This is a new pure Rust implementation of the HashX algorithm designed by tevador for Tor's onion service proof of work puzzle v1. HashX is a lightweight family of randomly generated hash functions. A seed, via blake2 and siphash, drives a program generation model which randomly selects opcodes and registers while following some constraints that avoid timing stalls or insufficient hash mixing. The execution of these hash funcions can be done using a pure Rust interpreter, or about 20x faster using a very simple just in time compiler based on the dynasm assembler crate. This has been implemented for x86_64 and aarch64. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* Fix typosDimitris Apostolou2023-07-221-1/+1
|
* cargo audit: un-ignore RUSTSEC-2023-0040 ("`users` is unmaintained"Ian Jackson2023-07-141-3/+0
|
* tor-proto: Add a suppression to "fix" the CIIan Jackson2023-07-121-0/+2
| | | | | | | This is failing in CI. I have no idea what the rules are and AFAICT no-one is alleging that there is an actual bug in the attributes. Empirically this suppression causes the script to pass.
* clippy: in tests, allow clippy::useless_vecIan Jackson2023-07-101-0/+1
| | | | | | | | | This is a perf issue, only. If tests are too slow, we will notice and ca speed them up. We should optimise for clarity and convenience, rather than speed. Forbidding this can result in churn between vec![] and [] as tests are updated and changed.
* clippy: globally allow clippy::needless_raw_string_hashesIan Jackson2023-07-101-0/+1
| | | | | | | | | | | | Rationale: no-one writes these by default without thinkinh. If they are unnecessary, then either the string must have had " in it before (in which case it might do again), or it is near other strings which *do* need it. And having it does no harm; indeed IMO it can increase clarity. Alternative to !1388's Fix new "needless_raw_string_hashes" lint from clippy +nightly
* Merge branch 'allow_missing_panics' into 'main'Ian Jackson2023-07-071-1/+0
|\ | | | | | | | | | | | | add_warning: Tolerate clippy::missing_panics_doc Closes #950 See merge request tpo/core/arti!1380
| * add_warning: Tolerate clippy::missing_panics_docNick Mathewson2023-07-061-1/+0
| | | | | | | | | | | | | | As of current nightly, this lint now includes expect()s, which makes it trigger way more than we'd like. See discussion on #950.
* | tor-rtcompat: Simplify trivial all() expressions.Nick Mathewson2023-07-061-2/+2
|/ | | | | | | Clippy nightly doesn't like `#[cfg(all(...))]` with only a single expression inside the `all(...)`. This requires an adjustment in check_doc_features.
* Replace our old complex semver-checks script.Nick Mathewson2023-06-291-106/+6
| | | | | | | | Now with cargo semver-checks >= 0.22.1, we no longer need to jump through hoops in order to only look at the `full` features. This, combined with our work on `fixup-features`, lets us be confident that we're only looking at semver breakage in experimental code.
* lints: Promote clippy::print_stderr and clippy::print_stdoutIan Jackson2023-06-211-0/+2
| | | | | | | | These are available in our MSRV now, so we don't need to handle specially. We can just add them to the standard lint block. (Lint block in every crate will be updated automatically in the next commit.)
* CI: add script to test every crate with default featuresIan Jackson2023-06-141-0/+19
|
* maint/cargo-audit: Ignore RUSTSEC-2023-0040 (the users crate is unmaintained)Gabriela Moldovan2023-06-051-0/+3
| | | | Signed-off-by: Gabriela Moldovan <[email protected]>
* New script to run cargo-semver-checks with appropriate options.Nick Mathewson2023-05-311-0/+121
| | | | | | | | | | | | | The options are rather complicated; because we do not want to subject our experimental features to semver, we need to run generate JSON rustdoc on our own and then pass that JSON to cargo-semver-checks. This in turn requires us to use the same options that cargo-semver-checks uses, including "RUSTC_BOOTSTRAP". I've left some TODOs here in places where we will likely want to improve our code in the future. See #711.
* maint/check_license: Make MPL-2.0 into an allow-listNick Mathewson2023-05-231-1/+22
| | | | | | | | | | | | | Previously we allowed this license unconditionally. But because of its non-self-enacting nature, we need the actual notice from its "exhibit A" to appear somewhere that says that it applies to all the relevant code. Therefore, we shouldn't take new MPL-2.0 dependencies without hand-checking them. (I am tentatively allowing option-ext, though, since we already have an indirect dependency on that crate via `directories`.) For more info, see https://gitlab.torproject.org/tpo/core/arti/-/issues/845
* thanks: Also acknowledge Suggested-ByNick Mathewson2023-05-221-0/+2
|
* maint/thanks: Split up some long pipelinesNick Mathewson2023-05-181-2/+9
|
* maint/thanks: Remove email addresses from git trailersNick Mathewson2023-05-181-1/+1
| | | | | Okay, technically we're removing everything between the first `<` and the `>` at the end of the line.
* maint/thanks: Include some git trailers in acknowledgmentsNick Mathewson2023-05-181-3/+18
| | | | | | | | When building our list of acknowledgments, previously we would only include author and committer names. Now we also include anybody listed in the "Reported-by", "Co-authored-by", and "Thanks" trailers.
* fixup-features: minor doc fix.Nick Mathewson2023-05-151-5/+5
|
* fixup-features: Do not annotate non-features.Nick Mathewson2023-05-152-3/+7
|
* fixup-features: Do not add edges from non-features.Nick Mathewson2023-05-152-2/+7
|
* fixup-features: distinguish internal and external edgesNick Mathewson2023-05-152-3/+8
| | | | An external edge does not cause its target to be created as a feature.
* fixup-features: Add an option to not annotate.Nick Mathewson2023-05-153-6/+25
|
* fixup-features: ability to add annotations for everything.Nick Mathewson2023-05-151-7/+13
|
* fixup-features: fix off-by-one in argument reading.Nick Mathewson2023-05-151-1/+1
|
* fixup-features: Implement remaining rules.Nick Mathewson2023-05-151-34/+64
|
* fixup-features: Enforce __is_experimental tagging rule.Nick Mathewson2023-05-151-0/+19
|
* fixup-features: Revise our rule 2 enforcement to use newer APIs.Nick Mathewson2023-05-151-14/+14
|
* fixup-features: Refactor "apply a list of changes" code into a new module.Nick Mathewson2023-05-152-25/+88
|
* fixup-features: Make a feature graph type in a submoduleNick Mathewson2023-05-153-60/+149
| | | | | I tried to use petgraph, but it was optimized for performance over usability, and the usability was beyond me.
* fixup-features: minor spelling and comment fixes.Nick Mathewson2023-05-151-1/+1
|
* fixup-features: Describe the semantics we actually wantNick Mathewson2023-05-151-6/+26
| | | | | | | | | The problem with our old rules is that "reachable from __nonadditive" and "reachable from experimental" were not themselves sensible definitions of nonadditive and experimental. See https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1068#note_2887939
* allow rustls-webpki licensetrinity-1686a2023-05-081-0/+1
|
* check-licenses: Permit MPL-2.0Nick Mathewson2023-05-041-0/+1
| | | | | | | | The generational-arena crate is distributed under MPL-2.0, so we need to allow it. I believe that this license is fine and does not interfere with our code or our users; the reviewer should double-check.
* fix macos reproducible buildstrinity-1686a2023-04-161-1/+1
|
* Bump Rust version in reproducible build scriptsNick Mathewson2023-04-131-1/+1
| | | | Now that we require 1.65, Rust 1.63 is no longer sufficient.
* Increment MSRV to 1.65 in every crate.Nick Mathewson2023-04-111-1/+1
|
* Add Gabi to exclude_contributors.Nick Mathewson2023-03-311-0/+3
| | | | (We don't include Tor employees in our "thanks" section.)
* Fix typosDimitris Apostolou2023-03-241-1/+1
|
* maint/check_todos: Offer advice on workarounds, if trippedIan Jackson2023-03-211-0/+22
|
* Obscure various literal uses of the todo markerIan Jackson2023-03-212-2/+2
| | | | In each case, use a circumlocution.
* maint/check_todos: New scriptIan Jackson2023-03-211-0/+31
|
* fixup-features: Use write-and-rename pattern.Nick Mathewson2023-03-201-1/+3
|
* fixup-features: Improve a comment.Nick Mathewson2023-03-201-1/+1
|
* fixup-features: Simplify "optionality" detection.Nick Mathewson2023-03-201-17/+13
|
* New "fixup-features" tool to enforce properties in Cargo.tomlsNick Mathewson2023-03-203-0/+346
| | | | | | See top-level main.rs comment for an explanation. Closes #771
* Merge branch 'check_env' into 'main'Ian Jackson2023-03-012-23/+122
|\ | | | | | | | | maint: add a full dependency check See merge request tpo/core/arti!1030