gitea/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_test.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
access.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
action_list.go refactor: reduce sql query in retrieveFeeds (#3547) 2018-02-21 18:55:34 +08:00
action_test.go Don't close issues via commits on non-default branch. (#5622) 2019-01-04 11:22:58 +02:00
action.go Refactor repo.isBare to repo.isEmpty #5629 (#5714) 2019-01-17 19:01:04 -05:00
admin_test.go Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
admin.go Refactor struct's time to remove unnecessary memory usage (#3142) 2017-12-11 06:37:04 +02:00
attachment_test.go Add Attachment API (#3478) 2018-03-06 09:22:16 +08:00
attachment.go Added URL mapping for Release attachments like on github.com (#1707) 2019-01-06 17:37:30 -05:00
branches_test.go Add deleted_branch table fixture (#2832) 2017-11-04 15:31:59 +02:00
branches.go fix log output (#5938) 2019-02-02 21:56:15 +00:00
consistency.go Fix activity feed (#1779) 2017-05-26 09:38:18 +08:00
error_oauth2.go gofmt (#1662) 2017-05-04 13:54:56 +08:00
error.go Pull request review/approval and comment on code (#3748) 2018-08-06 06:43:21 +02:00
external_login_user.go Add primary key and index to external login user table (#1656) 2017-05-02 16:41:44 +08:00
git_diff_test.go Pull request review/approval and comment on code (#3748) 2018-08-06 06:43:21 +02:00
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
gpg_key_test.go Refactor struct's time to remove unnecessary memory usage (#3142) 2017-12-11 06:37:04 +02:00
gpg_key.go Fix null pointer dereference in ParseCommitWithSignature (#4962) 2018-09-20 13:49:07 +08:00
graph_test.go Accept 'Data:' in commit graph (#4487) 2018-07-21 14:17:09 -04:00
graph.go Make max commits in graph configurable (#4498) 2018-07-23 17:12:06 +03:00
helper.go Add reactions to issues/PR and comments (#2856) 2017-12-04 01:14:26 +02:00
issue_assignees_test.go Improve performance of dashboard (#4977) 2018-12-13 10:55:43 -05:00
issue_assignees.go Fix sqlite deadlock when assigning to a PR (#5640) 2019-01-04 16:51:27 -05: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_comment.go support reviewing on a deleted file path (#5880) 2019-02-01 09:37:20 +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_dependency.go fix sqlite lock (#5184) 2018-10-27 22:45:24 +08:00
issue_indexer.go Refactor notification for indexer (#5111) 2019-01-17 22:23:22 +08:00
issue_label_test.go Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
issue_label.go Add the ability to use multiple labels as filters(#5786) 2019-01-22 23:10:38 -05:00
issue_list_test.go Shows total tracked time in issue and milestone list (#3341) 2018-04-29 13:58:47 +08:00
issue_list.go fix bugs when too many IN variables (#4594) 2018-08-02 21:49:05 +08:00
issue_mail.go Also ensure the repo is loaded (#5895) 2019-01-29 22:43:40 +00:00
issue_milestone_test.go Add more webhooks support and refactor webhook templates directory (#3929) 2018-05-16 22:01:55 +08:00
issue_milestone.go Milestone issues and pull requests (#5293) 2018-11-29 09:46:30 +08:00
issue_reaction_test.go Ensure valid git author names passed in signatures (#5774) 2019-01-24 16:12:17 +02:00
issue_reaction.go Refactor struct's time to remove unnecessary memory usage (#3142) 2017-12-11 06:37:04 +02:00
issue_stopwatch_test.go Refactor struct's time to remove unnecessary memory usage (#3142) 2017-12-11 06:37:04 +02:00
issue_stopwatch.go Improve performance of dashboard (#4977) 2018-12-13 10:55:43 -05:00
issue_test.go Add the ability to use multiple labels as filters(#5786) 2019-01-22 23:10:38 -05:00
issue_tracked_time_test.go Feature: Timetracking (#2211) 2017-09-12 09:48:13 +03:00
issue_tracked_time.go Improve performance of dashboard (#4977) 2018-12-13 10:55:43 -05:00
issue_user_test.go Multiple assignees (#3705) 2018-05-09 19:29:04 +03:00
issue_user.go Fix sqlite deadlock when assigning to a PR (#5640) 2019-01-04 16:51:27 -05:00
issue_watch_test.go Hide unactive on explore users and some refactors (#2741) 2017-10-24 20:36:19 +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.go Add the ability to use multiple labels as filters(#5786) 2019-01-22 23:10:38 -05:00
lfs_lock.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
lfs.go Pooled and buffered gzip implementation (#5722) 2019-01-23 10:56:51 +02: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 Unit tests for wiki routers (#3022) 2017-11-30 17:52:15 +02:00
models_sqlite.go
models_test.go Change parsing of postgresql settings (#4275) 2018-06-20 08:06:01 +03:00
models.go Added test environment for mssql (#4282) 2018-12-12 09:01:41 +08:00
notification_test.go Add 'mark all read' option to notifications (#3097) 2017-12-07 13:52:57 +08:00
notification.go Fix sqlite lock (#5176) 2018-10-25 18:55:16 +08:00
oauth2.go Discord Oauth2 support (#4476) 2019-01-13 14:06:22 -05:00
org_team_test.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_test.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
org.go api: Add missing GET teams endpoints (#5382) 2019-01-16 19:39:50 -05:00
pull_test.go Disable merging a WIP Pull request (#4529) 2018-08-13 22:04:39 +03:00
pull.go fix delete correct temp directory (#5839) 2019-01-25 02:54:09 -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
release.go Added URL mapping for Release attachments like on github.com (#1707) 2019-01-06 17:37:30 -05:00
repo_activity.go Add issue closed time column to fix activity closed issues list (#3537) 2018-02-19 10:39:26 +08:00
repo_branch.go Create new branch from branch selection dropdown (#2130) 2017-10-15 22:59:24 +03:00
repo_collaboration_test.go
repo_collaboration.go Fix not removed watches on unallowed repositories (#4201) 2018-06-19 15:44:33 -04:00
repo_editor.go Code/repo search (#2582) 2017-10-27 09:10:54 +03:00
repo_indexer.go Update code.gitea.io/git (#3482) 2018-02-10 20:19:26 +02:00
repo_issue.go Add EnableTimetracking option to app settings (#3719) 2018-04-09 23:15:32 +08: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_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_mirror.go Add option to disable automatic mirror syncing. (#5242) 2018-11-08 18:58:02 -05:00
repo_permission_test.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
repo_permission.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
repo_redirect_test.go
repo_redirect.go
repo_test.go Fix repo-transfer-and-team-repo-count bug (#3241) 2017-12-19 23:37:56 -06:00
repo_unit.go Add rebase with merge commit merge style (#3844) (#4052) 2018-12-27 12:27:08 +02:00
repo_watch_test.go Hide unactive on explore users and some refactors (#2741) 2017-10-24 20:36:19 +03:00
repo_watch.go Fix sqlite deadlock when assigning to a PR (#5640) 2019-01-04 16:51:27 -05:00
repo.go Fix ssh deploy and user key constraints (#1357) (#5939) 2019-02-03 23:56:53 +00:00
review_test.go Show review summary in pull requests (#5132) 2018-11-22 15:17:36 +02:00
review.go Webhook for Pull Request approval/rejection (#5027) 2018-12-27 13:04:30 -05:00
ssh_key_test.go
ssh_key.go Fix ssh deploy and user key constraints (#1357) (#5939) 2019-02-03 23:56:53 +00:00
star_test.go Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
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
status_test.go Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
status.go Fix race on updatesize (#5190) 2018-10-26 12:37:57 +03:00
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_test.go Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
token.go Refactor struct's time to remove unnecessary memory usage (#3142) 2017-12-11 06:37:04 +02:00
topic_test.go feat(repo): support search repository by topic name (#4505) 2018-09-13 10:33:48 +08:00
topic.go fix topic name length on database (#5493) 2018-12-08 14:27:30 +02:00
twofactor.go Switch plaintext scratch tokens to use hash instead (#4331) 2018-07-27 08:54:50 -04:00
u2f_test.go Add support for FIDO U2F (#3971) 2018-05-19 17:12:37 +03:00
u2f.go Add support for FIDO U2F (#3971) 2018-05-19 17:12:37 +03:00
unit_tests.go User action heatmap (#5131) 2018-10-23 10:57:42 +08:00
unit.go Fix create team, update team missing units (#5188) 2018-11-10 14:45:32 -05:00
update_test.go Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
update.go Improve performance of dashboard (#4977) 2018-12-13 10:55:43 -05:00
user_follow_test.go
user_follow.go Refactor session close as xorm already does everything needed internally (#2020) 2017-06-21 08:57:05 +08:00
user_heatmap_test.go Fix JSON result of empty array (#5154) 2018-10-24 21:17:21 +08:00
user_heatmap.go Only count users own actions for heatmap contributions (#5647) 2019-01-06 21:29:05 +02:00
user_mail_test.go Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
user_mail.go Replace deprecated Id method with ID (#2655) 2017-10-05 07:43:04 +03:00
user_openid_test.go Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
user_openid.go Fix SQL quoting (#5117) 2018-10-20 18:19:21 -04:00
user_test.go Don't discard the value of DISABLE_REGULAR_ORG_CREATION (#5886) 2019-01-30 12:04:14 -05:00
user.go Don't discard the value of DISABLE_REGULAR_ORG_CREATION (#5886) 2019-01-30 12:04:14 -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
webhook.go Webhook for Pull Request approval/rejection (#5027) 2018-12-27 13:04:30 -05:00
wiki_test.go test: reduce testing time. (#3885) 2018-05-02 21:56:19 +08:00
wiki.go Fix deadlock when sqlite (#5118) 2018-10-19 12:36:42 -04:00