forgejo/models
Gary Kim 7eed11e5e9 Check commit message hashes before making links (#7713)
* Check commit message hashes before making links

Previously, when formatting commit messages, anything
that looked like SHA1 hashes was turned into a link
using regex. This meant that certain phrases or numbers
such as `777777` or `deadbeef` could be recognized as a commit
even if the repository has no commit with those hashes.

This change will make it so that anything that looks
like a SHA1 hash using regex will then also be checked
to ensure that there is a commit in the repository
with that hash before making a link.

Signed-off-by: Gary Kim <gary@garykim.dev>

* Use gogit to check if commit exists

This commit modifies the commit hash check
in the render for commit messages to use
gogit for better performance.

Signed-off-by: Gary Kim <gary@garykim.dev>

* Make code cleaner

Signed-off-by: Gary Kim <gary@garykim.dev>

* Use rev-parse to check if commit exists

Signed-off-by: Gary Kim <gary@garykim.dev>

* Add and modify tests for checking hashes in html link rendering

Signed-off-by: Gary Kim <gary@garykim.dev>

* Return error in sha1CurrentPatternProcessor

Co-Authored-By: mrsdizzie <info@mrsdizzie.com>

* Import Gitea log module

Signed-off-by: Gary Kim <gary@garykim.dev>

* Revert "Return error in sha1CurrentPatternProcessor"

This reverts commit 28f561cac4.

Signed-off-by: Gary Kim <gary@garykim.dev>

* Add debug logging to sha1CurrentPatternProcessor

This will log errors by the git command run in
sha1CurrentPatternProcessor if the error is one
that was unexpected.

Signed-off-by: Gary Kim <gary@garykim.dev>
2019-08-14 16:04:55 +08:00
..
fixtures org/members: display 2FA members states + optimize sql requests (#7621) 2019-08-02 12:06:27 -04:00
migrations Add migration step to remove old repo_indexer_status orphaned records (#7746) 2019-08-06 11:57:55 +03:00
access.go Trace Logging on Permission Denied & ColorFormat (#6618) 2019-04-22 23:40:51 +03:00
access_test.go Fixed ineffectual assignments in tests (#7553) 2019-07-22 15:11:16 +08:00
action.go Move commit repo action from models to repofiles package (#7645) 2019-07-30 09:59:10 +08:00
action_list.go
action_test.go Move commit repo action from models to repofiles package (#7645) 2019-07-30 09:59:10 +08:00
admin.go Only warn on errors in deleting LFS orphaned files during repo deletion (#7213) 2019-06-15 23:20:29 +01:00
admin_test.go
attachment.go Move sdk structs to modules/structs (#6905) 2019-05-11 18:21:34 +08:00
attachment_test.go fix upload attachments (#6481) 2019-04-02 15:25:05 -04:00
branches.go Fix panic on push at #7611 (#7615) 2019-07-25 19:05:51 +01:00
branches_test.go
commit_status.go api: fix multiple bugs with statuses endpoints (#7785) 2019-08-09 10:13:03 +08:00
commit_status_test.go api: fix multiple bugs with statuses endpoints (#7785) 2019-08-09 10:13:03 +08:00
consistency.go Fix error log when loading issues caused by a xorm bug (#7271) 2019-06-23 18:22:43 +03:00
convert.go Add command to convert mysql database from utf8 to utf8mb4 (#7144) 2019-06-08 21:53:45 +08:00
error.go Add error for fork already existing (#7185) 2019-06-12 16:20:43 -04:00
error_oauth2.go
external_login_user.go
git_diff.go Fixed ineffectual assignments (#7555) 2019-07-22 17:35:53 +08:00
git_diff_test.go Make diff line-marker non-selectable (#7279) 2019-06-24 21:23:52 +01:00
gpg_key.go Fix wrong GPG expire date (#6643) 2019-04-15 20:32:15 -04:00
gpg_key_test.go Fix wrong GPG expire date (#6643) 2019-04-15 20:32:15 -04:00
graph.go move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364) 2019-03-27 17:33:00 +08:00
graph_test.go move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364) 2019-03-27 17:33:00 +08:00
helper.go
helper_directory.go Remove local clones & make hooks run on merge/edit/upload (#6672) 2019-05-11 11:29:17 -04:00
helper_environment.go Fix bug create/edit wiki pages when code master branch protected (#7580) 2019-07-25 22:50:20 +01:00
issue.go Fix repository's pull request count error (#7518) 2019-07-18 22:51:33 +01:00
issue_assignees.go fix duplicated webhook when creating issue with assignees (#7681) 2019-07-31 17:24:38 +08:00
issue_assignees_test.go refactor: append, build variable and type switch (#4940) 2019-05-28 23:45:54 +08:00
issue_comment.go Add SQL execution on log and indexes on table repository and comment (#7740) 2019-08-05 17:29:40 +03:00
issue_comment_list.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
issue_comment_test.go
issue_dependency.go
issue_dependency_test.go
issue_label.go Add missing description of label on API (#7159) 2019-06-16 20:39:52 +08:00
issue_label_test.go Move sdk structs to modules/structs (#6905) 2019-05-11 18:21:34 +08:00
issue_list.go Fix error log when loading issues caused by a xorm bug (#7271) 2019-06-23 18:22:43 +03:00
issue_list_test.go
issue_lock.go
issue_mail.go Various fixes for issue mail notifications (#7165) 2019-06-11 20:27:38 +01:00
issue_milestone.go Add state param to milestone listing API (#7131) 2019-06-06 08:37:45 +08:00
issue_milestone_test.go Add state param to milestone listing API (#7131) 2019-06-06 08:37:45 +08:00
issue_reaction.go Fix error log when loading issues caused by a xorm bug (#7271) 2019-06-23 18:22:43 +03:00
issue_reaction_test.go
issue_stopwatch.go
issue_stopwatch_test.go
issue_test.go Add more tests and docs for issue indexer, add db indexer type for searching from database (#6144) 2019-02-21 13:01:28 +08:00
issue_tracked_time.go Fix error log when loading issues caused by a xorm bug (#7271) 2019-06-23 18:22:43 +03:00
issue_tracked_time_test.go
issue_user.go
issue_user_test.go
issue_watch.go
issue_watch_test.go
lfs.go
lfs_lock.go Move sdk structs to modules/structs (#6905) 2019-05-11 18:21:34 +08:00
log.go Fix error log when loading issues caused by a xorm bug (#7271) 2019-06-23 18:22:43 +03:00
login_source.go Add additional password hash algorithms (closes #5859) (#6023) 2019-07-07 02:01:01 -04:00
mail.go Include thread related headers in issue/coment mail (#7484) 2019-07-17 15:02:42 -04:00
mail_test.go Include thread related headers in issue/coment mail (#7484) 2019-07-17 15:02:42 -04:00
main_test.go
migrate.go Fix milestone completness calculation when migrating (#7725) 2019-08-03 21:38:42 +03:00
models.go Add SQL execution on log and indexes on table repository and comment (#7740) 2019-08-05 17:29:40 +03:00
models_sqlite.go fix dump table name error and add some test for dump database (#6394) 2019-03-20 21:38:54 -04:00
models_test.go fix dump table name error and add some test for dump database (#6394) 2019-03-20 21:38:54 -04:00
notification.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
notification_test.go
oauth2.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
oauth2_application.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
oauth2_application_test.go OAuth2 Grant UI (#6625) 2019-04-17 16:18:16 +08:00
org.go org/members: display 2FA members states + optimize sql requests (#7621) 2019-08-02 12:06:27 -04:00
org_team.go Fix approvals counting (#7757) 2019-08-07 07:22:41 +03:00
org_team_test.go Fix approvals counting (#7757) 2019-08-07 07:22:41 +03:00
org_test.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
pull.go only return head: null if source branch was deleted (#6705) 2019-07-08 10:32:46 +03:00
pull_test.go only return head: null if source branch was deleted (#6705) 2019-07-08 10:32:46 +03:00
release.go Move models.PushUpdate to repofiles.PushUpdate (#7485) 2019-07-24 15:13:26 +08:00
release_test.go Added missing error checks in tests (#7554) 2019-07-23 20:28:43 +01:00
repo.go Check commit message hashes before making links (#7713) 2019-08-14 16:04:55 +08:00
repo_activity.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
repo_branch.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
repo_collaboration.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
repo_collaboration_test.go
repo_indexer.go Fixes indexed repos keeping outdated indexes when files grow too large (#7712) 2019-08-03 18:42:09 +01:00
repo_issue.go
repo_list.go Fix error log when loading issues caused by a xorm bug (#7271) 2019-06-23 18:22:43 +03:00
repo_list_test.go SearchRepositoryByName improvements and unification (#6897) 2019-05-15 11:24:39 -04:00
repo_mirror.go Move status table to cron package (#7370) 2019-07-15 20:13:03 -04:00
repo_permission.go Removed unnecessary conversions (#7557) 2019-07-23 19:50:39 +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_redirect.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
repo_redirect_test.go
repo_tag.go Fixes #2738 - Adds the /git/tags API endpoint (#7138) 2019-06-08 17:31:11 +03:00
repo_test.go Added missing error checks in tests (#7554) 2019-07-23 20:28:43 +01:00
repo_unit.go Fix error log when loading issues caused by a xorm bug (#7271) 2019-06-23 18:22:43 +03:00
repo_watch.go
repo_watch_test.go
review.go Fix error log when loading issues caused by a xorm bug (#7271) 2019-06-23 18:22:43 +03:00
review_test.go
ssh_key.go fix rename failed when rewrite public keys (#7761) 2019-08-06 14:32:11 +08:00
ssh_key_test.go Make PKCS8, PEM and SSH2 keys work (#7600) 2019-07-25 20:33:38 +01:00
star.go
star_test.go
test_fixtures.go
token.go Hash App token (#6724) 2019-05-04 11:45:34 -04:00
token_test.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
topic.go Fix error log when loading issues caused by a xorm bug (#7271) 2019-06-23 18:22:43 +03:00
topic_test.go
twofactor.go Fix double-generation of scratch token (#6832) (#6833) 2019-05-02 23:06:01 +03:00
u2f.go fix u2f registrationlist ToRegistrations() method (#6980) 2019-05-18 14:40:05 +01:00
u2f_test.go Override xorm type mapping for U2F counter (#6232) 2019-03-04 21:34:52 -05:00
unit.go Fixes #5960 - Adds API Endpoint for Repo Edit (#7006) 2019-05-30 11:09:05 -04:00
unit_tests.go Move commit repo action from models to repofiles package (#7645) 2019-07-30 09:59:10 +08:00
update.go Move models.PushUpdate to repofiles.PushUpdate (#7485) 2019-07-24 15:13:26 +08:00
update_test.go move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364) 2019-03-27 17:33:00 +08:00
upload.go
user.go add pagination for admin api get orgs and fix only list public orgs bug (#7742) 2019-08-04 14:33:36 -04:00
user_follow.go
user_follow_test.go
user_heatmap.go
user_heatmap_test.go
user_mail.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
user_mail_test.go
user_openid.go
user_openid_test.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
user_test.go org/members: display 2FA members states + optimize sql requests (#7621) 2019-08-02 12:06:27 -04:00
userlist.go org/members: display 2FA members states + optimize sql requests (#7621) 2019-08-02 12:06:27 -04:00
userlist_test.go org/members: display 2FA members states + optimize sql requests (#7621) 2019-08-02 12:06:27 -04:00
webhook.go Fix duplicate call of webhook (#7821) 2019-08-11 23:31:18 +03:00
webhook_dingtalk.go Move sdk structs to modules/structs (#6905) 2019-05-11 18:21:34 +08:00
webhook_discord.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
webhook_msteams.go Move sdk structs to modules/structs (#6905) 2019-05-11 18:21:34 +08:00
webhook_slack.go Fix Slack webhook fork message (#7774) 2019-08-06 19:27:10 -04:00
webhook_telegram.go Move sdk structs to modules/structs (#6905) 2019-05-11 18:21:34 +08:00
webhook_test.go Move sdk structs to modules/structs (#6905) 2019-05-11 18:21:34 +08:00
wiki.go Fix bug create/edit wiki pages when code master branch protected (#7580) 2019-07-25 22:50:20 +01:00
wiki_test.go Remove local clones & make hooks run on merge/edit/upload (#6672) 2019-05-11 11:29:17 -04:00