From f03e14218a2507f2765810e0dc3c76cb46f2b629 Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Thu, 15 Mar 2012 08:33:21 +0200 Subject: [PATCH] Re: [PATCH] emacs: fix MML quoting in replies --- 48/80009c68b4cec65845521de43db31d275b0552 | 185 ++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 48/80009c68b4cec65845521de43db31d275b0552 diff --git a/48/80009c68b4cec65845521de43db31d275b0552 b/48/80009c68b4cec65845521de43db31d275b0552 new file mode 100644 index 000000000..3e194921f --- /dev/null +++ b/48/80009c68b4cec65845521de43db31d275b0552 @@ -0,0 +1,185 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 37C43431FAF + for ; Wed, 14 Mar 2012 23:33:29 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -0.699 +X-Spam-Level: +X-Spam-Status: No, score=-0.699 tagged_above=-999 required=5 + tests=[HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id lnl6v3IwCgsF for ; + Wed, 14 Mar 2012 23:33:23 -0700 (PDT) +Received: from mail-pz0-f46.google.com (mail-pz0-f46.google.com + [209.85.210.46]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id DB239431FAE + for ; Wed, 14 Mar 2012 23:33:22 -0700 (PDT) +Received: by dajr28 with SMTP id r28so3974725daj.19 + for ; Wed, 14 Mar 2012 23:33:22 -0700 (PDT) +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=google.com; s=20120113; + h=mime-version:in-reply-to:references:date:message-id:subject:from:to + :cc:content-type:x-gm-message-state; + bh=nGmn7Y/yzsuBr57ku0+wEEAcwAbfNm5EHzhdB7bdU/s=; + b=p5XenMw4/G3539hXH5MWNj2eFuOLpVMIGRNWQW7DSpCb1uA+CglBLc5A5i2rj/GkU2 + tKKXx7JT08Y1QI45BDazvinN/qpwjdFCKIVbU5ijnxK/hPGdHn4hOAEIJRGJsj33xOsB + lXUlom6D6IrJVYSk57RLsTuc21wULzql9E7ga/nECF/LDJ0QwLp37rYV08TLxY+E0kgV + SEbvK60TXk+rlYkvWYr2DeLEWD2/DE3KvS3CpIz26UINSmMAjAjyI1c/9jL8A7OftZva + 0cp/iahUhQvXJh9CcjmUrva/QRldQ78isRF0Mf39/e1j0idCwvoV6nqP+XZGCeFy+oQf + /DJA== +MIME-Version: 1.0 +Received: by 10.68.225.73 with SMTP id ri9mr2505847pbc.70.1331793201890; Wed, + 14 Mar 2012 23:33:21 -0700 (PDT) +Received: by 10.68.136.227 with HTTP; Wed, 14 Mar 2012 23:33:21 -0700 (PDT) +Received: by 10.68.136.227 with HTTP; Wed, 14 Mar 2012 23:33:21 -0700 (PDT) +In-Reply-To: <87k42momyi.fsf@awakening.csail.mit.edu> +References: <87fwdptbir.fsf@dehydrator.spatula.rdu.redhat.com> + <1330849538-24558-1-git-send-email-jani@nikula.org> + <87k42momyi.fsf@awakening.csail.mit.edu> +Date: Thu, 15 Mar 2012 08:33:21 +0200 +Message-ID: + +Subject: Re: [PATCH] emacs: fix MML quoting in replies +From: Jani Nikula +To: Austin Clements +Content-Type: multipart/alternative; boundary=e89a8ff2437db686d604bb424428 +X-Gm-Message-State: + ALoCoQkJgMZ7Uh1agFGN90xNIYEopUa+r4JUHtxGuOJPOGy5/LxgV5vO407G9OJ7mJwZZHqpRFaU +Cc: notmuch@notmuchmail.org +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Thu, 15 Mar 2012 06:33:29 -0000 + +--e89a8ff2437db686d604bb424428 +Content-Type: text/plain; charset=UTF-8 + +On Mar 15, 2012 12:08 AM, "Austin Clements" wrote: +> +> On Sun, 4 Mar 2012 10:25:38 +0200, Jani Nikula wrote: +> > The reply MML quoting added in commit ae438cc unintentionally MML +> > quotes also the signature/encryption MML tags added via +> > message-setup-hook, causing the reply not to be signed/encrypted. +> > +> > MML quote just the original message in the temp buffer before +> > inserting it to the message buffer, to not interfere with message mode +> > hooks or message construction in general. +> > +> > See [1] and [2] for bug reports. +> > +> > Thanks to Tim Bielawa for testing. +> > +> > [1] id:"87hay78x6l.fsf@wyzanski.jamesvasile.com" +> > [2] id:"1330812262-28272-1-git-send-email-tbielawa@redhat.com". +> > +> > Signed-off-by: Jani Nikula +> > --- +> > emacs/notmuch-mua.el | 10 ++++------ +> > 1 files changed, 4 insertions(+), 6 deletions(-) +> > +> > diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el +> > index 4be7c13..13244eb 100644 +> > --- a/emacs/notmuch-mua.el +> > +++ b/emacs/notmuch-mua.el +> > @@ -95,6 +95,9 @@ list." +> > (goto-char (point-min)) +> > (setq headers (mail-header-extract))))) +> > (forward-line 1) +> > + ;; Original message may contain (malicious) MML tags. We must +> > + ;; properly quote them in the reply. +> > + (mml-quote-region (point) (point-max)) +> +> Under what circumstances can the (re-search-forward "^$" nil t) above +> this code fail? If it does fail, is it possible for the (forward-line 1) +> to move past an adversary-controlled line of text and fail to quote that +> line? + +It doesn't matter. The quoting is done between point and point-max, and the +message body to cite is extracted right after quoting using: (setq body +(buffer-substring (point) (point-max)))). + +BR, +Jani. + +--e89a8ff2437db686d604bb424428 +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: quoted-printable + +


+On Mar 15, 2012 12:08 AM, "Austin Clements" <amdragon@mit.edu> wrote:
+>
+> On Sun, =C2=A04 Mar 2012 10:25:38 +0200, Jani Nikula <jani@nikula.org> wrote:
+> > The reply MML quoting added in commit ae438cc unintentionally MML= +
+> > quotes also the signature/encryption MML tags added via
+> > message-setup-hook, causing the reply not to be signed/encrypted.= +
+> >
+> > MML quote just the original message in the temp buffer before
+> > inserting it to the message buffer, to not interfere with message= + mode
+> > hooks or message construction in general.
+> >
+> > See [1] and [2] for bug reports.
+> >
+> > Thanks to Tim Bielawa <= +tbielawa@redhat.com> for testing.
+> >
+> > [1] id:"87hay78x6l.fsf@wyzanski.jamesvasile.com"
+> > [2] id:"1330812262-28272-1-git-send-email-tbielawa@redhat.com<= +/a>".
+> >
+> > Signed-off-by: Jani Nikula <
jani@nikula.org>
+> > ---
+> > =C2=A0emacs/notmuch-mua.el | =C2=A0 10 ++++------
+> > =C2=A01 files changed, 4 insertions(+), 6 deletions(-)
+> >
+> > diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el
+> > index 4be7c13..13244eb 100644
+> > --- a/emacs/notmuch-mua.el
+> > +++ b/emacs/notmuch-mua.el
+> > @@ -95,6 +95,9 @@ list."
+> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (goto-char (point-min))= +
+> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq headers (mail-hea= +der-extract)))))
+> > =C2=A0 =C2=A0 =C2=A0 =C2=A0(forward-line 1)
+> > + =C2=A0 =C2=A0 =C2=A0;; Original message may contain (malicious)= + MML tags. We must
+> > + =C2=A0 =C2=A0 =C2=A0;; properly quote them in the reply.
+> > + =C2=A0 =C2=A0 =C2=A0(mml-quote-region (point) (point-max))
+>
+> Under what circumstances can the (re-search-forward "^$" nil= + t) above
+> this code fail? =C2=A0If it does fail, is it possible for the (forward= +-line 1)
+> to move past an adversary-controlled line of text and fail to quote th= +at
+> line?

+

It doesn't matter. The quoting is done between point and point-max, = +and the message body to cite is extracted right after quoting using: (setq = +body (buffer-substring (point) (point-max)))).

+

BR,
+Jani.
+

+ +--e89a8ff2437db686d604bb424428-- -- 2.26.2