mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-29 13:16:10 +01:00
ignore DNS error when doing migration allow/block check (#19566)
Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
parent
05234adfa8
commit
71bafa0263
|
@ -296,7 +296,6 @@ type ErrInvalidCloneAddr struct {
|
||||||
IsProtocolInvalid bool
|
IsProtocolInvalid bool
|
||||||
IsPermissionDenied bool
|
IsPermissionDenied bool
|
||||||
LocalPath bool
|
LocalPath bool
|
||||||
NotResolvedIP bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsErrInvalidCloneAddr checks if an error is a ErrInvalidCloneAddr.
|
// IsErrInvalidCloneAddr checks if an error is a ErrInvalidCloneAddr.
|
||||||
|
@ -306,9 +305,6 @@ func IsErrInvalidCloneAddr(err error) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (err *ErrInvalidCloneAddr) Error() string {
|
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 {
|
if err.IsInvalidPath {
|
||||||
return fmt.Sprintf("migration/cloning from '%s' is not allowed: the provided path is invalid", err.Host)
|
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
|
err = nil //nolint
|
||||||
hostName = u.Host
|
hostName = u.Host
|
||||||
}
|
}
|
||||||
addrList, err := net.LookupIP(hostName)
|
|
||||||
if err != nil {
|
// some users only use proxy, there is no DNS resolver. it's safe to ignore the LookupIP error
|
||||||
return &models.ErrInvalidCloneAddr{Host: u.Host, NotResolvedIP: true}
|
addrList, _ := net.LookupIP(hostName)
|
||||||
}
|
|
||||||
|
|
||||||
var ipAllowed bool
|
var ipAllowed bool
|
||||||
var ipBlocked bool
|
var ipBlocked bool
|
||||||
|
|
Loading…
Reference in a new issue