gitea/models
Wim 9066d09c57
Add ssh certificate support (#12281)
* Add ssh certificate support

* Add ssh certificate support to builtin ssh

* Write trusted-user-ca-keys.pem based on configuration

* Update app.example.ini

* Update templates/user/settings/keys_principal.tmpl

Co-authored-by: silverwind <me@silverwind.io>

* Remove unused locale string

* Update options/locale/locale_en-US.ini

Co-authored-by: silverwind <me@silverwind.io>

* Update options/locale/locale_en-US.ini

Co-authored-by: silverwind <me@silverwind.io>

* Update models/ssh_key.go

Co-authored-by: silverwind <me@silverwind.io>

* Add missing creation of SSH.Rootpath

* Update cheatsheet, example and locale strings

* Update models/ssh_key.go

Co-authored-by: zeripath <art27@cantab.net>

* Update models/ssh_key.go

Co-authored-by: zeripath <art27@cantab.net>

* Update models/ssh_key.go

Co-authored-by: zeripath <art27@cantab.net>

* Update models/ssh_key.go

Co-authored-by: zeripath <art27@cantab.net>

* Update models/ssh_key.go

* Optimizations based on feedback

* Validate CA keys for external sshd

* Add filename option and change default filename

Add a SSH_TRUSTED_USER_CA_KEYS_FILENAME option which default is
RUN_USER/.ssh/gitea-trusted-user-ca-keys.pem

Do not write a file when SSH_TRUSTED_USER_CA_KEYS is empty.

Add some more documentation.

* Remove unneeded principalkey functions

* Add blank line

* Apply suggestions from code review

Co-authored-by: zeripath <art27@cantab.net>

* Add SSH_AUTHORIZED_PRINCIPALS_ALLOW option

This adds a SSH_AUTHORIZED_PRINCIPALS_ALLOW which is default
email,username this means that users only can add the principals
that match their email or username.

To allow anything the admin need to set the option anything.

This allows for a safe default in gitea which protects against malicious
users using other user's prinicipals. (before that user could set it).

This commit also has some small other fixes from the last code review.

* Rewrite principal keys file on user deletion

* Use correct rewrite method

* Set correct AuthorizedPrincipalsBackup default setting

* Rewrite principalsfile when adding principals

* Add update authorized_principals option to admin dashboard

* Handle non-primary emails

Signed-off-by: Andrew Thornton <art27@cantab.net>

* Add the command actually to the dashboard template

* Update models/ssh_key.go

Co-authored-by: silverwind <me@silverwind.io>

* By default do not show principal options unless there are CA keys set or they are explicitly set

Signed-off-by: Andrew Thornton <art27@cantab.net>

* allow settings when enabled

* Fix typos in TrustedUserCAKeys path

* Allow every CASignatureAlgorithms algorithm

As this depends on the content of TrustedUserCAKeys we should allow all
signature algorithms as admins can choose the specific algorithm on their
signing CA

* Update models/ssh_key.go

Co-authored-by: Lauris BH <lauris@nix.lv>

* Fix linting issue

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: techknowlogick <matti@mdranta.net>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2020-10-10 20:38:09 -04:00
..
fixtures Use argon as default password hash algorithm (#12688) 2020-09-03 14:58:31 -04:00
migrations Add configurable Trust Models (#11712) 2020-09-20 00:44:55 +08:00
access_test.go Fix "access" fixtures and tests (#10247) 2020-02-15 12:29:06 +08:00
access.go Upgrade xorm to v1.0.0 (#10646) 2020-03-22 11:12:55 -04:00
action_list.go refactor: reduce sql query in retrieveFeeds (#3547) 2018-02-21 18:55:34 +08:00
action_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
action.go Make dashboard newsfeed list length a configurable item (#12469) 2020-08-11 10:48:13 -04:00
admin_test.go
admin.go Add default storage configurations (#12813) 2020-09-29 12:05:13 +03:00
attachment_test.go Reading pull attachments should depend on read UnitTypePullRequests (#10346) 2020-02-18 21:36:19 -03:00
attachment.go Add a storage layer for attachments (#11387) 2020-08-18 12:23:45 +08:00
avatar.go Open transaction when adding Avatar email-hash pairs to the DB (#12577) 2020-08-24 18:39:18 -04:00
branches_test.go Add deleted_branch table fixture (#2832) 2017-11-04 15:31:59 +02:00
branches.go Rename models.ProtectedBranchRepoID to models.EnvRepoID and ensure EnvPusherEmail is set (#12646) 2020-08-30 08:24:39 +01:00
commit_status_test.go Fix wrong hint when status checking is running on pull request view (#9886) 2020-01-22 11:46:04 +08:00
commit_status.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
consistency.go Add migration to set IsArchived false if it is null (#11853) 2020-06-11 16:18:11 -04:00
context.go Upgrade xorm to v1.0.2 (#11900) 2020-06-15 16:46:01 -04:00
convert.go Whilst changing the character set to utf8mb4 we should set ROW_FORMAT=dynamic too (#12804) 2020-09-11 09:25:06 +01:00
error_oauth2.go
error.go Adopt repositories (#12920) 2020-09-25 07:09:23 +03:00
external_login_user.go Migrate reviews when migrating repository from github (#9463) 2020-01-23 19:28:15 +02:00
fixture_generation.go Move fixture generation to contrib and add test (#10277) 2020-02-15 10:59:43 +02:00
fixture_test.go Move fixture generation to contrib and add test (#10277) 2020-02-15 10:59:43 +02:00
gpg_key_test.go Allow addition of gpg keyring with multiple keys (#12487) 2020-08-21 13:45:50 +03:00
gpg_key.go Add configurable Trust Models (#11712) 2020-09-20 00:44:55 +08:00
helper_directory.go Re-attempt to delete temporary upload if the file is locked by another process (#12447) 2020-08-11 21:05:34 +01:00
helper_environment.go Set setting.AppURL as GITEA_ROOT_URL environment variable during pushes (#12752) 2020-09-06 23:53:42 -04:00
helper.go Add reactions to issues/PR and comments (#2856) 2017-12-04 01:14:26 +02:00
issue_assignees_test.go Fix API Bug (fail on empty assignees) (#8873) 2019-11-10 16:07:21 +08:00
issue_assignees.go Remove Unused Functions (#10516) 2020-03-02 00:05:44 +02:00
issue_comment_list.go Fixed repo link in generated comment for cross repository dependency (#9863) 2020-01-21 10:18:52 +00: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 Kanban board (#8346) 2020-08-16 23:07:38 -04:00
issue_dependency_test.go Refactor comment (#9330) 2019-12-15 16:57:34 -05:00
issue_dependency.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
issue_label_test.go BugFix: updateLabel can updated not allowed fields #11242 (#11242) 2020-04-28 19:28:56 -04:00
issue_label.go (Re)Load issue labels when changing them (#13007) 2020-10-05 09:49:11 +03:00
issue_list_test.go Add Organization Wide Labels (#10814) 2020-04-01 01:14:46 -03:00
issue_list.go [BugFix] ReviewCount: GetApprovalCounts func sorted wrong (#11086) 2020-04-16 13:44:34 +03:00
issue_lock.go remove unused method and rename createcommentWithNoAction (#9367) 2019-12-16 11:54:24 +08:00
issue_milestone_test.go Add name filter to API for GetMilestoneList (#12336) 2020-07-28 12:30:40 +01:00
issue_milestone.go Add Created & Updated to Milestone (#12662) 2020-09-05 13:38:54 -04:00
issue_reaction_test.go Migrate reactions when migrating repository from github (#9599) 2020-01-15 12:14:07 +01:00
issue_reaction.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
issue_stopwatch_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
issue_stopwatch.go Refactor: move Commit To APIFormat Code & Lot of StopWatch related things (#12729) 2020-09-18 20:09:26 +08:00
issue_test.go issue search on my related repositories (#9758) 2020-02-29 03:52:05 -03:00
issue_tracked_time_test.go [API] Extend times API (#9200) 2019-12-27 20:30:58 +00:00
issue_tracked_time.go Fix tracked time issues (#11349) 2020-05-09 11:18:44 -03:00
issue_user_test.go Add "Update Branch" button to Pull Requests (#9784) 2020-01-17 08:03:40 +02:00
issue_user.go Mail assignee when issue/pull request is assigned (#8546) 2019-10-25 22:46:37 +08:00
issue_watch_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
issue_watch.go Add issue subscription check to API (#10967) 2020-04-21 14:48:53 +01:00
issue_xref_test.go Refactor comment (#9330) 2019-12-15 16:57:34 -05:00
issue_xref.go remove unused method and rename createcommentWithNoAction (#9367) 2019-12-16 11:54:24 +08:00
issue.go (Re)Load issue labels when changing them (#13007) 2020-10-05 09:49:11 +03:00
lfs_lock.go Make repository management section handle lfs locks (#8726) 2019-12-12 21:18:07 +08:00
lfs.go LFS support to be stored on minio (#12518) 2020-09-08 23:45:10 +08:00
list_options.go Add cron running API (#12421) 2020-08-24 11:48:15 -04:00
log.go Upgrade xorm to v1.0.0 (#10646) 2020-03-22 11:12:55 -04:00
login_source.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
main_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
migrate.go [BugFix] remove nil inserts in models (#11096) 2020-04-17 20:42:57 +03:00
models_test.go gitea dump: include version & Check InstallLock (#12760) 2020-09-07 23:27:17 +01:00
models.go Add postgres schema to the search_path on database connection (#12634) 2020-09-11 10:30:19 +01:00
notification_test.go add request review from specific reviewers feature in pull request (#10756) 2020-04-06 19:33:34 +03:00
notification.go API: NotificationSubject show Issue/Pull State (#12901) 2020-09-20 19:10:53 -04:00
oauth2_application_test.go OAuth2 Grant UI (#6625) 2019-04-17 16:18:16 +08:00
oauth2_application.go Use google/uuid to instead satori/go.uuid (#11943) 2020-06-18 17:18:44 +08:00
oauth2.go Changed image of openid-connect logo for better look on arc-green theme (#11312) 2020-05-10 17:55:22 +03:00
org_team_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
org_team.go Automatically remove Watches, Assignments, etc if user loses access due to being removed as collaborator or from a team (#10997) 2020-04-07 22:52:01 +01:00
org_test.go Ensure DeleteUser is not allowed to Delete Orgs and visa versa (#10134) 2020-02-04 16:27:18 +02:00
org.go Fix bug preventing transfer to private organization (#12497) 2020-08-16 16:27:08 -04:00
project_board.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
project_issue.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
project_test.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
project.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
pull_list.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
pull_sign.go Add configurable Trust Models (#11712) 2020-09-20 00:44:55 +08:00
pull_test.go Display pull request head branch even the branch deleted or repository deleted (#10413) 2020-03-02 22:31:55 +00:00
pull.go Cache PullRequest Divergence (#10914) 2020-04-14 09:53:34 -04:00
release.go Add email notify for new release (#12463) 2020-08-23 16:03:18 +01:00
repo_activity.go Add top author stats to activity page (#9615) 2020-01-20 12:07:30 +02:00
repo_branch.go Move newbranch to standalone package (#9627) 2020-01-14 11:38:04 +08:00
repo_collaboration_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
repo_collaboration.go Automatically remove Watches, Assignments, etc if user loses access due to being removed as collaborator or from a team (#10997) 2020-04-07 22:52:01 +01:00
repo_generate_test.go Variable expansion in repository templates (#9163) 2019-11-30 01:54:47 -05:00
repo_generate.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
repo_indexer.go Index code and stats only for non-empty repositories (#10251) 2020-02-14 13:42:30 +01:00
repo_issue.go Add EnableTimetracking option to app settings (#3719) 2018-04-09 23:15:32 +08:00
repo_language_stats.go Increase size of the language column in language_stat (#12396) 2020-08-04 14:54:29 +01:00
repo_list_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
repo_list.go Adopt repositories (#12920) 2020-09-25 07:09:23 +03:00
repo_mirror.go Move some repository methods from models to modules/repository (#9353) 2019-12-14 18:30:01 +01:00
repo_permission_test.go fix bug when update owner team then visit team's repo return 404 (#6119) 2019-02-22 11:14:45 -05:00
repo_permission.go Fix deadlock when deleting team user (#13092) 2020-10-10 22:48:58 +03:00
repo_redirect_test.go Move repoWorkPool outside rename/transfer repository (#9086) 2019-12-06 12:00:50 +08:00
repo_redirect.go Move repoWorkPool outside rename/transfer repository (#9086) 2019-12-06 12:00:50 +08:00
repo_sign.go Add configurable Trust Models (#11712) 2020-09-20 00:44:55 +08:00
repo_test.go Decrease the num_stars when deleting a repo (#11954) 2020-07-07 15:16:34 -04:00
repo_unit.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
repo_watch_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
repo_watch.go Add action feed for new release (#12324) 2020-07-29 15:20:54 -04:00
repo.go Add default storage configurations (#12813) 2020-09-29 12:05:13 +03:00
review_test.go Update Octicons to v10 (#12240) 2020-07-17 18:15:12 +03:00
review.go Update Octicons to v10 (#12240) 2020-07-17 18:15:12 +03:00
ssh_key_test.go Disable DSA ssh keys by default (#13056) 2020-10-09 09:52:57 +03:00
ssh_key.go Add ssh certificate support (#12281) 2020-10-10 20:38:09 -04:00
star_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
star.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
task.go [API] Migration: Change ServiceType String (#12672) 2020-09-10 23:29:19 +01:00
test_fixtures.go upgrade to use testfixtures v3 (#11904) 2020-06-17 22:07:58 +03:00
token_test.go [API] Delete Token accept names too (#12366) 2020-08-28 11:09:33 +03:00
token.go [API] Delete Token accept names too (#12366) 2020-08-28 11:09:33 +03:00
topic_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
topic.go Add Primary Key to Topic and RepoTopic (#12639) 2020-09-10 20:45:01 +01:00
twofactor.go Attachments: Add extension support, allow all types for releases (#12465) 2020-10-05 01:49:33 -04:00
u2f_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
u2f.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
unit_tests.go Add default storage configurations (#12813) 2020-09-29 12:05:13 +03:00
unit.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
update.go Remove Unused Functions (#10516) 2020-03-02 00:05:44 +02:00
upload.go Re-attempt to delete temporary upload if the file is locked by another process (#12447) 2020-08-11 21:05:34 +01:00
user_follow_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
user_follow.go
user_heatmap_test.go Restricted users (#6274) 2020-01-13 18:33:46 +01:00
user_heatmap.go Add hide activity option (#11353) 2020-06-05 16:01:53 -04:00
user_mail_test.go Admin page for managing user e-mail activation (#10557) 2020-03-02 15:25:36 -03:00
user_mail.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
user_openid_test.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
user_openid.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
user_test.go Fix "only mail on mention" bug (#12775) 2020-09-09 15:08:55 -04:00
user.go Add ssh certificate support (#12281) 2020-10-10 20:38:09 -04:00
userlist_test.go Team permission to create repository in organization (#8312) 2019-11-20 19:27:49 +08:00
userlist.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
webhook_test.go Granular webhook events (#9626) 2020-03-06 07:10:48 +02:00
webhook.go Use google/uuid to instead satori/go.uuid (#11943) 2020-06-18 17:18:44 +08:00
wiki_test.go Move wiki related funtions from models to services/wiki (#9355) 2020-01-07 18:27:36 +00:00
wiki.go Add owner_name column for table repository for maintaince reason (#9717) 2020-01-12 17:36:21 +08:00