mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Add RemoteAddress to mirrors (#26952)
				
					
				
			This PR adds a new field `RemoteAddress` to both mirror types which contains the sanitized remote address for easier (database) access to that information. Will be used in the audit PR if merged.
This commit is contained in:
		@@ -180,12 +180,17 @@ func MigrateRepositoryGitData(ctx context.Context, u *user_model.User,
 | 
			
		||||
	defer committer.Close()
 | 
			
		||||
 | 
			
		||||
	if opts.Mirror {
 | 
			
		||||
		remoteAddress, err := util.SanitizeURL(opts.CloneAddr)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return repo, err
 | 
			
		||||
		}
 | 
			
		||||
		mirrorModel := repo_model.Mirror{
 | 
			
		||||
			RepoID:         repo.ID,
 | 
			
		||||
			Interval:       setting.Mirror.DefaultInterval,
 | 
			
		||||
			EnablePrune:    true,
 | 
			
		||||
			NextUpdateUnix: timeutil.TimeStampNow().AddDuration(setting.Mirror.DefaultInterval),
 | 
			
		||||
			LFS:            opts.LFS,
 | 
			
		||||
			RemoteAddress:  remoteAddress,
 | 
			
		||||
		}
 | 
			
		||||
		if opts.LFS {
 | 
			
		||||
			mirrorModel.LFSEndpoint = opts.LFSEndpoint
 | 
			
		||||
 
 | 
			
		||||
@@ -39,3 +39,12 @@ func URLJoin(base string, elems ...string) string {
 | 
			
		||||
	}
 | 
			
		||||
	return joinedURL
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SanitizeURL(s string) (string, error) {
 | 
			
		||||
	u, err := url.Parse(s)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return "", err
 | 
			
		||||
	}
 | 
			
		||||
	u.User = nil
 | 
			
		||||
	return u.String(), nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user