diff options
-rw-r--r-- | designate/objects/fields.py | 2 | ||||
-rw-r--r-- | designate/tests/unit/objects/test_caa_object.py | 7 | ||||
-rw-r--r-- | releasenotes/notes/bug-1958533-allow-caa-mail-subaddr-d02cdc46bbb118ad.yaml | 10 |
3 files changed, 18 insertions, 1 deletions
diff --git a/designate/objects/fields.py b/designate/objects/fields.py index cda9efcc..f3fe2d3e 100644 --- a/designate/objects/fields.py +++ b/designate/objects/fields.py @@ -100,7 +100,7 @@ class StringFields(ovoo_fields.StringField): RE_NAPTR_SERVICE = r'^([A-Za-z]([A-Za-z0-9]*)(\+[A-Za-z]([A-Za-z0-9]{0,31}))*)?' # noqa RE_NAPTR_REGEXP = r'^([^0-9i\\])(.*)\1((.+)|(\\[1-9]))\1(i?)' RE_KVP = r'^\s[A-Za-z0-9]+=[A-Za-z0-9]+' - RE_URL_MAIL = r'^mailto:[A-Za-z0-9_\-]+@.*' + RE_URL_MAIL = r'^mailto:[A-Za-z0-9_\-]+(\+[A-Za-z0-9_\-]+)?@.*' RE_URL_HTTP = r'^http(s)?://.*/' RE_CERT_TYPE = r'(^[A-Z]+$)|(^[0-9]+$)' RE_CERT_ALGO = r'(^[A-Z]+[A-Z0-9\-]+[A-Z0-9]$)|(^[0-9]+$)' diff --git a/designate/tests/unit/objects/test_caa_object.py b/designate/tests/unit/objects/test_caa_object.py index 023944bf..6045a98f 100644 --- a/designate/tests/unit/objects/test_caa_object.py +++ b/designate/tests/unit/objects/test_caa_object.py @@ -50,6 +50,13 @@ class CAARecordTest(oslotest.base.BaseTestCase): self.assertEqual(0, caa_record.flags) self.assertEqual('iodef mailto:security@example.net', caa_record.prpt) + caa_record = objects.CAA() + caa_record._from_string('0 iodef mailto:security+caa@example.net') + + self.assertEqual(0, caa_record.flags) + self.assertEqual('iodef mailto:security+caa@example.net', + caa_record.prpt) + def test_parse_caa_invalid(self): caa_record = objects.CAA() self.assertRaisesRegex( diff --git a/releasenotes/notes/bug-1958533-allow-caa-mail-subaddr-d02cdc46bbb118ad.yaml b/releasenotes/notes/bug-1958533-allow-caa-mail-subaddr-d02cdc46bbb118ad.yaml new file mode 100644 index 00000000..694d0d2f --- /dev/null +++ b/releasenotes/notes/bug-1958533-allow-caa-mail-subaddr-d02cdc46bbb118ad.yaml @@ -0,0 +1,10 @@ +--- +fixes: + - | + CAA records now allow the use of `+` prefixed subadresses like + `security+caa@example.net` within mail urls. + (https://www.rfc-editor.org/rfc/rfc5233.html#section-1) + + See `bug 1958533`_ for more information. + + .. _bug 1958533: https://bugs.launchpad.net/designate/+bug/1958533 |