summaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
authorAntoine GIRARD <sapk@users.noreply.github.com>2017-03-22 11:43:54 +0100
committerLunny Xiao <xiaolunwen@gmail.com>2017-03-22 18:43:54 +0800
commit14fe9010ae8aecc0bcd38059b4c71256524b5341 (patch)
tree6a4740387d288ea8cd433412d36624e30912d5ee /routers
parent9224405155322e096e7f2d0f9eed35633b937951 (diff)
downloadgitea-14fe9010ae8aecc0bcd38059b4c71256524b5341.tar.gz
gitea-14fe9010ae8aecc0bcd38059b4c71256524b5341.zip
GPG commit validation (#1150)
* GPG commit validation * Add translation + some little fix * Move hash calc after retrieving of potential key + missing translation * Add some little test
Diffstat (limited to 'routers')
-rw-r--r--routers/api/v1/convert/convert.go7
-rw-r--r--routers/repo/commit.go5
2 files changed, 12 insertions, 0 deletions
diff --git a/routers/api/v1/convert/convert.go b/routers/api/v1/convert/convert.go
index 7485ac9e2a..153993ce82 100644
--- a/routers/api/v1/convert/convert.go
+++ b/routers/api/v1/convert/convert.go
@@ -44,6 +44,7 @@ func ToCommit(c *git.Commit) *api.PayloadCommit {
if err == nil {
committerUsername = committer.Name
}
+ verif := models.ParseCommitWithSignature(c)
return &api.PayloadCommit{
ID: c.ID.String(),
Message: c.Message(),
@@ -59,6 +60,12 @@ func ToCommit(c *git.Commit) *api.PayloadCommit {
UserName: committerUsername,
},
Timestamp: c.Author.When,
+ Verification: &api.PayloadCommitVerification{
+ Verified: verif.Verified,
+ Reason: verif.Reason,
+ Signature: c.Signature.Signature,
+ Payload: c.Signature.Payload,
+ },
}
}
diff --git a/routers/repo/commit.go b/routers/repo/commit.go
index 7f4457c52b..62f55a52e3 100644
--- a/routers/repo/commit.go
+++ b/routers/repo/commit.go
@@ -68,6 +68,7 @@ func Commits(ctx *context.Context) {
}
commits = renderIssueLinks(commits, ctx.Repo.RepoLink)
commits = models.ValidateCommitsWithEmails(commits)
+ commits = models.ParseCommitsWithSignature(commits)
ctx.Data["Commits"] = commits
ctx.Data["Username"] = ctx.Repo.Owner.Name
@@ -121,6 +122,7 @@ func SearchCommits(ctx *context.Context) {
}
commits = renderIssueLinks(commits, ctx.Repo.RepoLink)
commits = models.ValidateCommitsWithEmails(commits)
+ commits = models.ParseCommitsWithSignature(commits)
ctx.Data["Commits"] = commits
ctx.Data["Keyword"] = keyword
@@ -167,6 +169,7 @@ func FileHistory(ctx *context.Context) {
}
commits = renderIssueLinks(commits, ctx.Repo.RepoLink)
commits = models.ValidateCommitsWithEmails(commits)
+ commits = models.ParseCommitsWithSignature(commits)
ctx.Data["Commits"] = commits
ctx.Data["Username"] = ctx.Repo.Owner.Name
@@ -222,6 +225,7 @@ func Diff(ctx *context.Context) {
ctx.Data["IsImageFile"] = commit.IsImageFile
ctx.Data["Title"] = commit.Summary() + " ยท " + base.ShortSha(commitID)
ctx.Data["Commit"] = commit
+ ctx.Data["Verification"] = models.ParseCommitWithSignature(commit)
ctx.Data["Author"] = models.ValidateCommitWithEmail(commit)
ctx.Data["Diff"] = diff
ctx.Data["Parents"] = parents
@@ -276,6 +280,7 @@ func CompareDiff(ctx *context.Context) {
return
}
commits = models.ValidateCommitsWithEmails(commits)
+ commits = models.ParseCommitsWithSignature(commits)
ctx.Data["CommitRepoLink"] = ctx.Repo.RepoLink
ctx.Data["Commits"] = commits