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