Skip to content

Commit

Permalink
Merge pull request #3458 from certbot/email-to-contact
Browse files Browse the repository at this point in the history
Support both invalidEmail and invalidContact errors
  • Loading branch information
bmw committed Aug 29, 2016
2 parents a54d906 + 349c2c5 commit f544b03
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 3 deletions.
2 changes: 2 additions & 0 deletions acme/acme/messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ class Error(jose.JSONObjectWithFields, errors.Error):
('dnssec', 'The server could not validate a DNSSEC signed domain'),
('invalidEmail',
'The provided email for a registration was invalid'),
('invalidContact',
'The provided contact URI was invalid'),
('malformed', 'The request message was malformed'),
('rateLimited', 'There were too many requests of a given type'),
('serverInternal', 'The server experienced an internal error'),
Expand Down
2 changes: 1 addition & 1 deletion certbot/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ def perform_registration(acme, config):
try:
return acme.register(messages.NewRegistration.from_data(email=config.email))
except messages.Error as e:
if e.typ == "urn:acme:error:invalidEmail":
if e.typ == "urn:acme:error:invalidEmail" or e.typ == "urn:acme:error:invalidContact":
if config.noninteractive_mode:
msg = ("The ACME server believes %s is an invalid email address. "
"Please ensure it is a valid email and attempt "
Expand Down
4 changes: 2 additions & 2 deletions certbot/tests/client_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def test_email_retry(self, _rep, mock_get_email):
from acme import messages
self.config.noninteractive_mode = False
msg = "DNS problem: NXDOMAIN looking up MX for example.com"
mx_err = messages.Error(detail=msg, typ="urn:acme:error:invalidEmail")
mx_err = messages.Error(detail=msg, typ="urn:acme:error:invalidContact")
with mock.patch("certbot.client.acme_client.Client") as mock_client:
mock_client().register.side_effect = [mx_err, mock.MagicMock()]
self._call()
Expand All @@ -75,7 +75,7 @@ def test_email_retry(self, _rep, mock_get_email):
def test_email_invalid_noninteractive(self, _rep):
from acme import messages
msg = "DNS problem: NXDOMAIN looking up MX for example.com"
mx_err = messages.Error(detail=msg, typ="urn:acme:error:invalidEmail")
mx_err = messages.Error(detail=msg, typ="urn:acme:error:invalidContact")
with mock.patch("certbot.client.acme_client.Client") as mock_client:
mock_client().register.side_effect = [mx_err, mock.MagicMock()]
self.assertRaises(errors.Error, self._call)
Expand Down

0 comments on commit f544b03

Please sign in to comment.