diff options
Diffstat (limited to 'internal/api/s2s/webfinger/webfingerget.go')
-rw-r--r-- | internal/api/s2s/webfinger/webfingerget.go | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/internal/api/s2s/webfinger/webfingerget.go b/internal/api/s2s/webfinger/webfingerget.go index 3552394f2..b7f3c714d 100644 --- a/internal/api/s2s/webfinger/webfingerget.go +++ b/internal/api/s2s/webfinger/webfingerget.go @@ -26,6 +26,8 @@ import ( "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" + "github.com/spf13/viper" + "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/util" ) @@ -59,16 +61,19 @@ func (m *Module) WebfingerGETRequest(c *gin.Context) { } username := strings.ToLower(usernameAndAccountDomain[0]) - accountDomain := strings.ToLower(usernameAndAccountDomain[1]) - if username == "" || accountDomain == "" { + requestedAccountDomain := strings.ToLower(usernameAndAccountDomain[1]) + if username == "" || requestedAccountDomain == "" { l.Debug("aborting request because username or domain was empty") c.JSON(http.StatusBadRequest, gin.H{"error": "bad request"}) return } - if accountDomain != m.config.AccountDomain && accountDomain != m.config.Host { - l.Debugf("aborting request because accountDomain %s does not belong to this instance", accountDomain) - c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("accountDomain %s does not belong to this instance", accountDomain)}) + accountDomain := viper.GetString(config.Keys.AccountDomain) + host := viper.GetString(config.Keys.Host) + + if requestedAccountDomain != accountDomain && requestedAccountDomain != host { + l.Debugf("aborting request because accountDomain %s does not belong to this instance", requestedAccountDomain) + c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("accountDomain %s does not belong to this instance", requestedAccountDomain)}) return } |