]> source.dussan.org Git - gitea.git/commit
Add configurable Trust Models (#11712)
authorzeripath <art27@cantab.net>
Sat, 19 Sep 2020 16:44:55 +0000 (17:44 +0100)
committerGitHub <noreply@github.com>
Sat, 19 Sep 2020 16:44:55 +0000 (00:44 +0800)
commit4979f15c3f44b8e7be46ebce02e25ebd9cc74197
tree803aa9da68170090d22d7a1235f36189d1bca9ba
parent89c94e2f8e871028492d5460fd3a10794f4ced1b
Add configurable Trust Models (#11712)

* Add configurable Trust Models

Gitea's default signature verification model differs from GitHub. GitHub
uses signatures to verify that the committer is who they say they are -
meaning that when GitHub makes a signed commit it must be the committer.
The GitHub model prevents re-publishing of commits after revocation of a
key and prevents re-signing of other people's commits to create a
completely trusted repository signed by one key or a set of trusted
keys.

The default behaviour of Gitea in contrast is to always display the
avatar and information related to a signature. This allows signatures to
be decoupled from the committer. That being said, allowing arbitary
users to present other peoples commits as theirs is not necessarily
desired therefore we have a trust model whereby signatures from
collaborators are marked trusted, signatures matching the commit line
are marked untrusted and signatures that match a user in the db but not
the committer line are marked unmatched.

The problem with this model is that this conflicts with Github therefore
we need to provide an option to allow users to choose the Github model
should they wish to.

Signed-off-by: Andrew Thornton <art27@cantab.net>
* Adjust locale strings

Signed-off-by: Andrew Thornton <art27@cantab.net>
* as per @6543

Co-authored-by: 6543 <6543@obermui.de>
* Update models/gpg_key.go

* Add migration for repository

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
29 files changed:
custom/conf/app.example.ini
docs/content/doc/advanced/config-cheat-sheet.en-us.md
models/gpg_key.go
models/migrations/migrations.go
models/migrations/v152.go [new file with mode: 0644]
models/pull_sign.go
models/repo.go
models/repo_sign.go
modules/auth/repo_form.go
modules/context/repo.go
modules/git/repo_tree.go
modules/repofiles/delete.go
modules/repofiles/temp_repo.go
modules/repofiles/update.go
modules/repository/create.go
modules/repository/generate.go
modules/repository/init.go
modules/setting/repository.go
modules/structs/repo.go
options/locale/locale_en-US.ini
routers/api/v1/repo/repo.go
routers/repo/issue.go
routers/repo/repo.go
routers/repo/setting.go
services/pull/merge.go
services/wiki/wiki.go
templates/repo/create.tmpl
templates/repo/settings/options.tmpl
templates/swagger/v1_json.tmpl