guix/tests
Ludovic Courtès ca87601dd9
git-authenticate: Ensure the target is a descendant of the introductory commit.
Fixes a bug whereby authentication of a commit *not* descending from the
introductory commit could succeed, provided the commit verifies the
authorization invariant.

In the example below, A is a common ancestor of the introductory commit
I and of commit X.  Authentication of X would succeed, even though it is
not a descendant of I, as long as X is authorized according to the
'.guix-authorizations' in A:

   X   	 I
    \   /
      A

This is because, 'authenticate-repository' would not check whether X
descends from I, and the call (commit-difference X I) would return X.

In practice that only affects forks because it means that ancestors of
the introductory commit already contain a '.guix-authorizations' file.

* guix/git-authenticate.scm (authenticate-repository): Add call to
'commit-descendant?'.
* tests/channels.scm ("authenticate-channel, not a descendant of introductory commit"):
New test.
* tests/git-authenticate.scm ("authenticate-repository, target not a descendant of intro"):
New test.
* tests/guix-git-authenticate.sh: Expect earlier test to fail since
9549f0283a is not a descendant of
$intro_commit.  Add new test targeting an ancestor of the introductory
commit, and another test targeting the v1.2.0 commit.
* doc/guix.texi (Specifying Channel Authorizations): Add a sentence.
2022-02-14 11:23:08 +01:00
..
keys tests: Move keys into ./tests/keys/ and add a third ed25519 key. 2021-12-22 10:53:19 +01:00
services Reinstate "services: Add a service for Jami." 2021-08-02 17:23:30 -04:00
accounts.scm
base16.scm
base32.scm
base64.scm
boot-parameters.scm Migrate to the new 'targets' field of bootloader-configuration. 2021-08-29 01:05:26 -04:00
bournish.scm
build-utils.scm utils: Fix wrap-script argument handling. 2022-01-10 11:44:29 -05:00
builders.scm tests: Add missing module import. 2021-09-17 01:27:40 +02:00
cache.scm
challenge.scm
channels.scm git-authenticate: Ensure the target is a descendant of the introductory commit. 2022-02-14 11:23:08 +01:00
combinators.scm
containers.scm
cpan.scm
cpio.scm
cran.scm import: cran: Fix description->package test. 2021-12-18 04:09:47 +01:00
crate.scm
cve-sample.json
cve.scm
debug-link.scm
derivations.scm daemon: Do not deduplicate files smaller than 8 KiB. 2021-11-16 14:34:28 +01:00
discovery.scm
egg.scm Merge branch 'master' into core-updates-frozen 2021-11-17 23:43:14 +01:00
elpa.scm import: elpa: Support ‘upstream-name’ property. 2021-12-18 22:51:55 +01:00
file-systems.scm pack: Streamline how files are included in tarballs. 2021-07-18 02:10:49 -04:00
gem.scm import: gem: Emit new-style package inputs. 2021-07-20 23:43:29 +02:00
gexp.scm tests: Pass #:guile to 'computed-file' & co. 2022-02-11 23:51:39 +01:00
git-authenticate.scm git-authenticate: Ensure the target is a descendant of the introductory commit. 2022-02-14 11:23:08 +01:00
git.scm git: Add 'commit-descendant?'. 2022-02-14 11:23:07 +01:00
glob.scm
gnu-maintenance.scm
go.scm tests: go: Fix typo. 2021-09-28 22:00:47 +02:00
grafts.scm
graph.scm tests: Assert that cyclic graphs can be produced. 2022-02-05 08:02:30 +01:00
gremlin.scm tests: Fix file-needed/recursive on aarch64-linux. 2022-01-16 20:21:27 -08:00
guix-archive.sh
guix-authenticate.sh tests: Move keys into ./tests/keys/ and add a third ed25519 key. 2021-12-22 10:53:19 +01:00
guix-build-branch.sh
guix-build.sh Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-11-08 09:06:14 +02:00
guix-daemon.sh
guix-describe.sh
guix-download.sh
guix-environment-container.sh environment: Add tests for '--profile'. 2021-10-25 19:02:32 +02:00
guix-environment.sh Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-10-31 14:49:47 +02:00
guix-gc.sh
guix-git-authenticate.sh git-authenticate: Ensure the target is a descendant of the introductory commit. 2022-02-14 11:23:08 +01:00
guix-graph.sh tests: Clean up after 'tests/guix-graph.sh'. 2022-01-16 23:56:56 +01:00
guix-hash.sh guix hash: Allow '--exclude-vcs' option using 'git' serializer. 2022-01-04 20:37:29 -05:00
guix-home.sh home: services: configuration: Support file-like objects. 2021-10-09 19:24:19 +03:00
guix-lint.sh
guix-pack-localstatedir.sh
guix-pack-relocatable.sh
guix-pack.sh
guix-package-aliases.sh
guix-package-net.sh package: Honor '--dry-run' when target profile is already in store. 2022-01-19 22:07:54 +01:00
guix-package.sh
guix-repl.sh
guix-shell.sh Merge remote-tracking branch 'signed/master' into core-updates 2021-12-10 21:49:25 +01:00
guix-system.sh gnu: bootloader: Support multiple targets. 2021-08-29 01:05:26 -04:00
hackage.scm Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-12-05 19:17:41 +01:00
home-import.scm home: import: Fix handling of manifest entries with specific output. 2022-01-05 23:44:18 +01:00
import-git.scm import: Add 'generic-git' updater. 2021-09-18 19:37:45 +02:00
import-github.scm import/github: Test it. 2022-01-16 23:56:56 +01:00
import-utils.scm import: utils: Skip not found packages. 2021-09-01 23:41:42 +02:00
inferior.scm
ipfs.scm
lint.scm lint: Adjust patch file length check. 2021-12-17 21:04:25 -08:00
minetest.scm upstream: Support updating and fetching 'git-fetch' origins. 2022-01-06 16:27:30 +01:00
modules.scm Remove VM generation dead-code. 2021-12-23 10:54:00 +01:00
monads.scm
nar.scm daemon: Do not deduplicate files smaller than 8 KiB. 2021-11-16 14:34:28 +01:00
networking.scm
offload.scm
opam.scm tests: Adjust opam and pypi tests to simplified inputs. 2021-11-18 22:56:10 +01:00
openpgp.scm tests: Move keys into ./tests/keys/ and add a third ed25519 key. 2021-12-22 10:53:19 +01:00
pack.scm Merge branch 'master' into core-updates 2021-07-18 19:50:01 +02:00
packages.scm tests: Pass #:guile to 'computed-file' & co. 2022-02-11 23:51:39 +01:00
pki.scm
print.scm Merge branch 'master' into core-updates-frozen 2021-11-17 23:43:14 +01:00
processes.scm
profiles.scm tests: Pass #:guile to 'computed-file' & co. 2022-02-11 23:51:39 +01:00
publish.scm tests: Adjust to gzip as the default log compression. 2022-01-19 22:07:54 +01:00
pypi.scm tests: Adjust pypi test to recent changes. 2022-02-11 23:51:39 +01:00
records.scm records: Support field sanitizers. 2021-08-12 12:34:13 +02:00
scripts.scm
search-paths.scm
services.scm
sets.scm
size.scm
status.scm
store-database.scm
store-deduplication.scm daemon: Do not deduplicate files smaller than 8 KiB. 2021-11-16 14:34:28 +01:00
store-roots.scm
store.scm Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-12-05 19:17:41 +01:00
style.scm style: '-S format' canonicalizes comments. 2022-01-10 14:59:26 +01:00
substitute.scm
swh.scm
syscalls.scm syscalls: Add 'openpty' and 'login-tty'. 2021-10-26 12:46:27 +02:00
system.scm Migrate to the new 'targets' field of bootloader-configuration. 2021-08-29 01:05:26 -04:00
test.drv
texlive.scm import: texlive: Remove labels from 'propagated-inputs' field. 2022-01-13 23:11:19 +01:00
transformations.scm transformations: Add '--tune'. 2022-01-01 15:23:24 +01:00
ui.scm
union.scm
upstream.scm tests: Add failing tests for changed-inputs on new style inputs. 2022-01-05 21:17:58 +01:00
utils.scm utils: Define a target-x86-32? and target-x86-64? predicate. 2021-11-07 01:38:23 -04:00
uuid.scm
workers.scm