Website Summary Files Commits Branches @commit @diff @stats
path: root / ui-log.c
diff options
context:
space:
mode:
Commit2c8b8462fc5d0266b08eed0c868cab32360679c3 (patch)
Author
 Syndamia <kamen@syndamia.com>
2026-10-02 07:24:52 +0300
Committer
 Syndamia <kamen@syndamia.com>
2026-10-02 07:24:52 +0300
Filescab322542093be0af0b1733334417b681d0163c6 /ui-log.c
cgit-2c8b8462fc5d0266b08eed0c868cab32360679c3.tar
cgit-2c8b8462fc5d0266b08eed0c868cab32360679c3.tar.gz
cgit-2c8b8462fc5d0266b08eed0c868cab32360679c3.zip
Parent592266cf623513b932dc002fde8fbbc0f81b0f28 (diff)
ui-log: Show commit verification status next to author
1 files changed, 22 insertions, 0 deletions
-rw-r--r--ui-log.c22
diff --git a/ui-log.c b/ui-log.c
index 3439bce..ad15a50 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -13,6 +13,7 @@
#include "html.h"
#include "ui-shared.h"
#include "strvec.h"
+#include "gpg-interface.h"
static int files, add_lines, rem_lines, lines_counted;
@@ -186,6 +187,8 @@ static void print_commit(struct commit *commit, struct rev_info *revs)
int columns = revs->graph ? 4 : 3;
struct strbuf graphbuf = STRBUF_INIT;
struct strbuf msgbuf = STRBUF_INIT;
+ struct signature_check signature_check;
+ memset(&signature_check, 0, sizeof(signature_check));
if (ctx.repo->enable_log_filecount)
columns++;
@@ -254,6 +257,25 @@ static void print_commit(struct commit *commit, struct rev_info *revs)
html_txt(info->author);
cgit_close_filter(ctx.repo->email_filter);
+ check_commit_signature(commit, &signature_check);
+ switch (signature_check.result) {
+ case 'G': /* Good signature */
+ case 'U': /* Good signature, untrusted signer */
+ htmlf(" <span class='signature verified' title='Fingerprint: %s'>Verified</span>", signature_check.primary_key_fingerprint);
+ break;
+ case 'B': /* Bad signature */
+ htmlf(" <span class='signature unverified' title='Fingerprint: %s'>Unverified</span>", signature_check.primary_key_fingerprint);
+ break;
+ default:
+ if (signature_check.key) {
+ if (signature_check.primary_key_fingerprint)
+ htmlf(" <span class='signature unverified' title='Fingerprint: %s'>Unverified</span>", signature_check.primary_key_fingerprint);
+ else
+ htmlf(" <span class='signature unverified' title='Key: %s'>Unverified</span>", signature_check.key);
+ }
+ }
+ signature_check_clear(&signature_check);
+
if (revs->graph) {
html("</td><td>");
cgit_print_age(info->committer_date, info->committer_tz, TM_WEEK * 2);