Closed Bug 767570 Opened 10 years ago Closed 10 years ago

Make securemail extension work with the multipart email format for Bugzilla 4.2

Categories

(bugzilla.mozilla.org :: Extensions, defect)

Production
x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dkl, Assigned: dkl)

References

Details

Attachments

(1 file, 3 obsolete files)

With the change in email formatting in 4.2, SecureMail no longer worked with PGP encryption. I am working on making the extension work with either single part (old-style text only) or the new multipart/alternative (HTML and text).
This works for me for PGP/Enigmail. Please re-verify with S/MIME as well as look over my changes to see if maybe there is a better way to do it.

dkl
Assignee: nobody → dkl
Status: NEW → ASSIGNED
Attachment #635924 - Flags: review?(glob)
Attachment #635924 - Flags: review?(gerv)
Comment on attachment 635924 [details] [diff] [review]
Patch to allow securemail to work with multipart email (v1)

you can't move the mailer_before_send hook without breaking things.
see bug 714488 and friends.
Attachment #635924 - Flags: review?(glob) → review-
Comment on attachment 635924 [details] [diff] [review]
Patch to allow securemail to work with multipart email (v1)

Hi dkl,

I'm snowed under at the moment; I'd get glob to look at the next version if I were you :-)

Gerv
Attachment #635924 - Flags: review?(gerv)
New patch that reverts changes to Bugzilla/Mailer.pm that are not needed to make SecureMail work properly. Also new patch copies code from Mailer.pm that needs to be executed against the original email before being encrypted.

dkl
Attachment #635924 - Attachment is obsolete: true
Attachment #636476 - Flags: review?(glob)
Comment on attachment 636476 [details] [diff] [review]
Patch to allow securemail to work with multipart email (v2)

with a unicode email using s/mime i get:

Wide character in subroutine entry at /usr/local/share/perl5/Email/MIME/Encodings.pm line 47.
 at /usr/local/share/perl5/Email/MIME/Encodings.pm line 47
	Email::MIME::Encodings::codec('encode', 'quoted-printable', 'Subject: [Bug 112233] onChange event being triggered by javas...') called at /usr/local/share/perl5/Email/MIME/Encodings.pm line 56
	Email::MIME::Encodings::encode('quoted-printable', 'Subject: [Bug 112233] onChange event being triggered by javas...') called at /usr/local/share/perl5/Email/MIME.pm line 556
	Email::MIME::body_set('Email::MIME=HASH(0x4721de0)', 'Subject: [Bug 112233] onChange event being triggered by javas...') called at ./extensions/SecureMail/Extension.pm line 417

it's because the walk_parts fix is now being run before the message is processed, instead of after.

there's working code for s/mime at http://glob.pastebin.mozilla.org/1679473
Attachment #636476 - Flags: review?(glob) → review-
Thanks for the code snippet. I have added it and verified that PGP and S/MIME both work for me without error.

dkl
Attachment #636476 - Attachment is obsolete: true
Attachment #636831 - Flags: review?(glob)
Comment on attachment 636831 [details] [diff] [review]
Patch to allow securemail to work with multipart email (v3)

i get the following error when encrypting an email with unicode characters using pgp:

Wide character in subroutine entry at /usr/local/share/perl5/Email/MIME/Encodings.pm line 47.
 at /usr/local/share/perl5/Email/MIME/Encodings.pm line 47
	Email::MIME::Encodings::codec('encode', 'quoted-printable', 'Subject: [Bug 112233] onChange event being triggered by javas...') called at /usr/local/share/perl5/Email/MIME/Encodings.pm line 56
	Email::MIME::Encodings::encode('quoted-printable', 'Subject: [Bug 112233] onChange event being triggered by javas...') called at /usr/local/share/perl5/Email/MIME.pm line 556
	Email::MIME::body_set('Email::MIME=HASH(0x54f3ef8)', 'Subject: [Bug 112233] onChange event being triggered by javas...') called at ./extensions/SecureMail/Extension.pm line 359
	Bugzilla::Extension::SecureMail::__ANON__('Email::MIME=HASH(0x54f3ef8)') called at /usr/local/share/perl5/Email/MIME.pm line 718
	Email::MIME::__ANON__('Email::MIME=HASH(0x54f3ef8)') called at /usr/local/share/perl5/Email/MIME.pm line 721
	Email::MIME::__ANON__('Email::MIME=HASH(0x54f89c0)') called at /usr/local/share/perl5/Email/MIME.pm line 728
	Email::MIME::walk_parts('Email::MIME=HASH(0x54f89c0)', 'CODE(0x58f86b8)') called at ./extensions/SecureMail/Extension.pm line 362
	Bugzilla::Extension::SecureMail::_make_secure('Email::MIME=HASH(0x54f89c0)', '-----BEGIN PGP PUBLIC KEY BLOCK-----\x{d}\x{a}Version: GnuPG/MacGPG2 ...', 1, 0) called at ./extensions/SecureMail/Extension.pm line 290
	Bugzilla::Extension::SecureMail::mailer_before_send('Bugzilla::Extension::SecureMail=HASH(0x4e940f8)', 'HASH(0x58e5dc0)') called at Bugzilla/Hook.pm line 33
	Bugzilla::Hook::process('mailer_before_send', 'HASH(0x58e5dc0)') called at Bugzilla/Mailer.pm line 153
Attachment #636831 - Flags: review?(glob) → review-
Changing to body_str_set indeed fixed the issue as discussed. New patch for review.

dkl
Attachment #636831 - Attachment is obsolete: true
Attachment #637924 - Flags: review?(glob)
Comment on attachment 637924 [details] [diff] [review]
Patch to allow securemail to work with multipart email (v4)

r=glob :)
Attachment #637924 - Flags: review?(glob) → review+
Committing to: bzr+ssh://dlawrence%40mozilla.com@bzr.mozilla.org/bmo/4.2
modified extensions/SecureMail/Extension.pm
Committed revision 8229.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Component: Extensions: SecureMail → Extensions
You need to log in before you can comment on or make changes to this bug.