apache / apache/libcloud

RecordType.URL should be RecordType.URI

Ouverte
#1,523 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
stale
Langage dominant
Python
Étoiles
2.1k
Forks
931
Merge moyen
1 j 2 h
PR mergées (30 j)
4

Description

## 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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Examinez libcloud/dns/types.py ainsi que les mappings des drivers Cloudflare, DNSimple et Zerigo cités dans l’issue, puis comparez les types d’enregistrements documentés de chaque fournisseur. Résolvez le comportement propre à chaque fournisseur concernant URL par rapport à URI et corrigez le mapping Cloudflare incohérent ou les définitions des types d’enregistrements pris en charge ; le travail est terminé lorsque les mappings reflètent fidèlement les API des fournisseurs cités et les normes DNS.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
networking
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.