Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix gpg key deletion #14561

Merged
merged 4 commits into from
Feb 4, 2021
Merged

Conversation

anton-khimich
Copy link
Contributor

@anton-khimich anton-khimich commented Feb 3, 2021

Fixes #14531.

Per #14531, deleting a user account will delete the user's GPG keys
from the gpg_key table but not from gpg_key_import, which causes
an error when creating an account with the same email and attempting
to re-add the same key. This commit deletes all entries from
gpg_key_import that match any GPG key IDs belonging to the user.

Note: Deleting the user's keys from gpg_key_import this way seems pretty convoluted,
but I don't see an obvious alternative except for maybe modifying GPGKeyImport to
have an OwnerID field as in GPGKey.

Anton Khimich added 2 commits February 3, 2021 15:43
Per go-gitea#14531, deleting a user account will delete the user's GPG keys
from the `gpg_key` table but not from `gpg_key_import`, which causes
an error when creating an account with the same email and attempting
to re-add the same key. This commit deletes all entries from
`gpg_key_import` that match any GPG key IDs belonging to the user.
models/user.go Outdated Show resolved Hide resolved
@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Feb 4, 2021
@6543 6543 added the type/bug label Feb 4, 2021
@6543 6543 added this to the 1.14.0 milestone Feb 4, 2021
Create a new function `listGPGKeys` and replace a previous use
of `ListGPGKeys`. Thanks to @6543 for the patch.
@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Feb 4, 2021
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Feb 4, 2021
@lunny
Copy link
Member

lunny commented Feb 4, 2021

We also needs a doctor command to correct history wrong data.

@lunny lunny merged commit 80b1d02 into go-gitea:master Feb 4, 2021
@lunny
Copy link
Member

lunny commented Feb 4, 2021

Please send backport to v1.13

@anton-khimich anton-khimich deleted the fix_gpg_key_deletion branch February 4, 2021 16:07
@anton-khimich anton-khimich restored the fix_gpg_key_deletion branch February 4, 2021 16:07
anton-khimich pushed a commit to anton-khimich/gitea that referenced this pull request Feb 4, 2021


Per go-gitea#14531, deleting a user account will delete the user's GPG keys
from the `gpg_key` table but not from `gpg_key_import`, which causes
an error when creating an account with the same email and attempting
to re-add the same key. This commit deletes all entries from
`gpg_key_import` that match any GPG key IDs belonging to the user.
@6543 6543 added the backport/done All backports for this PR have been created label Feb 4, 2021
@anton-khimich anton-khimich deleted the fix_gpg_key_deletion branch February 4, 2021 16:44
6543 pushed a commit that referenced this pull request Feb 4, 2021
Per #14531, deleting a user account will delete the user's GPG keys
from the `gpg_key` table but not from `gpg_key_import`, which causes
an error when creating an account with the same email and attempting
to re-add the same key. This commit deletes all entries from
`gpg_key_import` that match any GPG key IDs belonging to the user.

Co-authored-by: Anton Khimich <[email protected]>
a1012112796 added a commit to a1012112796/gitea that referenced this pull request Feb 9, 2021
* master: (22 commits)
  Add support for ref parameter to get raw file API (go-gitea#14602)
  Fixed irritating error message related to go version (go-gitea#14611)
  Use OldRef instead of CommitSHA for DeleteBranch comments (go-gitea#14604)
  Add information on how to build statically (go-gitea#14594)
  [skip ci] Updated translations via Crowdin
  Exclude the current dump file from the dump (go-gitea#14606)
  Remove spurious DataAsync Error logging (go-gitea#14599)
  [API] Add  delete release by tag & fix unreleased inconsistency (go-gitea#14563)
  Fix rate limit bug when downloading assets on migrating from github (go-gitea#14564)
  [API] Add affected files of commits to commit struct (go-gitea#14579)
  [skip ci] Updated licenses and gitignores
  Fix locale init (go-gitea#14582)
  Add Content-Length header to HEAD requests (go-gitea#14542)
  Honor REGISTER_MANUAL_CONFIRM when doing openid registration (go-gitea#14548)
  Fix lfs file viewer (go-gitea#14568)
  Fix typo in generate-emoji.go (go-gitea#14570)
  Fix bug about ListOptions and stars/watchers pagnation (go-gitea#14556)
  Fix gpg key deletion (go-gitea#14561)
  [API] GetRelease by tag only return release (go-gitea#14397)
  Reduce data races (go-gitea#14549)
  ...
@go-gitea go-gitea locked and limited conversation to collaborators Mar 11, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backport/done All backports for this PR have been created lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. type/bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PGP keys aren't deleted when user is deleted
4 participants