ignore DNS error when doing migration allow/block check (#19566)

Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
wxiaoguang 2022-05-02 12:02:17 +08:00 committed by GitHub
parent 05234adfa8
commit 71bafa0263
Signed by: GitHub
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 8 deletions

@ -296,7 +296,6 @@ type ErrInvalidCloneAddr struct {
IsProtocolInvalid bool
IsPermissionDenied bool
LocalPath bool
NotResolvedIP bool
}
// IsErrInvalidCloneAddr checks if an error is a ErrInvalidCloneAddr.
@ -306,9 +305,6 @@ func IsErrInvalidCloneAddr(err error) bool {
}
func (err *ErrInvalidCloneAddr) Error() string {
if err.NotResolvedIP {
return fmt.Sprintf("migration/cloning from '%s' is not allowed: unknown hostname", err.Host)
}
if err.IsInvalidPath {
return fmt.Sprintf("migration/cloning from '%s' is not allowed: the provided path is invalid", err.Host)
}

@ -81,10 +81,9 @@ func IsMigrateURLAllowed(remoteURL string, doer *user_model.User) error {
err = nil //nolint
hostName = u.Host
}
addrList, err := net.LookupIP(hostName)
if err != nil {
return &models.ErrInvalidCloneAddr{Host: u.Host, NotResolvedIP: true}
}
// some users only use proxy, there is no DNS resolver. it's safe to ignore the LookupIP error
addrList, _ := net.LookupIP(hostName)
var ipAllowed bool
var ipBlocked bool