forgejo/models
zeripath 01c10a951b
Fix ssh deploy and user key constraints (#1357) (#5939)
1. A key can either be an ssh user key or a deploy key. It cannot be both.
2. If a key is a user key - it can only be associated with one user.
3. If a key is a deploy key - it can be used in multiple repositories and the permissions it has on those repositories can be different.
4. If a repository is deleted, its deploy keys must be deleted too.

We currently don't enforce any of this and multiple repositories access with different permissions doesn't work at all. This PR enforces the following constraints:

- [x] You should not be able to add the same user key as another user
- [x] You should not be able to add a ssh user key which is being used as a deploy key
- [x] You should not be able to add a ssh deploy key which is being used as a user key
- [x] If you add an ssh deploy key to another repository you should be able to use it in different modes without losing the ability to use it in the other mode.
- [x] If you delete a repository you must delete all its deploy keys.

Fix #1357
2019-02-03 23:56:53 +00:00
..
fixtures Ensure valid git author names passed in signatures (#5774) 2019-01-24 16:12:17 +02:00
migrations Fix failing migration v67 (#5849) 2019-01-26 14:50:36 +00:00
access.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
access_test.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
action.go Refactor repo.isBare to repo.isEmpty #5629 (#5714) 2019-01-17 19:01:04 -05:00
action_list.go
action_test.go Don't close issues via commits on non-default branch. (#5622) 2019-01-04 11:22:58 +02:00
admin.go
admin_test.go
attachment.go Added URL mapping for Release attachments like on github.com (#1707) 2019-01-06 17:37:30 -05:00
attachment_test.go
branches.go fix log output (#5938) 2019-02-02 21:56:15 +00:00
branches_test.go
consistency.go
error.go Pull request review/approval and comment on code (#3748) 2018-08-06 06:43:21 +02:00
error_oauth2.go
external_login_user.go
git_diff.go Fix regex to support optional end line of old section in diff hunk (#5096) 2018-10-17 22:03:49 -04:00
git_diff_test.go Pull request review/approval and comment on code (#3748) 2018-08-06 06:43:21 +02:00
gpg_key.go Fix null pointer dereference in ParseCommitWithSignature (#4962) 2018-09-20 13:49:07 +08:00
gpg_key_test.go
graph.go Make max commits in graph configurable (#4498) 2018-07-23 17:12:06 +03:00
graph_test.go Accept 'Data:' in commit graph (#4487) 2018-07-21 14:17:09 -04:00
helper.go
issue.go Add the ability to use multiple labels as filters(#5786) 2019-01-22 23:10:38 -05:00
issue_assignees.go Fix sqlite deadlock when assigning to a PR (#5640) 2019-01-04 16:51:27 -05:00
issue_assignees_test.go Improve performance of dashboard (#4977) 2018-12-13 10:55:43 -05:00
issue_comment.go support reviewing on a deleted file path (#5880) 2019-02-01 09:37:20 +08:00
issue_comment_list.go Improve performance of dashboard (#4977) 2018-12-13 10:55:43 -05:00
issue_comment_test.go Pull request review/approval and comment on code (#3748) 2018-08-06 06:43:21 +02:00
issue_dependency.go fix sqlite lock (#5184) 2018-10-27 22:45:24 +08:00
issue_dependency_test.go Fix an error while adding a dependency via UI. (#5862) 2019-01-27 13:31:40 +02:00
issue_indexer.go Refactor notification for indexer (#5111) 2019-01-17 22:23:22 +08:00
issue_label.go Add the ability to use multiple labels as filters(#5786) 2019-01-22 23:10:38 -05:00
issue_label_test.go
issue_list.go fix bugs when too many IN variables (#4594) 2018-08-02 21:49:05 +08:00
issue_list_test.go
issue_mail.go Also ensure the repo is loaded (#5895) 2019-01-29 22:43:40 +00:00
issue_milestone.go Milestone issues and pull requests (#5293) 2018-11-29 09:46:30 +08:00
issue_milestone_test.go Add more webhooks support and refactor webhook templates directory (#3929) 2018-05-16 22:01:55 +08:00
issue_reaction.go
issue_reaction_test.go Ensure valid git author names passed in signatures (#5774) 2019-01-24 16:12:17 +02:00
issue_stopwatch.go Improve performance of dashboard (#4977) 2018-12-13 10:55:43 -05:00
issue_stopwatch_test.go
issue_test.go Add the ability to use multiple labels as filters(#5786) 2019-01-22 23:10:38 -05:00
issue_tracked_time.go Improve performance of dashboard (#4977) 2018-12-13 10:55:43 -05:00
issue_tracked_time_test.go
issue_user.go Fix sqlite deadlock when assigning to a PR (#5640) 2019-01-04 16:51:27 -05:00
issue_user_test.go Multiple assignees (#3705) 2018-05-09 19:29:04 +03:00
issue_watch.go Update xorm to latest version and fix correct user table referencing in sql (#4473) 2018-07-20 10:10:17 +08:00
issue_watch_test.go
lfs.go Pooled and buffered gzip implementation (#5722) 2019-01-23 10:56:51 +02:00
lfs_lock.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
login_source.go Only allow local login if password is non-empty (#5906) 2019-01-30 23:18:54 +02:00
mail.go Improve performance of dashboard (#4977) 2018-12-13 10:55:43 -05:00
main_test.go
models.go Added test environment for mssql (#4282) 2018-12-12 09:01:41 +08:00
models_sqlite.go
models_test.go Change parsing of postgresql settings (#4275) 2018-06-20 08:06:01 +03:00
notification.go Fix sqlite lock (#5176) 2018-10-25 18:55:16 +08:00
notification_test.go
oauth2.go Discord Oauth2 support (#4476) 2019-01-13 14:06:22 -05:00
org.go api: Add missing GET teams endpoints (#5382) 2019-01-16 19:39:50 -05:00
org_team.go Config option to disable automatic repo watching (#5852) 2019-01-27 09:25:21 +00:00
org_team_test.go api: Add missing GET teams endpoints (#5382) 2019-01-16 19:39:50 -05:00
org_test.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
pull.go fix delete correct temp directory (#5839) 2019-01-25 02:54:09 -05:00
pull_test.go Disable merging a WIP Pull request (#4529) 2018-08-13 22:04:39 +03:00
release.go Added URL mapping for Release attachments like on github.com (#1707) 2019-01-06 17:37:30 -05:00
release_test.go mirror: Delete tags in mirror which are removed for original repo. (#5609) 2018-12-31 18:00:54 -05:00
repo.go Fix ssh deploy and user key constraints (#1357) (#5939) 2019-02-03 23:56:53 +00:00
repo_activity.go
repo_branch.go
repo_collaboration.go Fix not removed watches on unallowed repositories (#4201) 2018-06-19 15:44:33 -04:00
repo_collaboration_test.go
repo_editor.go
repo_indexer.go Update code.gitea.io/git (#3482) 2018-02-10 20:19:26 +02:00
repo_issue.go
repo_list.go This commit will reduce join star, repo_topic, topic tables on repo search, so that fix extra columns problem on mssql (#5136) 2018-10-30 17:48:37 -04:00
repo_list_test.go This commit will reduce join star, repo_topic, topic tables on repo search, so that fix extra columns problem on mssql (#5136) 2018-10-30 17:48:37 -04:00
repo_mirror.go Add option to disable automatic mirror syncing. (#5242) 2018-11-08 18:58:02 -05:00
repo_permission.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
repo_permission_test.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
repo_redirect.go
repo_redirect_test.go
repo_test.go
repo_unit.go Add rebase with merge commit merge style (#3844) (#4052) 2018-12-27 12:27:08 +02:00
repo_watch.go Fix sqlite deadlock when assigning to a PR (#5640) 2019-01-04 16:51:27 -05:00
repo_watch_test.go
review.go Webhook for Pull Request approval/rejection (#5027) 2018-12-27 13:04:30 -05:00
review_test.go Show review summary in pull requests (#5132) 2018-11-22 15:17:36 +02:00
ssh_key.go Fix ssh deploy and user key constraints (#1357) (#5939) 2019-02-03 23:56:53 +00:00
ssh_key_test.go
star.go Ensure that sessions are passed into queries that could use the database to prevent deadlocks (#5718) 2019-01-13 21:29:58 -05:00
star_test.go
status.go Fix race on updatesize (#5190) 2018-10-26 12:37:57 +03:00
status_test.go
test_fixtures.go Increase the retry limit to 20 times and the interval to 200ms (#5134) 2018-10-21 16:09:17 +02:00
token.go
token_test.go
topic.go fix topic name length on database (#5493) 2018-12-08 14:27:30 +02:00
topic_test.go feat(repo): support search repository by topic name (#4505) 2018-09-13 10:33:48 +08:00
twofactor.go Switch plaintext scratch tokens to use hash instead (#4331) 2018-07-27 08:54:50 -04:00
u2f.go Add support for FIDO U2F (#3971) 2018-05-19 17:12:37 +03:00
u2f_test.go Add support for FIDO U2F (#3971) 2018-05-19 17:12:37 +03:00
unit.go Fix create team, update team missing units (#5188) 2018-11-10 14:45:32 -05:00
unit_tests.go User action heatmap (#5131) 2018-10-23 10:57:42 +08:00
update.go Improve performance of dashboard (#4977) 2018-12-13 10:55:43 -05:00
update_test.go
user.go Don't discard the value of DISABLE_REGULAR_ORG_CREATION (#5886) 2019-01-30 12:04:14 -05:00
user_follow.go
user_follow_test.go
user_heatmap.go Only count users own actions for heatmap contributions (#5647) 2019-01-06 21:29:05 +02:00
user_heatmap_test.go Fix JSON result of empty array (#5154) 2018-10-24 21:17:21 +08:00
user_mail.go
user_mail_test.go
user_openid.go Fix SQL quoting (#5117) 2018-10-20 18:19:21 -04:00
user_openid_test.go
user_test.go Don't discard the value of DISABLE_REGULAR_ORG_CREATION (#5886) 2019-01-30 12:04:14 -05:00
webhook.go Webhook for Pull Request approval/rejection (#5027) 2018-12-27 13:04:30 -05:00
webhook_dingtalk.go Webhook for Pull Request approval/rejection (#5027) 2018-12-27 13:04:30 -05:00
webhook_discord.go Webhook for Pull Request approval/rejection (#5027) 2018-12-27 13:04:30 -05:00
webhook_slack.go handle milestone events for issues and PR (#5947) 2019-02-03 13:31:58 -05:00
webhook_test.go Add more webhooks support and refactor webhook templates directory (#3929) 2018-05-16 22:01:55 +08:00
wiki.go Fix deadlock when sqlite (#5118) 2018-10-19 12:36:42 -04:00
wiki_test.go