mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-13 02:57:44 -05:00
Committer verification #1181
Closed
opened 2025-11-02 03:51:35 -06:00 by GiteaMirror
·
17 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#1181
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @IlyaBelitser on GitHub (Oct 23, 2017).
Git and distributed version control have many benefits out of the box, but controlling access and workflows isn’t one of them. For example, without a Git management tool, a developer can push commits that others have written to the central repository.
This creates problems for organizations with strict security and compliance requirements.
It is necessary to add a new committer verification hook, which enforces that only the author of a commit can push those changes back to Gogs Server. We can sleep easy knowing that only authorized code changes can make it to your repositories.
BitBucket has added this feature.
https://www.atlassian.com/blog/bitbucket/enterprise-devops-bitbucket-server-5-bamboo-6
And GitLab adds too.
https://gitlab.com/gitlab-org/gitlab-ee/issues/1802
@sapk commented on GitHub (Oct 24, 2017):
From git point, I would recommend you to use gpg commit verification (allready implemented) that allow a "pusher" to push commit from another "commiter" and still be able to verify that the commit hasn't be tempered or that the identity of the commiter ins't falsify. This type of verification is totally decentralized and verification can also be done locally and is supported natively by git.
This solution, doesn't cover the part of only allowing to push commit from the logged user that maybe needed for your corporation (this would block cherry-pick and some git flow if enable).
If the gpg method doesn't fully comply with your need, gitea support server-side hook but those need to be added manually via git cli. More generaly, we could provide a way to apply predifined list of server-side hooks.
EDIT: it is also possible to edit the pre-receive hook via web interface.
@sapk commented on GitHub (Oct 24, 2017):
Some examples of pre-receive hook : https://github.com/github/platform-samples/blob/master/pre-receive-hooks/reject-external-email.sh or https://github.com/github/platform-samples/blob/master/pre-receive-hooks/commit-current-user-check.sh
@lunny commented on GitHub (Oct 27, 2017):
So maybe we could have an option on repository setting to deny all push gpg verify failed.
@stale[bot] commented on GitHub (Feb 11, 2019):
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions.
@Sebazzz commented on GitHub (Nov 10, 2019):
Does gitea pass any user info through environmental variables? That would allow these hooks to work.
@zeripath commented on GitHub (Nov 10, 2019):
Yes it does.
ee1d64ddd1/cmd/serv.go (L187-L195)However read my comments on #8584
It can be done we just need to do a bit more work.
@Sebazzz commented on GitHub (Nov 12, 2019):
For simple committer verification this works work well in Gitea v1.9.5:
This verifies every pushed commit against the Gitea users e-mail address. Indeed, gpg signing might be more perfect, but this does work.
@guillep2k commented on GitHub (Nov 12, 2019):
@Sebazzz there seems to be a typo in your example:
I think you need to change:
to
@Sebazzz commented on GitHub (Nov 12, 2019):
Yes, forgot it when copy pasting.
The only thing missing is that it doesn't verify the committer name because gitea doesn't pass that in an env. variable. You could do an api call for that though.
Met vriendelijke groet,
Sebastiaan Dammann
Van: guillep2k notifications@github.com
Verzonden: Tuesday, November 12, 2019 10:12:46 PM
Aan: go-gitea/gitea gitea@noreply.github.com
CC: Sebastiaan Dammann sebastiaandammann@outlook.com; Mention mention@noreply.github.com
Onderwerp: Re: [go-gitea/gitea] Committer verification (#2770)
@Sebazzzhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSebazzz&data=02%7C01%7C%7Cc3884d7275d441c0e51a08d767b51123%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637091899677346257&sdata=CauI0wqpyoZigfLmczvd6SBBJ2JqZhCXa%2BD%2F%2FdMxuQ8%3D&reserved=0 there seems to be a typo in your example:
remote: ./hooks/pre-receive.d/enforce-author: line 8: hasErr: command not found
I think you need to change:
hasErr = 0
to
hasErr=0
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgo-gitea%2Fgitea%2Fissues%2F2770%3Femail_source%3Dnotifications%26email_token%3DAAK4FMLGZR4Q3OB5FB7A46DQTML45A5CNFSM4EAKXJRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOED36HSI%23issuecomment-553116617&data=02%7C01%7C%7Cc3884d7275d441c0e51a08d767b51123%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637091899677356262&sdata=UaseFGf4%2FV%2B40uKGazweo69P2dsAkapkViI%2BI%2Fu%2BR%2FI%3D&reserved=0, or unsubscribehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAK4FMIGADBIAFX2LCSLFKLQTML45ANCNFSM4EAKXJRA&data=02%7C01%7C%7Cc3884d7275d441c0e51a08d767b51123%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637091899677366273&sdata=OxsC0lOmhu74%2F96UsLnB2ukxrsaqStoBx%2FuL3uGrhcU%3D&reserved=0.
@Sebazzz commented on GitHub (Nov 12, 2019):
Yes, but it is also on my profile. Thanks though 👍
Met vriendelijke groet,
Sebastiaan Dammann
Van: guillep2k notifications@github.com
Verzonden: Tuesday, November 12, 2019 10:16:55 PM
Aan: go-gitea/gitea gitea@noreply.github.com
CC: Sebastiaan Dammann sebastiaandammann@outlook.com; Mention mention@noreply.github.com
Onderwerp: Re: [go-gitea/gitea] Committer verification (#2770)
@Sebazzzhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSebazzz&data=02%7C01%7C%7Cb9264726c4ae46a1f5df08d767b5a5a5%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637091902168298842&sdata=GBXU%2BS1EUyXJLElyh48K2tJeTTEUDRS%2BRKfJSxUbCZE%3D&reserved=0 just so you know, your comment exposed your e-mail.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgo-gitea%2Fgitea%2Fissues%2F2770%3Femail_source%3Dnotifications%26email_token%3DAAK4FMINUACLPIUJ5KYJW5DQTMMMPA5CNFSM4EAKXJRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOED36UWY%23issuecomment-553118299&data=02%7C01%7C%7Cb9264726c4ae46a1f5df08d767b5a5a5%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637091902168298842&sdata=OJrhAg4XA2A0HJr6vWW9WpyAVGJei2Z6SxpC7Xn823Y%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAK4FMPMNJC4NFEEYCWOKBLQTMMMPANCNFSM4EAKXJRA&data=02%7C01%7C%7Cb9264726c4ae46a1f5df08d767b5a5a5%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637091902168308846&sdata=Ao50vY17koIHAu99kZExA%2BihRQz2FWtIoBp1gSrTpH8%3D&reserved=0.
@zeripath commented on GitHub (Nov 12, 2019):
So Gitea won't be able to pass the committer name as a variable as that's in the commits themselves - you'd need to examine the commit and then interrogate Gitea over the API to do it.
I am aware of how to go about adding this to Gitea's protected branch stuff but I've not had time. If you're willing and understand what I've written in #8584 this could be a good PR.
@Sebazzz commented on GitHub (Nov 13, 2019):
Hi zeripath,
I meant the full name (display name). That info is readily available. A hook can then compare it to whatever is in the commits.
Met vriendelijke groet,
Sebastiaan Dammann
Van: zeripath notifications@github.com
Verzonden: Tuesday, November 12, 2019 11:48:24 PM
Aan: go-gitea/gitea gitea@noreply.github.com
CC: Sebastiaan Dammann sebastiaandammann@outlook.com; Mention mention@noreply.github.com
Onderwerp: Re: [go-gitea/gitea] Committer verification (#2770)
So Gitea won't be able to pass the committer name as a variable as that's in the commits themselves - you'd need to examine the commit and then interrogate Gitea over the API to do it.
I am aware of how to go about adding this to Gitea's protected branch stuff but I've not had time. If you're willing and understand what I've written in #8584https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgo-gitea%2Fgitea%2Fpull%2F8584&data=02%7C01%7C%7Cb27ef3dc361449a58b6308d767c26e2b%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637091957070836201&sdata=oQEKqkWdas4MVbq7SPMH2yZSRYqCMzuVmQt0HIwY7YY%3D&reserved=0 this could be a good PR.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgo-gitea%2Fgitea%2Fissues%2F2770%3Femail_source%3Dnotifications%26email_token%3DAAK4FMIKZ2627BSLU4OKABLQTMXDRA5CNFSM4EAKXJRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOED4HD5I%23issuecomment-553153013&data=02%7C01%7C%7Cb27ef3dc361449a58b6308d767c26e2b%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637091957070846194&sdata=rE0ZbwEJO5aYiQ83ez%2BfPP0bX1s1KUQyuNWg2ivda2s%3D&reserved=0, or unsubscribehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAK4FMJL52NJWLFTFGDJ5N3QTMXDRANCNFSM4EAKXJRA&data=02%7C01%7C%7Cb27ef3dc361449a58b6308d767c26e2b%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637091957070856205&sdata=%2B%2BPx80dxK7xRo0aiVOT3MF2jQxqFEuOAXT5Bwoxo%2FME%3D&reserved=0.
@zeripath commented on GitHub (Nov 13, 2019):
Ah, I'd forgotten what this issue was asking for.
Yeah we don't put the full name or email address in the environment because we don't use it - however you can easily get that from the Gitea API with a sufficiently powerful token (if you need to override hide email address) at
/api/v1/users/{user}Yeah it's a little slow to have to send an API request but it's not overly long.
@6543 commented on GitHub (Jan 16, 2020):
If I understand correct #9708 close this?
and I created a PR for docs update: #9793
@Jackenmen commented on GitHub (Feb 26, 2020):
Not entirely sure, but I think "Verified Committer" on comparison page in docs should have a tick for Gitea? https://docs.gitea.io/en-us/comparison/#code-management
@6543 commented on GitHub (Feb 26, 2020):
I think this will be a "tick" when #10425 is merged @zeripath ?
@zeripath commented on GitHub (Feb 26, 2020):
I'm gonna make it "/" because if we're gonna say we do this I think we will need to do it properly.