51
51
from canonical.launchpad.webapp.interfaces import IPlacelessAuthUtility
52
52
from canonical.librarian.interfaces import UploadFailed
53
54
from lp.registry.interfaces.person import IPerson
54
55
from lp.services.features import getFeatureFlag
55
56
from lp.services.mail.handlers import mail_handlers
56
57
from lp.services.mail.sendmail import do_paranoid_envelope_to_validation
57
58
from lp.services.mail.signedmessage import signed_message_from_string
59
61
# Match '\n' and '\r' line endings. That is, all '\r' that are not
60
62
# followed by a '\n', and all '\n' that are not preceded by a '\r'.