summaryrefslogtreecommitdiff
path: root/internal/db/bundb/instance.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2025-01-14 14:23:18 +0000
committerLibravatar GitHub <noreply@github.com>2025-01-14 14:23:18 +0000
commite77c7e16b6700cdaddef3a0d8b16579173505436 (patch)
tree2b99a7bc0df2ed6f00581581bf99f39862b44303 /internal/db/bundb/instance.go
parent[chore]: Bump mvdan.cc/xurls/v2 from 2.5.0 to 2.6.0 (#3643) (diff)
downloadgotosocial-e77c7e16b6700cdaddef3a0d8b16579173505436.tar.xz
[chore] better dns validation (#3644)
* add seperate PunifyValidate() function for properly validating domain names when converting to punycode * rename function, strip port from domain validation
Diffstat (limited to 'internal/db/bundb/instance.go')
-rw-r--r--internal/db/bundb/instance.go17
1 files changed, 11 insertions, 6 deletions
diff --git a/internal/db/bundb/instance.go b/internal/db/bundb/instance.go
index 613a2b13a..7852ae52e 100644
--- a/internal/db/bundb/instance.go
+++ b/internal/db/bundb/instance.go
@@ -158,8 +158,9 @@ func (i *instanceDB) CountInstanceDomains(ctx context.Context, domain string) (i
}
func (i *instanceDB) GetInstance(ctx context.Context, domain string) (*gtsmodel.Instance, error) {
- // Normalize the domain as punycode
var err error
+
+ // Normalize the domain as punycode
domain, err = util.Punify(domain)
if err != nil {
return nil, gtserror.Newf("error punifying domain %s: %w", domain, err)
@@ -265,8 +266,9 @@ func (i *instanceDB) PopulateInstance(ctx context.Context, instance *gtsmodel.In
func (i *instanceDB) PutInstance(ctx context.Context, instance *gtsmodel.Instance) error {
var err error
- // Normalize the domain as punycode
- instance.Domain, err = util.Punify(instance.Domain)
+ // Normalize the domain as punycode, note the extra
+ // validation step for domain name write operations.
+ instance.Domain, err = util.PunifySafely(instance.Domain)
if err != nil {
return gtserror.Newf("error punifying domain %s: %w", instance.Domain, err)
}
@@ -279,9 +281,11 @@ func (i *instanceDB) PutInstance(ctx context.Context, instance *gtsmodel.Instanc
}
func (i *instanceDB) UpdateInstance(ctx context.Context, instance *gtsmodel.Instance, columns ...string) error {
- // Normalize the domain as punycode
var err error
- instance.Domain, err = util.Punify(instance.Domain)
+
+ // Normalize the domain as punycode, note the extra
+ // validation step for domain name write operations.
+ instance.Domain, err = util.PunifySafely(instance.Domain)
if err != nil {
return gtserror.Newf("error punifying domain %s: %w", instance.Domain, err)
}
@@ -349,8 +353,9 @@ func (i *instanceDB) GetInstanceAccounts(ctx context.Context, domain string, max
limit = 0
}
- // Normalize the domain as punycode.
var err error
+
+ // Normalize the domain as punycode
domain, err = util.Punify(domain)
if err != nil {
return nil, gtserror.Newf("error punifying domain %s: %w", domain, err)