RecordType.URL should be RecordType.URI
- Vorherrschende Sprache
- Python
- Sterne
- 2.1k
- Forks
- 931
- Ø Merge
- 1 T. 2 Std.
- Gemergte PRs (30 T.)
- 4
Beschreibung
## Summary
`libcloud.dns.types` defines a RecordType 'URL'. However, no such RR Type exists in DNS. Likely, this is supposed to refer to the 'URI' RR Type.
## Detailed Information
The authoritative list of DNS RR types is https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml. There is no 'URL' RR type in this list. There is a 'URI' RR type in this list, as defined in [RFC 7553](https://tools.ietf.org/html/rfc7553)
This RecordType is defined in 4 places in libcloud:
[libcloud.dns.types, line 112](https://github.com/apache/libcloud/blob/trunk/libcloud/dns/types.py#L112):
```
URL = 'URL'
```
[libcloud.dns.drivers.cloudflare, line 171](https://github.com/apache/libcloud/blob/trunk/libcloud/dns/drivers/cloudflare.py#L171): [sic!]
```
RecordType.URL: 'LOC'
```
According to the [Cloudflare API documentation](https://api.cloudflare.com/#dns-records-for-a-zone-create-dns-record), the correct name should indeed be `'URI'`.
[libcloud.dns.drivers.dnsimple, line 57](https://github.com/apache/libcloud/blob/trunk/libcloud/dns/drivers/dnsimple.py#L57)
```
RecordType.URL: 'URL',
```
This seems correct. [DNSsimple indeed has a proprietory URL record](https://support.dnsimple.com/articles/url-record/).
[`libcloud.dns.drivers.zerigo`, line 142](https://github.com/apache/libcloud/blob/trunk/libcloud/dns/drivers/zerigo.py#L142)
```
RecordType.URL: 'URL',
```
http://www.zerigo.com gives an error. I get the impression this API is no longer functional.
Suggested Resolution
-----------
~~My suggestion is to change these occurrences into `'URI'`~~
I stand corrected, DNSsimple does indeed has a proprietory URL record type. However, Cloudflare does not.
My suggestion is to either remove support for the URI RR type at Cloudflare (it will likely not have worked due to the incorrect `'LOC'` string), or to add support for the URI RR type next to the (unofficial) URL RR type.
I'm happy to create a PR once there is consensus about the best approach to fix this.
Beitragsleitfaden
Rechercherichtung
Prüfe libcloud/dns/types.py und die in der Issue genannten Cloudflare-, DNSimple- und Zerigo-Driver-Mappings und vergleiche anschließend die dokumentierten Record-Typen jedes Providers. Kläre das providerspezifische Verhalten von URL gegenüber URI und korrigiere das inkonsistente Cloudflare-Mapping oder die Definitionen der unterstützten Record-Typen; abgeschlossen ist die Aufgabe, wenn die Mappings die genannten Provider-APIs und DNS-Standards korrekt widerspiegeln.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- networking
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100