Loopia: feature updates (#3686)

This commit is contained in:
Paul Donald 2025-07-24 20:41:57 +02:00 committed by GitHub
parent 78c2313d71
commit e84925b491
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 18 additions and 11 deletions

View file

@ -224,7 +224,7 @@ Jump to a table:
| [`HOSTINGDE`](hostingde.md) | ❔ | ❌ | ✅ | ❔ |
| [`HUAWEICLOUD`](huaweicloud.md) | ❔ | ❌ | ✅ | ❌ |
| [`INWX`](inwx.md) | ❔ | ✅ | ✅ | ✅ |
| [`LOOPIA`](loopia.md) | ❔ | ✅ | ✅ | ❔ |
| [`LOOPIA`](loopia.md) | ❌ | ✅ | ✅ | ❌ |
| [`LUADNS`](luadns.md) | ❔ | ❔ | ✅ | ❔ |
| [`MYTHICBEASTS`](mythicbeasts.md) | ❔ | ❔ | ✅ | ❔ |
| [`NAMECHEAP`](namecheap.md) | ❔ | ❔ | ❌ | ❔ |
@ -277,7 +277,7 @@ Jump to a table:
| [`HUAWEICLOUD`](huaweicloud.md) | ✅ | ❌ | ❌ | ❌ |
| [`INWX`](inwx.md) | ✅ | ✅ | ✅ | ✅ |
| [`LINODE`](linode.md) | ✅ | ❔ | ❔ | ❔ |
| [`LOOPIA`](loopia.md) | ✅ | | ✅ | ✅ |
| [`LOOPIA`](loopia.md) | ✅ | | ✅ | ✅ |
| [`LUADNS`](luadns.md) | ✅ | ✅ | ✅ | ✅ |
| [`MYTHICBEASTS`](mythicbeasts.md) | ✅ | ❔ | ✅ | ✅ |
| [`NAMECHEAP`](namecheap.md) | ✅ | ❔ | ❔ | ❌ |
@ -318,7 +318,7 @@ Jump to a table:
| [`HOSTINGDE`](hostingde.md) | ✅ | ❔ | ✅ |
| [`HUAWEICLOUD`](huaweicloud.md) | ❔ | ❔ | ❌ |
| [`INWX`](inwx.md) | ✅ | ❔ | ❔ |
| [`LOOPIA`](loopia.md) | ❌ | | ❌ |
| [`LOOPIA`](loopia.md) | ❌ | | ❌ |
| [`NETLIFY`](netlify.md) | ❌ | ❔ | ❌ |
| [`NS1`](ns1.md) | ✅ | ❔ | ✅ |
| [`ORACLE`](oracle.md) | ❔ | ❔ | ❌ |

View file

@ -440,7 +440,7 @@ func makeTests() []*TestGroup {
// Some of these test cases are commented out because they test
// something that isn't widely used or supported. For example
// many APIs don't support a backslack (`\`) in a TXT record;
// many APIs don't support a backslash (`\`) in a TXT record;
// luckily we've never seen a need for that "in the wild". If
// you want to future-proof your provider, temporarily remove
// the comments and get those tests working, or reject it using

View file

@ -147,7 +147,7 @@ func unwrapProviderCapabilities(pName string, meta []ProviderMetadata) {
}
// Can is a small helper for concisely creating Documentation Notes
// comments are variadic for easy ommission. First is comment, second is link, the rest are ignored.
// comments are variadic for easy omission. First is comment, second is link, the rest are ignored.
func Can(comments ...string) *DocumentationNote {
n := &DocumentationNote{
HasFeature: true,
@ -157,7 +157,7 @@ func Can(comments ...string) *DocumentationNote {
}
// Cannot is a small helper for concisely creating Documentation Notes
// comments are variadic for easy ommission. First is comment, second is link, the rest are ignored.
// comments are variadic for easy omission. First is comment, second is link, the rest are ignored.
func Cannot(comments ...string) *DocumentationNote {
n := &DocumentationNote{
HasFeature: false,
@ -167,7 +167,7 @@ func Cannot(comments ...string) *DocumentationNote {
}
// Unimplemented is a small helper for concisely creating Documentation Notes
// comments are variadic for easy ommission. First is comment, second is link, the rest are ignored.
// comments are variadic for easy omission. First is comment, second is link, the rest are ignored.
func Unimplemented(comments ...string) *DocumentationNote {
n := &DocumentationNote{
HasFeature: false,

View file

@ -11,12 +11,15 @@ import (
func AuditRecords(records []*models.RecordConfig) []error {
a := rejectif.Auditor{}
a.Add("TXT", rejectif.TxtIsEmpty) // Last verified 2023-03-10: Loopia returns 404
a.Add("CAA", rejectif.CaaTargetContainsWhitespace) // Last verified 2025-07-24: Loopia returns 404
// Loopias TXT length limit appears to be 450 octets
a.Add("TXT", rejectif.TxtLongerThan(450)) // Last verified 2023-03-10
a.Add("MX", rejectif.MxNull) // Last verified 2025-07-24: Loopia returns 404
a.Add("MX", rejectif.MxNull) // Last verified 2023-03-23
a.Add("SRV", rejectif.SrvHasNullTarget) // Last verified 2025-07-24: Loopia returns 404
a.Add("TXT", rejectif.TxtIsEmpty) // Last verified 2025-07-24: Loopia returns 404
a.Add("TXT", rejectif.TxtLongerThan(450)) // Last verified 2025-07-24: Loopia returns 404
return a.Audit(records)
}

View file

@ -56,14 +56,18 @@ var features = providers.DocumentationNotes{
providers.CanUseAlias: providers.Cannot(),
providers.CanUseAzureAlias: providers.Cannot(),
providers.CanUseCAA: providers.Can(),
providers.CanUseDHCID: providers.Cannot(), // Verified 2025-07-24
providers.CanUseDNSKEY: providers.Cannot(), // Verified 2025-07-24
providers.CanUseDS: providers.Cannot("Only supports DS records at the apex, only for .se and .nu domains; done automatically at back-end."),
providers.CanUseDSForChildren: providers.Cannot(),
providers.CanUseHTTPS: providers.Cannot(), // Verified 2025-07-24
providers.CanUseLOC: providers.Can(),
providers.CanUseNAPTR: providers.Can(),
providers.CanUsePTR: providers.Cannot(),
providers.CanUseSOA: providers.Cannot("💩"),
providers.CanUseSRV: providers.Can(),
providers.CanUseSSHFP: providers.Can(),
providers.CanUseSVCB: providers.Cannot(), // Verified 2025-07-24
providers.CanUseTLSA: providers.Can(),
providers.DocCreateDomains: providers.Cannot("Can only manage domains registered through their service"),
providers.DocDualHost: providers.Can(),