forgejo/models
zeripath e0853d4a21
Add API Token Cache ()
One of the issues holding back performance of the API is the problem of hashing.
Whilst banning BASIC authentication with passwords will help, the API Token scheme
still requires a PBKDF2 hash - which means that heavy API use (using Tokens) can
still cause enormous numbers of hash computations.

A slight solution to this whilst we consider moving to using JWT based tokens and/or
a session orientated solution is to simply cache the successful tokens. This has some
security issues but this should be balanced by the security issues of load from
hashing.

Related 

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

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2021-08-17 14:30:42 -04:00
..
fixtures Add filter by owner and team to issue/pulls search endpoint () 2021-08-13 22:47:25 +02:00
migrations Add Version info to migrations.go () 2021-08-08 13:34:42 -04:00
access.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
access_test.go Fix "access" fixtures and tests () 2020-02-15 12:29:06 +08:00
action.go Improve notifications for WIP draft PR's () 2021-06-23 00:14:22 -04:00
action_list.go refactor: reduce sql query in retrieveFeeds () 2018-02-21 18:55:34 +08:00
action_test.go Clarify the suffices and prefixes of setting.AppSubURL and setting.AppURL () 2021-02-19 22:36:43 +01:00
admin.go improve empty notice () 2021-05-16 19:58:26 +08:00
admin_test.go Fix tests code to prevent some runtime errors () 2017-08-28 12:17:45 +03:00
attachment.go Add size to Save function () 2021-04-03 18:19:59 +02:00
attachment_test.go Fixed assert statements. () 2021-06-07 07:27:09 +02:00
avatar.go Double the avatar size factor () 2021-05-21 21:18:43 -04:00
avatar_test.go Fix individual tests (addition to ) () 2021-05-12 00:13:42 -04:00
branches.go Fix various documentation, user-facing, and source comment typos () 2021-07-08 13:38:13 +02:00
branches_test.go Add deleted_branch table fixture () 2017-11-04 15:31:59 +02:00
commit.go Replace list.List with slices () 2021-08-09 14:08:51 -04:00
commit_status.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
commit_status_test.go Fix bug about ListOptions and stars/watchers pagnation () 2021-02-04 11:23:46 -06:00
consistency.go Update milestone counters on new issue. () 2021-06-21 14:34:58 -04:00
consistency_test.go Fix orphaned objects deletion bug () 2021-04-30 20:08:46 +02:00
context.go Fix various documentation, user-facing, and source comment typos () 2021-07-08 13:38:13 +02:00
convert.go just add some unit tests () 2021-06-29 22:00:02 +01:00
error.go Add option to provide signature for a token to verify key ownership () 2021-07-13 15:28:07 +02:00
error_oauth2.go gofmt () 2017-05-04 13:54:56 +08:00
external_login_user.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
fixture_generation.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
fixture_test.go Move fixture generation to contrib and add test () 2020-02-15 10:59:43 +02:00
gpg_key.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
gpg_key_add.go Add option to provide signature for a token to verify key ownership () 2021-07-13 15:28:07 +02:00
gpg_key_commit_verification.go Replace list.List with slices () 2021-08-09 14:08:51 -04:00
gpg_key_common.go Add option to provide signature for a token to verify key ownership () 2021-07-13 15:28:07 +02:00
gpg_key_import.go Add option to provide signature for a token to verify key ownership () 2021-07-13 15:28:07 +02:00
gpg_key_test.go Add option to provide signature for a token to verify key ownership () 2021-07-13 15:28:07 +02:00
gpg_key_verify.go Add option to provide signature for a token to verify key ownership () 2021-07-13 15:28:07 +02:00
helper.go Add an abstract json layout to make it's easier to change json library () 2021-07-24 18:03:58 +02:00
helper_directory.go Re-attempt to delete temporary upload if the file is locked by another process () 2020-08-11 21:05:34 +01:00
helper_environment.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
index.go Add a new table issue_index to store the max issue index so that issue could be deleted with no duplicated index () 2021-06-14 10:22:55 +08:00
index_test.go Add a new table issue_index to store the max issue index so that issue could be deleted with no duplicated index () 2021-06-14 10:22:55 +08:00
issue.go Update issue_index to finish migration () 2021-08-13 21:06:18 +08:00
issue_assignees.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
issue_assignees_test.go Fix individual tests (addition to ) () 2021-05-12 00:13:42 -04:00
issue_comment.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
issue_comment_list.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
issue_comment_test.go Pull request review/approval and comment on code () 2018-08-06 06:43:21 +02:00
issue_dependency.go Fix various documentation, user-facing, and source comment typos () 2021-07-08 13:38:13 +02:00
issue_dependency_test.go Refactor comment () 2019-12-15 16:57:34 -05:00
issue_label.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
issue_label_test.go Fix various documentation, user-facing, and source comment typos () 2021-07-08 13:38:13 +02:00
issue_list.go Performance improvement for list pull requests () 2021-04-15 19:34:43 +02:00
issue_list_test.go Add Organization Wide Labels () 2020-04-01 01:14:46 -03:00
issue_lock.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
issue_milestone.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
issue_milestone_test.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
issue_reaction.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
issue_reaction_test.go Migrate reactions when migrating repository from github () 2020-01-15 12:14:07 +01:00
issue_stopwatch.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
issue_stopwatch_test.go Fixed assert statements. () 2021-06-07 07:27:09 +02:00
issue_test.go Add a new table issue_index to store the max issue index so that issue could be deleted with no duplicated index () 2021-06-14 10:22:55 +08:00
issue_tracked_time.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
issue_tracked_time_test.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
issue_user.go Mail assignee when issue/pull request is assigned () 2019-10-25 22:46:37 +08:00
issue_user_test.go Add "Update Branch" button to Pull Requests () 2020-01-17 08:03:40 +02:00
issue_watch.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
issue_watch_test.go Fixed assert statements. () 2021-06-07 07:27:09 +02:00
issue_xref.go don't record error when loading ref comment but ref comment id is zero () 2021-05-11 21:43:35 +01:00
issue_xref_test.go Add a new table issue_index to store the max issue index so that issue could be deleted with no duplicated index () 2021-06-14 10:22:55 +08:00
lfs.go Code Formats, Nits & Unused Func/Var deletions () 2021-04-09 09:40:34 +02:00
lfs_lock.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
list_options.go Fix list_options GetStartEnd () 2021-06-29 22:42:23 +01:00
log.go Fix xorm log stack level () 2021-04-05 08:41:22 +01:00
login_source.go Fix add authentication page () 2021-07-25 08:09:52 +01:00
main_test.go Add gitea-vet () 2020-04-05 07:20:50 +01:00
migrate.go Fix delete nonexist oauth application 500 and prevent deadlock () 2021-04-10 16:49:10 -04:00
models.go Add API Token Cache () 2021-08-17 14:30:42 -04:00
models_test.go Fix setting version table in dump () 2021-05-07 00:17:43 +01:00
notification.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
notification_test.go add request review from specific reviewers feature in pull request () 2020-04-06 19:33:34 +03:00
oauth2.go Refactor: Move login out of models () 2021-07-24 11:16:34 +01:00
oauth2_application.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
oauth2_application_test.go Fixed assert statements. () 2021-06-07 07:27:09 +02:00
org.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
org_team.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
org_team_test.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
org_test.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
project.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
project_board.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
project_issue.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
project_test.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
protected_tag.go Add tag protection () 2021-06-25 16:28:55 +02:00
protected_tag_test.go Add tag protection () 2021-06-25 16:28:55 +02:00
pull.go Add agit flow support in gitea () 2021-07-28 17:42:56 +08:00
pull_list.go Add agit flow support in gitea () 2021-07-28 17:42:56 +08:00
pull_sign.go Replace list.List with slices () 2021-08-09 14:08:51 -04:00
pull_test.go Add agit flow support in gitea () 2021-07-28 17:42:56 +08:00
release.go [API] ListReleases add filter for draft and pre-releases () 2021-06-17 10:58:10 +02:00
repo.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
repo_activity.go Add top author stats to activity page () 2020-01-20 12:07:30 +02:00
repo_archiver.go Fix archive error when rename repo or user () 2021-07-13 14:16:31 +02:00
repo_avatar.go Avatars and Repo avatars support storing in minio () 2020-10-14 21:07:51 +08:00
repo_branch.go Move newbranch to standalone package () 2020-01-14 11:38:04 +08:00
repo_collaboration.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
repo_collaboration_test.go API add/generalize pagination () 2020-01-24 14:00:29 -05:00
repo_generate.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
repo_generate_test.go Fixed assert statements. () 2021-06-07 07:27:09 +02:00
repo_indexer.go Index code and stats only for non-empty repositories () 2020-02-14 13:42:30 +01:00
repo_issue.go Add EnableTimetracking option to app settings () 2018-04-09 23:15:32 +08:00
repo_language_stats.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
repo_list.go not show private user's repo in explore view () 2021-07-27 00:02:35 +02:00
repo_list_test.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
repo_mirror.go Add push to remote mirror repository () 2021-06-14 19:20:43 +02:00
repo_permission.go Fix various documentation, user-facing, and source comment typos () 2021-07-08 13:38:13 +02:00
repo_permission_test.go fix bug when update owner team then visit team's repo return 404 () 2019-02-22 11:14:45 -05:00
repo_pushmirror.go Fix various documentation, user-facing, and source comment typos () 2021-07-08 13:38:13 +02:00
repo_pushmirror_test.go Add push to remote mirror repository () 2021-06-14 19:20:43 +02:00
repo_redirect.go Redirect on changed user and org name () 2021-01-24 16:23:05 +01:00
repo_redirect_test.go Redirect on changed user and org name () 2021-01-24 16:23:05 +01:00
repo_sign.go Add configurable Trust Models () 2020-09-20 00:44:55 +08:00
repo_test.go Fixed assert statements. () 2021-06-07 07:27:09 +02:00
repo_transfer.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
repo_transfer_test.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
repo_unit.go Add an abstract json layout to make it's easier to change json library () 2021-07-24 18:03:58 +02:00
repo_watch.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
repo_watch_test.go API add/generalize pagination () 2020-01-24 14:00:29 -05:00
review.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
review_test.go Ensure review dismissal only dismisses the correct review () 2021-04-15 11:03:11 +01:00
session.go Fix DB session cleanup () 2021-05-01 22:51:03 -04:00
sql_postgres_with_schema.go Ensure that schema search path is set with every connection on postgres () 2021-01-02 10:07:43 +08:00
ssh_key.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
ssh_key_authorized_keys.go Refactor: Move login out of models () 2021-07-24 11:16:34 +01:00
ssh_key_authorized_principals.go Refactor: Move login out of models () 2021-07-24 11:16:34 +01:00
ssh_key_deploy.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
ssh_key_fingerprint.go Refactor: Move login out of models () 2021-07-24 11:16:34 +01:00
ssh_key_parse.go Refactor: Move login out of models () 2021-07-24 11:16:34 +01:00
ssh_key_principals.go Refactor: Move login out of models () 2021-07-24 11:16:34 +01:00
ssh_key_test.go Add support for ed25519_sk and ecdsa_sk SSH keys () 2021-01-20 20:36:55 +00:00
star.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database () 2020-10-12 20:01:57 -04:00
star_test.go API add/generalize pagination () 2020-01-24 14:00:29 -05:00
store.go Refactor: Move login out of models () 2021-07-24 11:16:34 +01:00
task.go Add an abstract json layout to make it's easier to change json library () 2021-07-24 18:03:58 +02:00
test_fixtures.go Create Proper Migration Tests () 2021-03-24 19:27:22 +01:00
token.go Add API Token Cache () 2021-08-17 14:30:42 -04:00
token_test.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
topic.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
topic_test.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
twofactor.go Use single shared random string generation function () 2021-05-10 07:45:17 +01:00
u2f.go Display ui time with customize time location () 2019-08-15 22:46:21 +08:00
u2f_test.go Add gitea-vet () 2020-04-05 07:20:50 +01:00
unit.go Kanban board () 2020-08-16 23:07:38 -04:00
unit_tests.go Rework repository archive () 2021-06-23 17:12:38 -04:00
update.go Remove Unused Functions () 2020-03-02 00:05:44 +02:00
upload.go Handle and propagate errors when checking if paths are Dirs, Files or Exist () 2020-11-27 21:42:08 -05:00
user.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
user_avatar.go Send size to /avatars if requested () 2021-04-17 00:22:25 +02:00
user_follow.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database () 2020-10-12 20:01:57 -04:00
user_follow_test.go Add gitea-vet () 2020-04-05 07:20:50 +01:00
user_heatmap.go Fix heatmap activity () 2021-06-25 12:59:25 -04:00
user_heatmap_test.go Add an abstract json layout to make it's easier to change json library () 2021-07-24 18:03:58 +02:00
user_mail.go Fix activation of primary email addresses () 2021-07-13 22:59:27 +02:00
user_mail_test.go Always store primary email address into email_address table and also the state () 2021-06-08 11:52:51 +08:00
user_openid.go Code Formats, Nits & Unused Func/Var deletions () 2021-04-09 09:40:34 +02:00
user_openid_test.go Fixed assert statements. () 2021-06-07 07:27:09 +02:00
user_redirect.go Redirect on changed user and org name () 2021-01-24 16:23:05 +01:00
user_redirect_test.go Redirect on changed user and org name () 2021-01-24 16:23:05 +01:00
user_test.go Refactor: Move login out of models () 2021-07-24 11:16:34 +01:00
userlist.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
userlist_test.go chore(models): rewrite code format. () 2021-03-14 19:52:12 +01:00
webhook.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
webhook_test.go [API] generalize list header () 2021-08-12 14:43:08 +02:00
wiki.go Handle and propagate errors when checking if paths are Dirs, Files or Exist () 2020-11-27 21:42:08 -05:00
wiki_test.go Move wiki related funtions from models to services/wiki () 2020-01-07 18:27:36 +00:00