radicle/sigrefs: Revert strict verification of `refs/rad/root`
More sigrefs on the network than previously thought actually are missing the reference `refs/rad/root`. Revert the change to make this an error, which was part of commit `d3bc868e84c334f113806df1737f52cc57c5453d`.
This commit is contained in:
parent
d01ff2e79d
commit
fa1699e5d0
10
CHANGELOG.md
10
CHANGELOG.md
|
|
@ -14,6 +14,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
in the ambiguous format could not be parsed anymore. Partially undo this change
|
||||
to stay backward compatible, but log a warning in case ambiguous addresses are
|
||||
encountered.
|
||||
- In commit `d3bc868e84c334f113806df1737f52cc57c5453d` which was released in
|
||||
version 1.7.0, the criteria for verification of Signed References was changed
|
||||
to be more strict. In particular, to require the reference `refs/rad/root`
|
||||
pointing at the root commit in the history of the repository identity.
|
||||
This was done under the assumption that the overwhelming majority of
|
||||
repositories on the network would have this reference, thus not many users
|
||||
would be negatively affected, in a trade for improved security.
|
||||
It turned out that this assumption was wrong, and that a larger-than-expected
|
||||
portion of the network is affected by verification errors. The change is
|
||||
reverted, relaxing the verification criteria again.
|
||||
|
||||
## 1.7.0
|
||||
|
||||
|
|
|
|||
|
|
@ -258,10 +258,17 @@ impl Commit {
|
|||
// Identity verification succeeds.
|
||||
}
|
||||
} else {
|
||||
return Err(error::Verify::MissingIdentity(error::MissingIdentity {
|
||||
let err = error::Verify::MissingIdentity(error::MissingIdentity {
|
||||
sigrefs_commit: self.oid,
|
||||
expected,
|
||||
}));
|
||||
});
|
||||
|
||||
log::debug!("Reading sigrefs will error in the future: {err}");
|
||||
|
||||
// TODO: Make this return the error
|
||||
// and enable test `test::commit_reader::missing_identity`.
|
||||
|
||||
// Identity verification succeeds.
|
||||
}
|
||||
|
||||
self.refs.remove_sigrefs();
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@ fn missing_commit() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
#[ignore = "strict verification of `refs/rad/root` reverted due to compatibility issues"]
|
||||
fn missing_identity() {
|
||||
let head = mock::oid(1);
|
||||
let refs = [(mock::refs_heads_main(), mock::oid(10))];
|
||||
|
|
|
|||
Loading…
Reference in New Issue