Commit Graph

255 Commits

Author SHA1 Message Date
Nick Mathewson e5fa42e1c7 maint/check_license: Make MPL-2.0 into an allow-list
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
2023-05-23 13:51:51 -04:00
Nick Mathewson 407a928022 thanks: Also acknowledge Suggested-By 2023-05-22 07:58:54 -04:00
Nick Mathewson 217a9ead49 maint/thanks: Split up some long pipelines 2023-05-18 13:28:45 -04:00
Nick Mathewson bd2b2a171f maint/thanks: Remove email addresses from git trailers
Okay, technically we're removing everything between the first `<` and
the `>` at the end of the line.
2023-05-18 13:27:03 -04:00
Nick Mathewson 8cf1ff5084 maint/thanks: Include some git trailers in acknowledgments
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.
2023-05-18 13:26:50 -04:00
Nick Mathewson 75776bb8a3 fixup-features: minor doc fix. 2023-05-15 08:27:48 -04:00
Nick Mathewson aa452d6627 fixup-features: Do not annotate non-features. 2023-05-15 08:27:48 -04:00
Nick Mathewson bcac88990f fixup-features: Do not add edges from non-features. 2023-05-15 08:27:48 -04:00
Nick Mathewson 3e61de4f48 fixup-features: distinguish internal and external edges
An external edge does not cause its target to be created as a feature.
2023-05-15 08:11:30 -04:00
Nick Mathewson 85ce5162f5 fixup-features: Add an option to not annotate. 2023-05-15 08:11:30 -04:00
Nick Mathewson ae6254ac35 fixup-features: ability to add annotations for everything. 2023-05-15 08:11:30 -04:00
Nick Mathewson d5c21884fd fixup-features: fix off-by-one in argument reading. 2023-05-15 08:11:30 -04:00
Nick Mathewson 690c0134fe fixup-features: Implement remaining rules. 2023-05-15 08:11:30 -04:00
Nick Mathewson 5046e2003f fixup-features: Enforce __is_experimental tagging rule. 2023-05-15 08:11:30 -04:00
Nick Mathewson d5a38fc5ed fixup-features: Revise our rule 2 enforcement to use newer APIs. 2023-05-15 08:11:30 -04:00
Nick Mathewson 6a468ee4ae fixup-features: Refactor "apply a list of changes" code into a new module. 2023-05-15 08:11:30 -04:00
Nick Mathewson 54e50205dd fixup-features: Make a feature graph type in a submodule
I tried to use petgraph, but it was optimized for performance over
usability, and the usability was beyond me.
2023-05-15 08:11:30 -04:00
Nick Mathewson 059af736e1 fixup-features: minor spelling and comment fixes. 2023-05-15 08:11:30 -04:00
Nick Mathewson 7c556eea67 fixup-features: Describe the semantics we actually want
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
2023-05-15 08:11:30 -04:00
trinity-1686a 6d25a81a01 allow rustls-webpki license 2023-05-08 18:22:43 +02:00
Nick Mathewson 6cfc387f14 check-licenses: Permit MPL-2.0
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.
2023-05-04 10:35:05 -04:00
trinity-1686a 1b348f5613 fix macos reproducible builds 2023-04-16 13:22:18 +02:00
Nick Mathewson a9b1d8f612 Bump Rust version in reproducible build scripts
Now that we require 1.65, Rust 1.63 is no longer sufficient.
2023-04-13 07:31:20 -04:00
Nick Mathewson 104d64589d Increment MSRV to 1.65 in every crate. 2023-04-11 15:31:12 -04:00
Nick Mathewson 69ebbedc3c Add Gabi to exclude_contributors.
(We don't include Tor employees in our "thanks" section.)
2023-03-31 07:30:09 -04:00
Dimitris Apostolou 629fa80674
Fix typos 2023-03-24 09:56:08 +02:00
Ian Jackson 3038c7520d maint/check_todos: Offer advice on workarounds, if tripped 2023-03-21 13:08:51 +00:00
Ian Jackson ac2c56f92d Obscure various literal uses of the todo marker
In each case, use a circumlocution.
2023-03-21 13:08:51 +00:00
Ian Jackson 541c5338af maint/check_todos: New script 2023-03-21 13:08:14 +00:00
Nick Mathewson 61096d61c3 fixup-features: Use write-and-rename pattern. 2023-03-20 13:29:33 -04:00
Nick Mathewson cd4895e525 fixup-features: Improve a comment. 2023-03-20 13:29:33 -04:00
Nick Mathewson 630d87f9c1 fixup-features: Simplify "optionality" detection. 2023-03-20 13:29:33 -04:00
Nick Mathewson 96cd970398 New "fixup-features" tool to enforce properties in Cargo.tomls
See top-level main.rs comment for an explanation.

Closes #771
2023-03-20 13:29:33 -04:00
Ian Jackson 333ce4118b Merge branch 'check_env' into 'main'
maint: add a full dependency check

See merge request tpo/core/arti!1030
2023-03-01 12:48:20 +00:00
Ian Jackson ce2fee9166 Merge branch 'zlib' into 'main'
Approve zlib licence

See merge request tpo/core/arti!1035
2023-02-27 13:34:05 +00:00
Emil Engler 20e40d79db
maint: remove the dependency check from coverage
This commit removes the dependency check introduced by b4b8d040, because
it's task is now done by the recently added `check_env` script.
2023-02-24 18:32:06 +01:00
Emil Engler 4b2b6e06da
maint: add a full dependency check
This commit adds a script that checks the environment for it's suitable
as an Arti development environment.

It follows an idea pitched by Ian Jackson and me in !1025.
2023-02-24 18:32:06 +01:00
Ian Jackson df79d407d9 maint/check_licensse: Placate shellcheck
There's nothing wrong with the previous idiom since it's a trusted
variable, but whatever.
2023-02-24 17:27:43 +00:00
Ian Jackson 4756ad6e57 maint/check_licensse: Approve Zlib licence
This is a very permissive BSD/MIT-like licence.  I have reviewed the
licence text and it is inoffensive.

I want this for slotmap, in !1034
2023-02-24 17:14:27 +00:00
Ian Jackson 7068f237f7 maint/check_licensse: Honour CARGO variable
Even if it contains spaces.
2023-02-24 17:14:27 +00:00
Ian Jackson 745336fac5 maint/check_licensse: Do not discard actual error
This confused me while I was debugging the interaction with nailing-cargo.
2023-02-24 17:14:27 +00:00
Ian Jackson bd920fc844 Merge branch 'fix-adhoc' into 'main'
maint: fix `adhoc-add-lint-blocks` script

See merge request tpo/core/arti!1031
2023-02-24 17:01:35 +00:00
Emil Engler d6a7ace662
git: add maint/.gitignore for __pycache__
The maint/ directory contains several python scripts, which will create
a __pycache__ directory.
2023-02-22 18:31:40 +01:00
Emil Engler 346ade6200
maint: fix `adhoc-add-lint-blocks` script
This commit fixes a bug in maint/adhoc-add-lint-blocks, which made it
impossible to execute, because `/usr/bin/env` looked at Perl's command
line arguments to be a part of the binary name.
2023-02-22 18:30:33 +01:00
Ian Jackson ed5857fab1 Merge branch 'coverage-dep-check' into 'main'
maint: add a dependency check to coverage

Closes #776

See merge request tpo/core/arti!1025
2023-02-22 12:00:28 +00:00
Emil Engler b4b8d040a0
maint: add a dependency check to coverage
This commit implements a dependency check to the `maint/coverage`
script, that checks for the rustup, python3, and grcov binaries in
$PATH; the bs4 and lxml python packages; and the llvm-tools Rust
component.

Fixes #776
2023-02-21 20:09:17 +01:00
Nick Mathewson be8f483acc Fix a bug in check_doc_features
In Python, str.find returns -1 if it doesn't find the target
character, and -1 is a true value.  So `if pos := foo.find('c')`
won't do what we want.
2023-02-21 15:17:28 +00:00
Emil Engler 66fd697a73
maint: forcefully remove files in coverage
When performing the initial run of `./maint/coverage`, it will report an
error message to stderr, that several files cannot be deleted, due to
their non-existence.

While the error is still ignored, I personally think that there is no
benefit in showing it either, thereby surpressing it with this commit.

Beside this, this syntax might be easier to understand from a semantical
point of view.
2023-02-16 15:14:08 +01:00
Nick Mathewson 7feda22444 tor-cell: documentation cleanups related to restricted_msg 2023-02-07 16:03:14 -05:00
Emil Engler 53bf3492e8
maint: add shebang
This commit adds a test called `shebang`, which checks if all shebangs
in scripts use relative paths through `#/usr/bin/env`, rather than
absolute paths, such as `#/bin/bash`.

See 833b10575b.
2023-01-26 21:04:34 +01:00