diff --git a/registry/txt.go b/registry/txt.go index c52cc8380..e2f561c21 100644 --- a/registry/txt.go +++ b/registry/txt.go @@ -196,17 +196,12 @@ type prefixNameMapper struct { var _ nameMapper = prefixNameMapper{} func newPrefixNameMapper(prefix string) prefixNameMapper { - return prefixNameMapper{prefix: prefix} + return prefixNameMapper{prefix: strings.ToLower(prefix)} } func (pr prefixNameMapper) toEndpointName(txtDNSName string) string { - log.Debugf("TXT record is %s", txtDNSName) - log.Debugf("Prefix is %s", pr.prefix) - prefixLower := strings.ToLower(pr.prefix) - if strings.HasPrefix(txtDNSName, prefixLower) { - log.Debug("Will trim prefix") - log.Debug(strings.TrimPrefix(txtDNSName, prefixLower)) - return strings.TrimPrefix(txtDNSName, prefixLower) + if strings.HasPrefix(txtDNSName, pr.prefix) { + return strings.TrimPrefix(txtDNSName, pr.prefix) } return "" } diff --git a/registry/txt_test.go b/registry/txt_test.go index 6ead32165..48306c8ee 100644 --- a/registry/txt_test.go +++ b/registry/txt_test.go @@ -136,6 +136,12 @@ func testTXTRegistryRecordsPrefixed(t *testing.T) { records, _ := r.Records() assert.True(t, testutils.SameEndpoints(records, expectedRecords)) + + // Ensure prefix is case-insensitive + r, _ = NewTXTRegistry(p, "TxT.", "owner", time.Hour) + records, _ = r.Records() + + assert.True(t, testutils.SameEndpoints(records, expectedRecords)) } func testTXTRegistryRecordsNoPrefix(t *testing.T) {