From 7ba41963dde175581ae7b395045fd51678237930 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Thu, 7 Jun 2018 21:31:28 +0200 Subject: snapshot: support tar signature for compressed tar This adds support for kernel.org style signatures where the uncompressed tar archive is signed and compressed later. The signature is valid for all tar* snapshots. We have a filter which snapshots may be generated and downloaded. This has to allow tar signatures now even if tar itself is not allowed. To simplify things we allow all signatures. Signed-off-by: Christian Hesse --- ui-shared.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'ui-shared.c') diff --git a/ui-shared.c b/ui-shared.c index 9a2e382..066a470 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -1114,7 +1114,7 @@ void cgit_compose_snapshot_prefix(struct strbuf *filename, const char *base, void cgit_print_snapshot_links(const struct cgit_repo *repo, const char *ref, const char *separator) { - const struct cgit_snapshot_format* f; + const struct cgit_snapshot_format *f; struct strbuf filename = STRBUF_INIT; const char *basename; size_t prefixlen; @@ -1139,6 +1139,13 @@ void cgit_print_snapshot_links(const struct cgit_repo *repo, const char *ref, cgit_snapshot_link("sig", NULL, NULL, NULL, NULL, filename.buf); html(")"); + } else if (starts_with(f->suffix, ".tar") && cgit_snapshot_get_sig(ref, &cgit_snapshot_formats[0])) { + strbuf_setlen(&filename, strlen(filename.buf) - strlen(f->suffix)); + strbuf_addstr(&filename, ".tar.asc"); + html(" ("); + cgit_snapshot_link("sig", NULL, NULL, NULL, NULL, + filename.buf); + html(")"); } html(separator); } -- cgit v1.2.3