summaryrefslogtreecommitdiff
path: root/maint
Commit message (Collapse)AuthorAgeFilesLines
* Add a check-license exception for tinystr.Nick Mathewson2023-12-041-0/+5
|
* Merge branch 'msrv-bump-1.70' into 'main'Ian Jackson2023-11-301-1/+1
|\ | | | | | | | | Increase our MSRV to 1.70 See merge request tpo/core/arti!1773
| * In every crate, change rust-version to 1.70.Nick Mathewson2023-11-281-1/+1
| |
* | Merge branch 'misc-upgrades' into 'main'Nick Mathewson2023-11-281-1/+2
|\ \ | |/ |/| | | | | Upgrade several crates in preparation for this month's release. See merge request tpo/core/arti!1763
| * downgrade-dependencies: un-downgrade futures-lite.Nick Mathewson2023-11-281-1/+2
| | | | | | | | | | | | This is necessary for async-global-executor, which uses `futures_lite::future::or`, which futures-lite does not have before 1.4.0 or thereabouts.
* | Ignore rsa timing cargo-audit warningNick Mathewson2023-11-281-0/+6
|/
* update rustc for reproducible buildstrinity-1686a2023-11-161-1/+1
|
* Merge branch 'clap4' into 'main'gabi-2502023-11-151-2/+1
|\ | | | | | | | | Upgrade to clap 4 See merge request tpo/core/arti!1735
| * cargo_audit: Remove note about clap use of atty.Nick Mathewson2023-11-151-2/+1
| |
* | Remove webpki cargo_audit exceptionNick Mathewson2023-11-151-13/+0
|/ | | | | Apparently webpki came out of retirement and actually fixed RUSTSEC-2023-0052. Versions >=0.22.2 should be fine.
* Add BSL-1.0 license to permitted listNick Mathewson2023-11-021-0/+1
|
* Add downgrade-dependencies exceptions to make tor-proto build right.Nick Mathewson2023-10-121-1/+3
|
* Merge branch 'new-mock-time' into 'main'Nick Mathewson2023-10-051-0/+15
|\ | | | | | | | | Provide and use a SimpleMockTimeProvider See merge request tpo/core/arti!1639
| * tor-rtmock: Add priority-queue dependencyIan Jackson2023-10-031-0/+15
| | | | | | | | | | | | | | | | For our time provider we want a priority queue that lets us look up entries and delete them. std's Heap doesn't do that. priority-queue has the API we need and reasonable stats etc, and is maintained. It has some IMO-tolerable licence wrinkles.
* | fixup-features: Detect published=>unpublished dependenciesNick Mathewson2023-10-041-8/+58
| | | | | | | | | | (If a published crate depends on an unpublished crate, crates.io will refuse it.)
* | fixup-features: detect wildcard versions.Nick Mathewson2023-10-041-2/+26
| | | | | | | | | | None of our crates should use wildcard versions; this will help us detect them before publishing.
* | Update changed_crates and Release.md to robustify release processNick Mathewson2023-10-041-2/+63
|/ | | | | | | | | | In particular, this change should help avoid the kind of problem we ran into as #1054 and fixed with 00e4405943498754, where a crate changed only in which versions of our crates it depended upon, and we didn't notice that we had to update its version too. This commit also fixes a couple of minor issues in the `changed_crates` script, and gives it a verbose mode.
* Merge branch 'locked' into 'main'Ian Jackson2023-09-141-2/+6
|\ | | | | | | | | CI: Use cargo install --locked See merge request tpo/core/arti!1587
| * CI: Force refresh of all "cargo install"Ian Jackson2023-09-111-1/+5
| |
| * CI: Use cargo install --lockedIan Jackson2023-09-111-1/+1
| | | | | | | | Unaccountably, this isn't the default.
* | maint/downgrade_dependencies: Honour $CARGOIan Jackson2023-09-141-2/+4
|/ | | | This let me run it with my privsep setup.
* Merge branch 'nodep' into 'main'Nick Mathewson2023-09-101-2/+2
|\ | | | | | | | | maint/bump_nodep: Two changes to help it work in my environment See merge request tpo/core/arti!1573
| * maint/bump_nodep: Use "git checkout" instead of "git restore"Ian Jackson2023-09-051-1/+1
| | | | | | | | | | | | Sadly the environment I ran this command on today didn't have "git restore". I should upgrade it but there are yaks, and I may not have managed to upgrade it by *next* Arti release.
| * maint/bump_nodep: Allow $CARGO to contain multiple wordsIan Jackson2023-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | This is a more convenient approach to command overriding. It's what we do elsewhere. I need this because with a script like "maint/bump_nodep", which edits the tree, I need to write CARGO='nailing-cargo -E' maint/bump_nodep .... (The -E option tells my privsep tool that the command is *supposed* to edit the tree - and that I am intending to review those changes.)
* | matrix_test: find directories correctlyNick Mathewson2023-09-051-2/+12
| |
* | Update "list_crates" to handle examples right.Nick Mathewson2023-09-051-6/+6
| |
* | downgrade_dependencies: upgrade "log"Nick Mathewson2023-09-051-0/+1
| | | | | | | | We don't use "log" but some dependency of one of our examples does.
* | Check-licenses: Allow "MIT AND BSD-3-Clause"Nick Mathewson2023-09-051-0/+1
| | | | | | | | | | | | | | | | We have automatic support for "OR", but we can't do anything automated with AND, since the intersection of licenses can get complicated. So we just have to authorize the specific combinations that exist. This is used by matchit, which is used in the gotlou's examples.
* | Teach check_toposort to not expect examples in crates/Nick Mathewson2023-09-051-1/+1
|/
* downgrade_dependencies: re-upgrade filetimeNick Mathewson2023-09-051-1/+2
| | | | | | | We don't actually use filetime directly, but notify wants it, and notify accepts a version that doesn't actually appear to work. This fixes minimal_versions CI.
* CI: cargo install caching: Use cache/ directory, per-imageIan Jackson2023-08-251-2/+8
| | | | | | This avoids us trying to run binaries built on one image, on a different one. I believe that this is supposed to work according to Rust doctrine, but empirically it doesn't.
* clippy: Suppress needless_pass_by_value in testsIan Jackson2023-08-231-0/+1
| | | | | | | Rationale: same as for useless_vec, as in 01cb7ee0a112. Prompted by reading a commit where someone did makework to get rid of an occurrence of this warning.
* Add a cargo-audit exception for RUSTSEC-2023-0052Nick Mathewson2023-08-221-0/+13
| | | | | We've solved this for rustls-webpki, but tls-api (which arti-hyper uses) still requires the unmaintained webpki crate. See #1016.
* cargo_audit: Add an exception for RUSTSEC-2022-0093.Nick Mathewson2023-08-141-0/+8
| | | | | | | This is the API deficiency in ed25519-dalek v1 that allows you to mismatch public and private keys, leading to a (fatal) double-signing attack. We have worked around this in our current design, so it's appropriate to suppress this warning for now.
* maint: use relative shebang in `maint/bump_nodep`Emil Engler2023-08-091-1/+1
|
* Merge branch 'with_coverage-no-list' into 'main'Ian Jackson2023-08-091-2/+2
|\ | | | | | | | | maint: provide no list of grcov formats See merge request tpo/core/arti!1482
| * maint: provide no list of grcov formatsEmil Engler2023-08-081-2/+2
| | | | | | | | | | | | | | | | | | This commit removes a list we provide for the supported grcov formats. In my opinion, this is a practice of bad software engineering, as we would then have to maintain this list by ourselves. Therefore, this commit removes this list from the `maint/with_coverage` script and replaces it with a references to the accompanying grcov command.
* | maint: remove useless optargEmil Engler2023-08-081-1/+1
| | | | | | | | | | The `maint/coverage` script has a useless option `c`. This commit removes it.
* | maint: list the HTML dependencies in coverageEmil Engler2023-08-081-0/+1
|/ | | | | | | | Currently, the `maint/coverage` script does not inform about the dependencies required for generating the HTML output, those are, the Python packages `bs4` and `lxml`. This commit fixes that, by updating the help section accordingly.
* add_warning: Change missing_docs,unreachable_pub to warnNick Mathewson2023-08-041-2/+7
| | | | Part of #951. See comments for explanation of why this is important.
* Add maint/check_all_lockfilesMicah Elizabeth Scott2023-08-031-0/+19
| | | | | Looks for any checked-in Cargo.lock files, and checks the lockfile quickly by running `cargo tree --locked` there.
* equix/fuzz: CI and doc fixesMicah Elizabeth Scott2023-08-021-0/+5
| | | | | | | | The build found a stale private doc comment as well as an exception that needed to be made in check_doc_features. The check_doc_features change solidifies a decision that things marked with cfg(fuzzing) aren't part of the documented API.
* Script to bump patchlevel without touching other cratesNick Mathewson2023-08-011-0/+39
| | | | | | | | Closes #945. Based on @diziet's comment in #945, with a little extra safety and paranoia. We use this for cases when there are trivial changes only in one of our crates.
* 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.