mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Abstract hash function usage (#28138)
Refactor Hash interfaces and centralize hash function. This will allow easier introduction of different hash function later on. This forms the "no-op" part of the SHA256 enablement patch.
This commit is contained in:
		@@ -48,16 +48,18 @@ func CheckAndEnsureSafePR(pr *base.PullRequest, commonCloneBaseURL string, g bas
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// SECURITY: SHAs Must be a SHA
 | 
			
		||||
	if pr.MergeCommitSHA != "" && !git.IsValidSHAPattern(pr.MergeCommitSHA) {
 | 
			
		||||
	// FIXME: hash only a SHA1
 | 
			
		||||
	CommitType := git.ObjectFormatFromID(git.Sha1)
 | 
			
		||||
	if pr.MergeCommitSHA != "" && !CommitType.IsValid(pr.MergeCommitSHA) {
 | 
			
		||||
		WarnAndNotice("PR #%d in %s has invalid MergeCommitSHA: %s", pr.Number, g, pr.MergeCommitSHA)
 | 
			
		||||
		pr.MergeCommitSHA = ""
 | 
			
		||||
	}
 | 
			
		||||
	if pr.Head.SHA != "" && !git.IsValidSHAPattern(pr.Head.SHA) {
 | 
			
		||||
	if pr.Head.SHA != "" && !CommitType.IsValid(pr.Head.SHA) {
 | 
			
		||||
		WarnAndNotice("PR #%d in %s has invalid HeadSHA: %s", pr.Number, g, pr.Head.SHA)
 | 
			
		||||
		pr.Head.SHA = ""
 | 
			
		||||
		valid = false
 | 
			
		||||
	}
 | 
			
		||||
	if pr.Base.SHA != "" && !git.IsValidSHAPattern(pr.Base.SHA) {
 | 
			
		||||
	if pr.Base.SHA != "" && !CommitType.IsValid(pr.Base.SHA) {
 | 
			
		||||
		WarnAndNotice("PR #%d in %s has invalid BaseSHA: %s", pr.Number, g, pr.Base.SHA)
 | 
			
		||||
		pr.Base.SHA = ""
 | 
			
		||||
		valid = false
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user