From c0d4290d4005e17669fccca4f5a51db741e32f53 Mon Sep 17 00:00:00 2001 From: Nicolas KAROLAK Date: Mon, 16 Oct 2017 18:44:43 +0200 Subject: [PATCH] [WIP] Add DKIM record suppport Add DKIM record support, especifically for OVH provider. TODO: add escape test, cf. https://github.com/github/octodns/pull/59/files --- README.md | 2 +- docs/records.md | 1 + octodns/provider/ovh.py | 13 ++++-- octodns/provider/yaml.py | 4 +- octodns/record.py | 63 ++++++++++++++++-------------- tests/test_octodns_provider_ovh.py | 20 ++++++++++ 6 files changed, 68 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index a910b5b..4b2784a 100644 --- a/README.md +++ b/README.md @@ -155,7 +155,7 @@ The above command pulled the existing data out of Route53 and placed the results | [DynProvider](/octodns/provider/dyn.py) | All | Yes | | | [GoogleCloudProvider](/octodns/provider/googlecloud.py) | A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SPF, SRV, TXT | No | | | [Ns1Provider](/octodns/provider/ns1.py) | All | No | | -| [OVH](/octodns/provider/ovh.py) | A, AAAA, CNAME, MX, NAPTR, NS, PTR, SPF, SRV, SSHFP, TXT | No | | +| [OVH](/octodns/provider/ovh.py) | A, AAAA, CNAME, DKIM, MX, NAPTR, NS, PTR, SPF, SRV, SSHFP, TXT | No | | | [PowerDnsProvider](/octodns/provider/powerdns.py) | All | No | | | [Route53](/octodns/provider/route53.py) | A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SPF, SRV, TXT | Yes | | | [TinyDNSSource](/octodns/source/tinydns.py) | A, CNAME, MX, NS, PTR | No | read-only | diff --git a/docs/records.md b/docs/records.md index d991311..f8cdf80 100644 --- a/docs/records.md +++ b/docs/records.md @@ -7,6 +7,7 @@ OctoDNS supports the following record types: * `A` * `AAAA` * `CNAME` +* `DKIM` * `MX` * `NAPTR` * `NS` diff --git a/octodns/provider/ovh.py b/octodns/provider/ovh.py index b890862..bc94a2d 100644 --- a/octodns/provider/ovh.py +++ b/octodns/provider/ovh.py @@ -7,12 +7,15 @@ from __future__ import absolute_import, division, print_function, \ import logging from collections import defaultdict +import re import ovh from octodns.record import Record from .base import BaseProvider +_fix_semicolons = re.compile(r'(?