GNU bug report logs - #63941
[PATCH] ; always CRLF before non-first boundary in multipart form

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: ozzloy <ozzloy@HIDDEN>; Keywords: patch; dated Wed, 7 Jun 2023 06:53:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 4 Mar 2025 02:12:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 03 21:12:15 2025
Received: from localhost ([127.0.0.1]:53466 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tpHlW-00066g-SJ
	for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 21:12:15 -0500
Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]:51523)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>)
 id 1tpHlV-00066M-Cr
 for 63941 <at> debbugs.gnu.org; Mon, 03 Mar 2025 21:12:13 -0500
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5dc89df7eccso8375292a12.3
 for <63941 <at> debbugs.gnu.org>; Mon, 03 Mar 2025 18:12:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1741054327; x=1741659127; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=V6bjZkTZhrHc+G6vu2nSewjJD2BW2ZUd2sjnfvRU8FQ=;
 b=Jfunue7eW1/vC2S8wsZq4UNiAqBjGFchR2SMJ2hsH0kf/C2x4lQ+oKdgEra3acHWiP
 8OEud02QDT3HehENtD1k7dQhn8Ky5R7gcV8/2mw7046jdsnd1G1O9hMm1m2gR3uWaI+U
 0hGxgOlIwwwcXV5wasjWYt1F6VqjEdhyN/L9jx9fcbKwRGg66Tuuq7BFPUcUwaAeV0/K
 XHJYonOR9TgwAnQJVFiSs6CtXdVVS+4vBxZBGCJIn4ZCeu57VIrBlWbD0Cqi80ylweIn
 Yz5ncDlEfXiO9a8i/JD86vwWNCnJCqwJTt864RpUMflVIbUpLJRD4StSMeUErPidbYCP
 OuEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1741054327; x=1741659127;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=V6bjZkTZhrHc+G6vu2nSewjJD2BW2ZUd2sjnfvRU8FQ=;
 b=Ys/T9X1NW09C0/c+7V1wgZ7pcfwtAymVWTZbe8IEEEbx4VoL3jxnC818IS8vSut1I4
 oOi+1soKEKdrDldXrPyJuWq2Cj9RnsweghP0Dfy0F8erRJtU4BrlZ5/8Qoe9j5CevBoU
 IYvqLdf8PDSdH3fv1KPoRI8oB6DcVxHbysl3LCV0uNBxZFv/CWDoMVNsO3NY4Ya0Lz8Z
 WA6koyN8pDp6Y9UnQpwOIkOpha45gIvfJFZJRdS4XYJl1ec9EZw3qsr7z6EEhO5+7oOg
 9B8ploP0Il0v9wLeM6gEJSlRUEtTinKscCKRIRC8lXMQE3j/WvhjurFVEZun8F3b0VK1
 unPA==
X-Forwarded-Encrypted: i=1;
 AJvYcCVzr0Or/5LF1/B4oLEiPjRbvgKuR7FI4a361VvJKdltLvZhoepec9pEjGHRoVrCJjqBSiJHrg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzDOgYrRKCfKi/AfaOLQL7VEHMyNIImQAAtVL7W78bgXN+Yky5R
 Nr2J32ea26fxtaTTLeAFXtLq3VusPII3QGZJXZllOHSsh0k3vv3x3etyQJrtP5+8p2Kyg1wN1Aj
 w3ndSHdrEFFLoqMHitSvr9gSu4N4=
X-Gm-Gg: ASbGnctFEhcAianZCuOCa3XZ4/ocUuj37lVHRUAckhhtLjNwgsC8uO9MT+newIqRfqE
 sypCTJ+5YhwNY11SryocG/4J+x7aPdO8EGMDZ69OFjHAGlak86TF6CJ24dNfZh3dEDocyp74HXD
 z1Qe944oHNvjW/Ek5V7lGdEJzerg==
X-Google-Smtp-Source: AGHT+IFXHwolCCNzPVCkISulZAnAgd/IVVY0v74uI4+Y1+a61tv/jZU+qLn98XEbt6TjpkJU4e+tQHoiTdsTCYzHsEA=
X-Received: by 2002:a05:6402:40ce:b0:5e4:c25d:77ca with SMTP id
 4fb4d7f45d1cf-5e4d6b18cc9mr16247544a12.18.1741054327085; Mon, 03 Mar 2025
 18:12:07 -0800 (PST)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Mon, 3 Mar 2025 18:12:06 -0800
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <CACT2OnieAY-Q4rZkXj1Arj8=RrD_Ki8tVmz-1y-QQrB-yOZsYw@HIDDEN>
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <jwvh6q1rrwy.fsf-monnier+emacs@HIDDEN>
 <CACT2Oni9DHqSqT_ODtGu93AHDyMfAiqth1ZcySGoY7MmTm_MuQ@HIDDEN>
 <CACT2OnieAY-Q4rZkXj1Arj8=RrD_Ki8tVmz-1y-QQrB-yOZsYw@HIDDEN>
MIME-Version: 1.0
Date: Mon, 3 Mar 2025 18:12:06 -0800
X-Gm-Features: AQ5f1JpeIktOYcsW1P8Zie0imVd5nuuRLKbTI8kSz1FryM8FP4FweOKeZGHkn78
Message-ID: <CADwFkmnNUR64T2+xbGZEL6z4cZZvyuoiFF4qcM=ADCQ98Lb6pA@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
To: ozzloy <ozzloy@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

ozzloy <ozzloy@HIDDEN> writes:

> i've modified the commit with a couple goals.
>   + make the bug fixing part of the diff as small as possible.
>   + made the new tests look more like existing ones.
>   + rebased onto the head of the emacs-29 branch pulled in
>     earlier today.

Sorry for the delayed reply here.  I see that Stefan Monnier asked some
questions as well, could you please take a look?

Stefan Monnier writes:

> There remain some questions on this patch:
>
> 1- When `filedata` is neither a number nor a string this is treated the
>    same as an empty string.  Is that right?  Or should it just never
>    happen (in which case we should probably catch this case and signal
>    an error).
> 2- Should we also remove the `(unless (bolp)` in the default case?
>    I think we do (and my reading of your tests agrees, tho I couldn't
>    run your test suite on this version of the code, among other things
>    because it contains multiple tests with the same name, so it gives
>    me things like (error "Test
>    `test-mm-url-encode-multipart-form-data-A-ab-c' redefined")).
>
> I suspect we can also simply this code by moving the first
> (insert "--" boundary "\r\n") before the loop, and the second into the
> loop so we can make it insert "\r\n--" boundary "\r\n" (and thus remove
> \r\n from the end of each of the preceding branches).




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 2 Dec 2023 15:03:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 02 10:03:57 2023
Received: from localhost ([127.0.0.1]:58416 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r9RXB-0004E7-6y
	for submit <at> debbugs.gnu.org; Sat, 02 Dec 2023 10:03:57 -0500
Received: from mail-oa1-x33.google.com ([2001:4860:4864:20::33]:51299)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ozzloy@HIDDEN>) id 1r9RX9-0004Du-19
 for 63941 <at> debbugs.gnu.org; Sat, 02 Dec 2023 10:03:55 -0500
Received: by mail-oa1-x33.google.com with SMTP id
 586e51a60fabf-1fadf44de33so1063364fac.2
 for <63941 <at> debbugs.gnu.org>; Sat, 02 Dec 2023 07:03:45 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1701529419; x=1702134219; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=F/hR5eak4YyF70odWPoixOacZeuchTtawPnUKjAREco=;
 b=RWWlO4xOSWVE+uUOpnfb73Gbb1++vbvq2+HlFpcSzm7+1akUi6MpmT13bwfn8X12zs
 r8UZhMtONBhx25SIboRLPmPhhXS4vXKwXxIm2sEX7utp23g/UbmLoB8QnTjkcFJR4gtm
 APKwb+r2pKWaO/3AvJ0IklZcO5TTtREXieRFgzGc1is90H0TAPo+S73esN8aAdC55H06
 v5kRLnjpUht32R5qEa5LImOSdxZ5NgxLwEZY2CfmZBmlZdnK76fX7KLxQHIviej6N1BV
 Eope91TCAQwt2I5R5D1o0NarrrS+Dk1HydU+GSJb8Ij9SFVy1VFBbwY1+UpBQuezkKB/
 50Ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1701529419; x=1702134219;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=F/hR5eak4YyF70odWPoixOacZeuchTtawPnUKjAREco=;
 b=igirWoYmUmgH8bpK8F85TeGeUwz1M4YMk0wCATjxbnSWcroe96cvk+oH93lAXWMJls
 38ZVWWeULy507w4TYi1dfrDvmNoNIItlvbRPxE0ChFMF0jlSan5WOXc/sb7WjJM5mVy2
 jv0rHX/9Bwmw2bIYBBaWipBXduhEbwK/8yS9U5GEy7CRThKcct95X7WJO2gIURDCmv4E
 B3v9v8ElwIQ5i1/N/BSUOzPIJw+MSuol4v4nz2grVJ1xOYlbv8mui0YCWdeoGniWLPvn
 /Eivw+j4uZFtd3BgOIjZ8LN7vOWBSQFRm/wxIgyKQgDxBicDrtn986cQcNMTQgpXbM/c
 Dj/Q==
X-Gm-Message-State: AOJu0YxEKY+3KFHpCoTYMr7Rgv7f+7B0lXHGThUiSdAbpHDT8tge9FT4
 0NReWjms9c9EVw8yrxWa9VUrGnMJmOBQ5H0LjSV2utIA
X-Google-Smtp-Source: AGHT+IGzWTUyWMNTD+YG+YNWqd7s+W+aBvEeYLgHcMpeTFEKT6g0xlnIiRyg9Z68vLcygZtpViTH9AA319FJVz/09hc=
X-Received: by 2002:a05:6870:468d:b0:1fb:75a:de7e with SMTP id
 a13-20020a056870468d00b001fb075ade7emr1731795oap.108.1701529418971; Sat, 02
 Dec 2023 07:03:38 -0800 (PST)
MIME-Version: 1.0
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <jwvh6q1rrwy.fsf-monnier+emacs@HIDDEN>
 <CACT2Oni9DHqSqT_ODtGu93AHDyMfAiqth1ZcySGoY7MmTm_MuQ@HIDDEN>
 <CACT2OnieAY-Q4rZkXj1Arj8=RrD_Ki8tVmz-1y-QQrB-yOZsYw@HIDDEN>
In-Reply-To: <CACT2OnieAY-Q4rZkXj1Arj8=RrD_Ki8tVmz-1y-QQrB-yOZsYw@HIDDEN>
From: ozzloy <ozzloy@HIDDEN>
Date: Sat, 2 Dec 2023 07:03:23 -0800
Message-ID: <CACT2OngEv1ZfheuNEZar-UDJKAOPMba0u4265XuUHdaVhCo=Tg@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
To: 63941 <at> debbugs.gnu.org
Content-Type: multipart/alternative; boundary="00000000000097bed2060b8830f4"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 63941
Cc: Stefan Kangas <stefankangas@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000097bed2060b8830f4
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

bump

On Mon, Aug 28, 2023 at 5:28=E2=80=AFPM ozzloy <ozzloy@HIDDEN> wrote:

> i've modified the commit with a couple goals.
>   + make the bug fixing part of the diff as small as possible.
>   + made the new tests look more like existing ones.
>   + rebased onto the head of the emacs-29 branch pulled in
>     earlier today.
>

--00000000000097bed2060b8830f4
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">bump<br></div><br><div class=3D"gmail_quote"><div dir=3D"l=
tr" class=3D"gmail_attr">On Mon, Aug 28, 2023 at 5:28=E2=80=AFPM ozzloy &lt=
;<a href=3D"mailto:ozzloy@HIDDEN">ozzloy@HIDDEN</a>&gt; wrote:<br></d=
iv><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bord=
er-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div =
dir=3D"ltr">i&#39;ve modified the commit with a couple goals.<br>=C2=A0 + m=
ake the bug fixing part of the diff as small as possible.<br>=C2=A0 + made =
the new tests look more like existing ones.<br>=C2=A0 + rebased onto the he=
ad of the emacs-29 branch pulled in<br>=C2=A0 =C2=A0 earlier today.<br></di=
v>
</div>
</blockquote></div>

--00000000000097bed2060b8830f4--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 29 Aug 2023 00:28:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 28 20:28:38 2023
Received: from localhost ([127.0.0.1]:49193 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qamaz-0005sI-Rj
	for submit <at> debbugs.gnu.org; Mon, 28 Aug 2023 20:28:38 -0400
Received: from mail-ot1-x331.google.com ([2607:f8b0:4864:20::331]:56466)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ozzloy@HIDDEN>) id 1qamar-0005rx-NR
 for 63941 <at> debbugs.gnu.org; Mon, 28 Aug 2023 20:28:34 -0400
Received: by mail-ot1-x331.google.com with SMTP id
 46e09a7af769-6bca857accbso2969536a34.0
 for <63941 <at> debbugs.gnu.org>; Mon, 28 Aug 2023 17:28:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1693268897; x=1693873697;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=49VLlHxa8w0CGx2SJLftmvGK0zqFMFEziX62HTWJgEs=;
 b=FvN2fB65Vj/l9Vp9VdEozpWZ/EpeO+/QKbfeR13lhl9tdyYPf7muTCrowC7Qs1PZ/n
 mC1e4wi+HiJrUIvq33WfofI/2OsQdkZDqYUcFL1KToLcEYJR1IsKpd2BGCD78YgCQeOw
 3cSVxGYXcl3H2PqIZ4F2xUPF9RJQ3WVnp2WPEvtneA9Hq2UJEuXpTuHA6ygexQ/ACMrd
 Ha5ZH/EFoQQLNHGCogl5cjQKjzJ0cBDspeLI5iGEOZrsVNj99nAc1V1/HtQNTUU1goE9
 wJQ2K973FujgP9K227mk3MUYVtHUD/VVcv+LbQgyCKAlsU/52jif9PWC70kBgCmO40Fx
 iL3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1693268897; x=1693873697;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=49VLlHxa8w0CGx2SJLftmvGK0zqFMFEziX62HTWJgEs=;
 b=dTa/pHc6VT0FUdcQdczaHbtnZNuiVbK7O54wze4HfKAB8lAgcqiXKoEIQrMZh+zb8a
 wzVVlxTRviPkTklcMkw+b2HZbm13ZtlH58WhkD/dYi+0OaHr5dNs7Eg3eiL/cgEh+Jya
 /ga+IQDItSVvjg3/dgp6xg2WyC6OfPWurJ8RmMi13+K5LISFAYqdT3rSzfFvQsYf69ps
 ZvGHdgi1opuQPYqey4pNMj6Vg2fdqi+ZPGN/w6A3L//cv4MJhvPg2O9yWOdTK7EgC6/H
 fFI7kPUfeVMqYJdYOTUJ3t94sjcxa6haYdTrpxG1+4Gx8r7Cc5MATHYcF3xTJ+I5Qv9N
 5u1A==
X-Gm-Message-State: AOJu0YyXaa5hI/m7mHM8AsKbtZVhpdI47xGtYQxStEN/la4AiVA4xMrE
 bf0eSEqS3JnLMsMh4ZJwiHRGsXU3D8knVNHAoag=
X-Google-Smtp-Source: AGHT+IEZnkhecgFe2mqa9rl6RDX1IBToig2F3643cDAY0lG8tUCP8s8AKoGYFzhMHxwwnsc/9TGHXKDXRhJ1BrTa/vU=
X-Received: by 2002:a05:6870:828d:b0:1be:c87d:c670 with SMTP id
 q13-20020a056870828d00b001bec87dc670mr13593022oae.47.1693268896896; Mon, 28
 Aug 2023 17:28:16 -0700 (PDT)
MIME-Version: 1.0
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <jwvh6q1rrwy.fsf-monnier+emacs@HIDDEN>
 <CACT2Oni9DHqSqT_ODtGu93AHDyMfAiqth1ZcySGoY7MmTm_MuQ@HIDDEN>
In-Reply-To: <CACT2Oni9DHqSqT_ODtGu93AHDyMfAiqth1ZcySGoY7MmTm_MuQ@HIDDEN>
From: ozzloy <ozzloy@HIDDEN>
Date: Mon, 28 Aug 2023 17:28:00 -0700
Message-ID: <CACT2OnieAY-Q4rZkXj1Arj8=RrD_Ki8tVmz-1y-QQrB-yOZsYw@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
To: Stefan Monnier <monnier@HIDDEN>
Content-Type: multipart/mixed; boundary="0000000000001bf433060404e3c9"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000001bf433060404e3c9
Content-Type: multipart/alternative; boundary="0000000000001bf431060404e3c7"

--0000000000001bf431060404e3c7
Content-Type: text/plain; charset="UTF-8"

i've modified the commit with a couple goals.
  + make the bug fixing part of the diff as small as possible.
  + made the new tests look more like existing ones.
  + rebased onto the head of the emacs-29 branch pulled in
    earlier today.

--0000000000001bf431060404e3c7
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">i&#39;ve modified the commit with a coupl=
e goals.<br>=C2=A0 + make the bug fixing part of the diff as small as possi=
ble.<br>=C2=A0 + made the new tests look more like existing ones.<br>=C2=A0=
 + rebased onto the head of the emacs-29 branch pulled in<br>=C2=A0 =C2=A0 =
earlier today.<br></div>
</div>

--0000000000001bf431060404e3c7--

--0000000000001bf433060404e3c9
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-upload-newline-terminated-files-via-EWW-Bug-63941.patch"
Content-Disposition: attachment; 
	filename="0001-upload-newline-terminated-files-via-EWW-Bug-63941.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_llvkk6600>
X-Attachment-Id: f_llvkk6600

RnJvbSBjNmM0MmU0YTcyZmM5YzI2MDg2ZDdlOWYwYmNkNzA5OTlhMWJjMjEzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgV2F0c29uIDxvenpsb3lAZ21haWwuY29tPgpEYXRl
OiBGcmksIDIxIEp1bCAyMDIzIDAwOjAzOjA2IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gOyB1cGxv
YWQgbmV3bGluZSB0ZXJtaW5hdGVkIGZpbGVzIHZpYSBFV1cgKEJ1ZyM2Mzk0MSkKCjsgRW5zdXJl
IHRoYXQgZXZlcnkgYm91bmRhcnkgaW4gSFRUUCBtZXNzYWdlIGlzIHByZWNlZGVkIGJ5CjsgIlxy
XG4iLiAgQWNjb3JkaW5nIHRvIFJGQyAyMDQ2LCBzZWN0aW9uIDUsIHRoZSAiXHJcbiIKOyBwcmVj
ZWRpbmcgdGhlIGJvdW5kYXJ5IGlzIG5vdCBjb25zaWRlcmVkIHBhcnQgb2YgdGhlCjsgcHJlY2Vk
aW5nIGNvbnRlbnQsIGFuZCBpcyBpbnN0ZWFkIGF0dGFjaGVkIHRvIHRoZSBib3VuZGFyeQo7IHRo
YXQgZm9sbG93cyBpdC4KCjsgQ29uc2lkZXIgYSBmaWxlIG5hbWVkICIxbmwiLCBjb25zaXN0aW5n
IG9ubHkgb2YgdGhlIHNpbmdsZQo7IGNoYXJhY3RlciAnXG4nLgoKOyBUaGUgcHJpb3IgdmVyc2lv
biBvZiA9bW0tdXJsLWVuY29kZS1tdWx0aXBhcnQtZm9ybS1kYXRhPQo7IGNyZWF0ZXMgdGhlIGZv
bGxvd2luZyBIVFRQIG1lc3NhZ2U6Cgo7ICAgKGNvbmNhdAo7ICAgICItLUJPVU5EQVJZXHJcbiIK
OyAgICAiQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwiYVwiOyBmaWxlbmFt
ZT1cIjFubFwiXHJcbiIKOyAgICAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmluYXJ5XHJc
biIKOyAgICAiQ29udGVudC1UeXBlOiBjXHJcbiIKOyAgICAiXHJcbiIKOwo7ICAgIDs7IGZpbGUg
Y29udGVudAo7ICAgICJcbiIKOwo7ICAgIDs7IE5PVEUgIlxyXG4iIGlzIGFic2VudCBoZXJlIGJl
Zm9yZSB0aGUgZm9sbG93aW5nIGJvdW5kYXJ5CjsgICAgIi0tQk9VTkRBUlktLVxyXG4iKQoKOyB0
aGlzIHZlcnNpb24gb2YgPW1tLXVybC1lbmNvZGUtbXVsdGlwYXJ0LWZvcm0tZGF0YT0gY3JlYXRl
cwo7IHRoaXMgSFRUUCBtZXNzYWdlOgoKOyAgIChjb25jYXQKOyAgICAiLS1CT1VOREFSWVxyXG4i
CjsgICAgIkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT1cImFcIjsgZmlsZW5h
bWU9XCIxbmxcIlxyXG4iCjsgICAgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJpbmFyeVxy
XG4iCjsgICAgIkNvbnRlbnQtVHlwZTogY1xyXG4iCjsgICAgIlxyXG4iCjsKOyAgICA7OyBmaWxl
IGNvbnRlbnQKOyAgICAiXG4iCjsKOyAgICA7OyBOT1RFICJcclxuIiBwcmVjZWRpbmcgdGhlIGJv
dW5kYXJ5CjsgICAgIlxyXG4iCjsgICAgIi0tQk9VTkRBUlktLVxyXG4iKQoKOyBUaGUgbmV3IGNv
ZGUgZW5zdXJlcyBhbGwgYm91bmRhcmllcyBhZnRlciB0aGUgb25lIGF0IHRoZSB2ZXJ5CjsgYmVn
aW5uaW5nIGFyZSBwcmVjZWRlZCBieSAiXHJcbiIsIHdoZXRoZXIgdGhleSBhcmUgdGhlIGZpbmFs
LAo7IG9yIG90aGVyIGludGVybmFsIGJvdW5kYXJpZXMuCi0tLQogbGlzcC9nbnVzL21tLXVybC5l
bCAgICAgICAgICAgIHwgICA1ICstCiB0ZXN0L2xpc3AvZ251cy9tbS11cmwtdGVzdHMuZWwgfCAx
MzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDEz
MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3Qv
bGlzcC9nbnVzL21tLXVybC10ZXN0cy5lbAoKZGlmZiAtLWdpdCBhL2xpc3AvZ251cy9tbS11cmwu
ZWwgYi9saXNwL2dudXMvbW0tdXJsLmVsCmluZGV4IDExODQ3YTc5ZjE3Li41YjY4YjI1ZWMyZSAx
MDA2NDQKLS0tIGEvbGlzcC9nbnVzL21tLXVybC5lbAorKysgYi9saXNwL2dudXMvbW0tdXJsLmVs
CkBAIC00MzMsMTMgKzQzMywxMiBAQCBtbS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGEK
IAkgICAgICAoaW5zZXJ0IChudW1iZXItdG8tc3RyaW5nIGZpbGVkYXRhKSkpKSkpCiAJICgoZXF1
YWwgbmFtZSAic3VibWl0IikKIAkgIChpbnNlcnQKLQkgICAiQ29udGVudC1EaXNwb3NpdGlvbjog
Zm9ybS1kYXRhOyBuYW1lPVwic3VibWl0XCJcclxuXHJcblN1Ym1pdFxyXG4iKSkKKwkgICAiQ29u
dGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwic3VibWl0XCJcclxuXHJcblN1Ym1p
dCIpKQogCSAodAogCSAgKGluc2VydCAoZm9ybWF0ICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3Jt
LWRhdGE7IG5hbWU9JVNcclxuXHJcbiIKIAkJCSAgbmFtZSkpCiAJICAoaW5zZXJ0IHZhbHVlKSkp
Ci0JKHVubGVzcyAoYm9scCkKLQkgIChpbnNlcnQgIlxyXG4iKSkpKQorCShpbnNlcnQgIlxyXG4i
KSkpCiAgICAgKGluc2VydCAiLS0iIGJvdW5kYXJ5ICItLVxyXG4iKQogICAgIChidWZmZXItc3Ry
aW5nKSkpCiAKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9nbnVzL21tLXVybC10ZXN0cy5lbCBiL3Rl
c3QvbGlzcC9nbnVzL21tLXVybC10ZXN0cy5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMC4uNDRlZmJhMTg2N2MKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0L2xpc3AvZ251
cy9tbS11cmwtdGVzdHMuZWwKQEAgLTAsMCArMSwxMzEgQEAKKzs7OyBtbS11cmwtdGVzdHMuZWwg
LS0tICAtKi0gbGV4aWNhbC1iaW5kaW5nOnQgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAyMS0y
MDIzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBUaGlzIGZpbGUgaXMgcGFy
dCBvZiBHTlUgRW1hY3MuCisKKzs7IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorOzsgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IKKzs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKzs7IEdOVSBFbWFj
cyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorOzsg
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisKKzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7OyBhbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwg
c2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKzs7OyBDb21tZW50YXJ5Ogor
Cis7OzsgQ29kZToKKworKHJlcXVpcmUgJ2VydCkKKyhyZXF1aXJlICdtbS11cmwpCisKKworKGVy
dC1kZWZ0ZXN0IG1tLXVybC1lbmNvZGUtbXVsdGlwYXJ0LWZvcm0tZGF0YSAoKQorICA7OyBuaWwK
KyAgKHNob3VsZAorICAgKHN0cmluZz0KKyAgICAobW0tdXJsLWVuY29kZS1tdWx0aXBhcnQtZm9y
bS1kYXRhICcoKSAiQk9VTkRBUlkiKQorICAgICItLUJPVU5EQVJZLS1cclxuIikpCisKKyAgOzsg
a2V5IHZhbHVlIHBhaXIKKyAgKHNob3VsZAorICAgKHN0cmluZz0KKyAgICAobW0tdXJsLWVuY29k
ZS1tdWx0aXBhcnQtZm9ybS1kYXRhCisgICAgICcoKCJrZXkiIC4gInZhbHVlIikpICJCT1VOREFS
WSIpCisgICAgKGNvbmNhdCAiLS1CT1VOREFSWVxyXG4iCisJICAgICJDb250ZW50LURpc3Bvc2l0
aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJrZXlcIlxyXG4iCisJICAgICJcclxuIgorCSAgICAidmFs
dWVcclxuIgorCSAgICAiLS1CT1VOREFSWS0tXHJcbiIpKSkKKworICA7OyBzdWJtaXQKKyAgKHNo
b3VsZAorICAgKHN0cmluZz0KKyAgICAobW0tdXJsLWVuY29kZS1tdWx0aXBhcnQtZm9ybS1kYXRh
ICcoKCJzdWJtaXQiKSkgIkJPVU5EQVJZIikKKyAgICAoY29uY2F0ICItLUJPVU5EQVJZXHJcbiIK
KwkgICAgIkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT1cInN1Ym1pdFwiXHJc
biIKKwkgICAgIlxyXG4iCisJICAgICJTdWJtaXRcclxuIgorCSAgICAiLS1CT1VOREFSWS0tXHJc
biIpKSkKKworICA7OyBmaWxlIGVuZGluZyBpbiBuZXdsaW5lCisgIChzaG91bGQKKyAgIChzdHJp
bmc9CisgICAgKG1tLXVybC1lbmNvZGUtbXVsdGlwYXJ0LWZvcm0tZGF0YQorICAgICAnKCgiZmls
ZSIgLiAoKCJuYW1lIiAgICAgICAgIC4gImEiKQorCQkgICgiZmlsZW5hbWUiICAgICAuICJiIikK
KwkJICAoImNvbnRlbnQtdHlwZSIgLiAiYyIpCisJCSAgKCJmaWxlZGF0YSIgICAgIC4gImRcbiIp
KSkpCisgICAgICJCT1VOREFSWSIpCisgICAgKGNvbmNhdAorICAgICAiLS1CT1VOREFSWVxyXG4i
CisgICAgICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJhXCI7IGZpbGVu
YW1lPVwiYlwiXHJcbiIKKyAgICAgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJpbmFyeVxy
XG4iCisgICAgICJDb250ZW50LVR5cGU6IGNcclxuIgorICAgICAiXHJcbiIKKyAgICAgImRcblxy
XG4iCisgICAgICItLUJPVU5EQVJZLS1cclxuIikpKQorCisgIDs7IHN0cmVzcyB0ZXN0IGNvbWJp
bmluZyBwYXJ0czoga2V5LXZhbHVlLCBzdWJtaXQsIGZpbGUKKyAgKHNob3VsZAorICAgKHN0cmlu
Zz0KKyAgICAobW0tdXJsLWVuY29kZS1tdWx0aXBhcnQtZm9ybS1kYXRhCisgICAgICcoKCJuYW1l
IiAuICJ2YWx1ZSIpCisgICAgICAgKCJzdWJtaXQiKQorICAgICAgICgiZmlsZSIgLiAoKCJuYW1l
IiAgICAgICAgIC4gImEiKQorCQkgICgiZmlsZW5hbWUiICAgICAuICJiIikKKwkJICAoImNvbnRl
bnQtdHlwZSIgLiAiYyIpCisJCSAgKCJmaWxlZGF0YSIgICAgIC4gImQiKSkpKQorICAgICAiQk9V
TkRBUlkiKQorICAgIChjb25jYXQKKyAgICAgIi0tQk9VTkRBUllcclxuIgorICAgICAiQ29udGVu
dC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwibmFtZVwiXHJcbiIKKyAgICAgIlxyXG4i
CisgICAgICJ2YWx1ZVxyXG4iCisgICAgICItLUJPVU5EQVJZXHJcbiIKKyAgICAgIkNvbnRlbnQt
RGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT1cInN1Ym1pdFwiXHJcbiIKKyAgICAgIlxyXG4i
CisgICAgICJTdWJtaXRcclxuIgorICAgICAiLS1CT1VOREFSWVxyXG4iCisgICAgICJDb250ZW50
LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJhXCI7IGZpbGVuYW1lPVwiYlwiXHJcbiIK
KyAgICAgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJpbmFyeVxyXG4iCisgICAgICJDb250
ZW50LVR5cGU6IGNcclxuIgorICAgICAiXHJcbiIKKyAgICAgImRcclxuIgorICAgICAiLS1CT1VO
REFSWS0tXHJcbiIpKSkKKworICA7OyB0d28gZmlsZXMsIG5ld2xpbmUgYXQgRU9GLCBiZWZvcmUg
ZmluYWwgYW5kIG5vbi1maW5hbCBCT1VOREFSWQorICAoc2hvdWxkCisgICAoc3RyaW5nPQorICAg
IChtbS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGEKKyAgICAgJygoImZpbGUiIC4gKCgi
bmFtZSIgICAgICAgICAuICJhIikKKwkJICAoImZpbGVuYW1lIiAgICAgLiAiYiIpCisJCSAgKCJj
b250ZW50LXR5cGUiIC4gImMiKQorCQkgICgiZmlsZWRhdGEiICAgICAuICJkXG4iKSkpCisgICAg
ICAgKCJmaWxlIiAuICgoIm5hbWUiICAgICAgICAgLiAiZSIpCisJCSAgKCJmaWxlbmFtZSIgICAg
IC4gImYiKQorCQkgICgiY29udGVudC10eXBlIiAuICJnIikKKwkJICAoImZpbGVkYXRhIiAgICAg
LiAiaFxuIikpKSkKKyAgICAgIkJPVU5EQVJZIikKKyAgICAoY29uY2F0CisgICAgICItLUJPVU5E
QVJZXHJcbiIKKyAgICAgIkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT1cImFc
IjsgZmlsZW5hbWU9XCJiXCJcclxuIgorICAgICAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog
YmluYXJ5XHJcbiIKKyAgICAgIkNvbnRlbnQtVHlwZTogY1xyXG4iCisgICAgICJcclxuIgorICAg
ICAiZFxuXHJcbiIKKyAgICAgIi0tQk9VTkRBUllcclxuIgorICAgICAiQ29udGVudC1EaXNwb3Np
dGlvbjogZm9ybS1kYXRhOyBuYW1lPVwiZVwiOyBmaWxlbmFtZT1cImZcIlxyXG4iCisgICAgICJD
b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiaW5hcnlcclxuIgorICAgICAiQ29udGVudC1UeXBl
OiBnXHJcbiIKKyAgICAgIlxyXG4iCisgICAgICJoXG5cclxuIgorICAgICAiLS1CT1VOREFSWS0t
XHJcbiIpKSkpCisKKworOzs7IG1tLXVybC10ZXN0cy5lbCBlbmRzIGhlcmUKLS0gCjIuMzkuMgoK
--0000000000001bf433060404e3c9--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 21 Jul 2023 09:04:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 21 05:04:57 2023
Received: from localhost ([127.0.0.1]:60546 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qMm4F-0007zP-4L
	for submit <at> debbugs.gnu.org; Fri, 21 Jul 2023 05:04:56 -0400
Received: from mail-ot1-x32a.google.com ([2607:f8b0:4864:20::32a]:52606)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ozzloy@HIDDEN>) id 1qMm4A-0007z8-Ni
 for 63941 <at> debbugs.gnu.org; Fri, 21 Jul 2023 05:04:54 -0400
Received: by mail-ot1-x32a.google.com with SMTP id
 46e09a7af769-6b9af1826b6so1423026a34.1
 for <63941 <at> debbugs.gnu.org>; Fri, 21 Jul 2023 02:04:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1689930285; x=1690535085;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=rkERSSPZ+hZPK8Zv9ozKK1NOf2gcgJ9rei18ztjZ/O0=;
 b=f95+C+ItTRGutNba+ufNRcCHYDZFqMnM9kVLI22ptem3DzPaU3yK7rK5KkSRXWpWAA
 oX2pmp16cIQEmHyS9XxK1sR1MTfF331wijdgYmqs+eNsAw/Hk0atBnrESxnjowbagOw3
 oDZvz+WJpCOdx2PfkQoGcLTUZU3fSexC/0ij+P9zr4nPJXeta0jQU82QY3sf4QpWTx3v
 AC9kp0CoVvXPvZYXOThy0OXOMoktmuIhjzTfw5fuvwjaa4+oMbsJjjQ0GFjgMnWbPiqW
 qF3TcyOK7Gfm7D5l/XUWNHHMlWKjecj/7SEXexdlwgc/q/f+DQEYzXVS6Ag5RqnvMGQC
 UoQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1689930285; x=1690535085;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=rkERSSPZ+hZPK8Zv9ozKK1NOf2gcgJ9rei18ztjZ/O0=;
 b=jxvKOk3qDoLQXKH9oYVNdpE5Rly9Q0LM70JGrCt+VkIyZoQZIKdNYpmuCSoZ99naZ3
 WqS1ZKd0708jEWqT62ZT/d5QQzhdGj0ZISlZYflijAQhQ5DbRKlF3G6zWFYBH1KClgXs
 DBJ/EEwrKXjWBRE4csVJ/9wlECSOO+1eXH1HfuqDT07L731UjSCHGh0n3vjaeI3oYFQ+
 uIL/V7isXkMvuGfbSzsJNATotS5lMriqcdRKhaFsjt49IxJOT4i27V+eD/gBx9wfvBK7
 ZWfwVXeJRrmj4DfhU2EgVvi0npKUjQ7c3JxWZZEJ/jo+Mb+oDA/4qMyMZ9kf9Z2YM6d4
 FJxg==
X-Gm-Message-State: ABy/qLZc4pRVPKxMb/JrsDAB1IhNi/XLkN3B4bbnnJ6xQFVOUk9UEbGZ
 /r0bbJTDvcVSToCe7vclQ8JonAaEMaVXg80Ot3g=
X-Google-Smtp-Source: APBJJlFtQIfMAAk4IthgkFQv+deSHsvKWg9HlWeR3wL/eE8WZpJShccUGrtt6A6YHddk06LlSQYhq73Se+JVPjTMRnc=
X-Received: by 2002:a05:6870:b487:b0:1b7:2931:1088 with SMTP id
 y7-20020a056870b48700b001b729311088mr1676371oap.33.1689930284757; Fri, 21 Jul
 2023 02:04:44 -0700 (PDT)
MIME-Version: 1.0
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <jwvh6q1rrwy.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvh6q1rrwy.fsf-monnier+emacs@HIDDEN>
From: ozzloy <ozzloy@HIDDEN>
Date: Fri, 21 Jul 2023 02:04:27 -0700
Message-ID: <CACT2Oni9DHqSqT_ODtGu93AHDyMfAiqth1ZcySGoY7MmTm_MuQ@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
To: Stefan Monnier <monnier@HIDDEN>
Content-Type: multipart/mixed; boundary="000000000000518c940600fb8eac"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000518c940600fb8eac
Content-Type: multipart/alternative; boundary="000000000000518c920600fb8eaa"

--000000000000518c920600fb8eaa
Content-Type: text/plain; charset="UTF-8"

Thanks so much for taking the time to review this!

> I'd rather not completely replace the old with a brand new code
> because that makes it hard for me to see what's really changed.

I thought this would be ok, since the existing version is a complete
rewrite of the original (so there's precedent for complete rewrite of
a function in a commit to fix a bug), and if there were tests showing
the behavior to be the same as before, except where this bug is
fixed. (Though I see the tests are currently broken).

Based on your feedback, and some help from #emacs, I made a patch
that is very minimal to the existing code, with better commit
message, and attached it here.

The patch removes the =(unless (bolp) ...)= guarding inserting CRLF.
The RFC says the "boundary delimiter MUST occur at the beginning of a
line, i.e., following a CRLF".  =(bolp)= is not enough to guarantee
the boundary is preceded by CRLF.  It can be true when the point
is after just "\n".

Because CRLF is inserted unconditionally after the =cond=, the code
does not include the boundary's CRLF in each branch of the =cond=.

> when `filedata` is an empty string, this add an additional \r\n
> compared to the current code.  This seems right to me

Me too, and all the other clients I tested.

> I expect the decoding software will skip the \r\n at the of the
> header and then look for \r\n<BOUNDARY>, so it's important to have
> two \r\n

 What you said is true.  In addition, they also accept

"HEADER\r\nfile content\n--BOUNDARY"

as the content "file content", and consider the last "\n" as attached
to the boundary.  That's where the file's final "\n" gets lost if the
file's content was initially "file content\n".

> There remain some questions on this patch:

While fixing this bug, I found a few more problems in addition to the
two that you mention here.  I was not addressing them yet, since I
thought I should fix one bug per patch.

> I suspect we can also simply this code by moving the first (insert
> "--" boundary "\r\n") before the loop, and the second into the loop
> so we can make it insert "\r\n--" boundary "\r\n" (and thus remove
> \r\n from the end of each of the preceding branches).

Almost, but not quite, or at least not without some awkward (to my
eye) repositioning of inserting boundaries, "--", and "\r\n".  The
final boundary complicates things.  It is different from all the
others, it is "--BOUNDARY--" instead of "--BOUNDARY"

Here's what I ended up with when I tried that,

https://git.sr.ht/~ozzloy/emacs-bug-63941/tree/simplify-insert-boundaries-and---/item/mm-url.el#L397

This passes the tests in =emacs/tests/lisp/gnus/mm-url-tests.el=.

--000000000000518c920600fb8eaa
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Thanks so much for taking the time to rev=
iew this!<br><br>&gt; I&#39;d rather not completely replace the old with a =
brand new code<br>&gt; because that makes it hard for me to see what&#39;s =
really changed.<br></div><div dir=3D"ltr"><br></div><div dir=3D"ltr">I thou=
ght this would be ok, since the existing version is a complete<br>rewrite o=
f the original (so there&#39;s precedent for complete rewrite of<br>a funct=
ion in a commit to fix a bug), and if there were tests showing<br>the behav=
ior to be the same as before, except where this bug is<br>fixed. (Though I =
see the tests are currently broken).</div><div dir=3D"ltr"><br>Based on you=
r feedback, and some help from #emacs, I made a patch<br>that is very minim=
al to the existing code, with better commit<br>message, and attached it her=
e.<br><br>The patch removes the =3D(unless (bolp) ...)=3D guarding insertin=
g CRLF.<br>The RFC says the &quot;boundary delimiter MUST occur at the begi=
nning of a<br>line, i.e., following a CRLF&quot;. =C2=A0=3D(bolp)=3D is not=
 enough to guarantee<br>the boundary is preceded by CRLF.=C2=A0 It can be t=
rue when the point<br>is after just &quot;\n&quot;.<br><br>Because CRLF is =
inserted unconditionally after the =3Dcond=3D, the code<br>does not include=
 the boundary&#39;s CRLF in each branch of the =3Dcond=3D.<br><br>&gt; when=
 `filedata` is an empty string, this add an additional \r\n<br>&gt; compare=
d to the current code.=C2=A0 This seems right to me<br><br>Me too, and all =
the other clients I tested.<br><br>&gt; I expect the decoding software will=
 skip the \r\n at the of the<br>&gt; header and then look for \r\n&lt;BOUND=
ARY&gt;, so it&#39;s important to have<br>&gt; two \r\n<br><br>=C2=A0What y=
ou said is true.=C2=A0 In addition, they also accept<br><br>&quot;HEADER\r\=
nfile content\n--BOUNDARY&quot;<br><br>as the content &quot;file content&qu=
ot;, and consider the last &quot;\n&quot; as attached<br>to the boundary.=
=C2=A0 That&#39;s where the file&#39;s final &quot;\n&quot; gets lost if th=
e<br>file&#39;s content was initially &quot;file content\n&quot;.<br><br>&g=
t; There remain some questions on this patch:<br><br>While fixing this bug,=
 I found a few more problems in addition to the<br>two that you mention her=
e.=C2=A0 I was not addressing them yet, since I<br>thought I should fix one=
 bug per patch.<br><br>&gt; I suspect we can also simply this code by movin=
g the first (insert<br>&gt; &quot;--&quot; boundary &quot;\r\n&quot;) befor=
e the loop, and the second into the loop<br>&gt; so we can make it insert &=
quot;\r\n--&quot; boundary &quot;\r\n&quot; (and thus remove<br>&gt; \r\n f=
rom the end of each of the preceding branches).<br><br>Almost, but not quit=
e, or at least not without some awkward (to my<br>eye) repositioning of ins=
erting boundaries, &quot;--&quot;, and &quot;\r\n&quot;.=C2=A0 The<br>final=
 boundary complicates things.=C2=A0 It is different from all the<br>others,=
 it is &quot;--BOUNDARY--&quot; instead of &quot;--BOUNDARY&quot;<br><br>He=
re&#39;s what I ended up with when I tried that,<br><br><a href=3D"https://=
git.sr.ht/~ozzloy/emacs-bug-63941/tree/simplify-insert-boundaries-and---/it=
em/mm-url.el#L397">https://git.sr.ht/~ozzloy/emacs-bug-63941/tree/simplify-=
insert-boundaries-and---/item/mm-url.el#L397</a><br><br>This passes the tes=
ts in =3Demacs/tests/lisp/gnus/mm-url-tests.el=3D.<br><br></div><br></div>

--000000000000518c920600fb8eaa--

--000000000000518c940600fb8eac
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-allow-uploading-files-ending-in-newline-via-EWW.patch"
Content-Disposition: attachment; 
	filename="0001-allow-uploading-files-ending-in-newline-via-EWW.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_lkc8xxb00>
X-Attachment-Id: f_lkc8xxb00

RnJvbSBiM2UyZjA3MzY3YzZlOTgzNmIzYTc2MzViODYzMzViZjcxMDRiMmI5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgV2F0c29uIDxvenpsb3lAZ21haWwuY29tPgpEYXRl
OiBGcmksIDIxIEp1bCAyMDIzIDAwOjAzOjA2IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gOyBhbGxv
dyB1cGxvYWRpbmcgZmlsZXMgZW5kaW5nIGluIG5ld2xpbmUgdmlhIEVXVwoKOyBFbnN1cmUgdGhh
dCBldmVyeSBib3VuZGFyeSBpbiBIVFRQIG1lc3NhZ2UgaXMgcHJlY2VkZWQgYnkgIlxyXG4iLgo7
IEFjY29yZGluZyB0byBSRkMgMjA0Niwgc2VjdGlvbiA1LCB0aGUgIlxyXG4iIHByZWNlZGluZyB0
aGUgYm91bmRhcnkKOyBpcyBub3QgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBwcmVjZWRpbmcgY29u
dGVudCwgYW5kIGlzIGluc3RlYWQKOyBhdHRhY2hlZCB0byB0aGUgYm91bmRhcnkgdGhhdCBmb2xs
b3dzIGl0Lgo7CjsgQ29uc2lkZXIgYSBmaWxlIG5hbWVkICIxbmwiLCBjb25zaXN0aW5nIG9ubHkg
b2YgdGhlIHNpbmdsZSBjaGFyYWN0ZXIKOyAnXG4nLgo7CjsgVGhlIG9sZCB2ZXJzaW9uIG9mID1t
bS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGE9IGNyZWF0ZXMgdGhlCjsgZm9sbG93aW5n
IEhUVFAgbWVzc2FnZToKOwo7ICAgKGNvbmNhdAo7ICAgICItLUJPVU5EQVJZXHJcbiIKOyAgICAi
Q29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwiYVwiOyBmaWxlbmFtZT1cIjFu
bFwiXHJcbiIKOyAgICAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmluYXJ5XHJcbiIKOyAg
ICAiQ29udGVudC1UeXBlOiBjXHJcbiIKOyAgICAiXHJcbiIKOwo7ICAgIDs7IGZpbGUgY29udGVu
dAo7ICAgICJcbiIKOwo7ICAgIDs7IE5PVEUgIlxyXG4iIGlzIGFic2VudCBiZWZvcmUgdGhlIGZv
bGxvd2luZyBib3VuZGFyeQo7ICAgICItLUJPVU5EQVJZLS1cclxuIikKOwo7IHRoZSBuZXcgdmVy
c2lvbiBvZiA9bW0tdXJsLWVuY29kZS1tdWx0aXBhcnQtZm9ybS1kYXRhPSBjcmVhdGVzIHRoaXMK
OyBIVFRQIG1lc3NhZ2U6CjsKOyAgIChjb25jYXQKOyAgICAiLS1CT1VOREFSWVxyXG4iCjsgICAg
IkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT1cImFcIjsgZmlsZW5hbWU9XCIx
bmxcIlxyXG4iCjsgICAgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJpbmFyeVxyXG4iCjsg
ICAgIkNvbnRlbnQtVHlwZTogY1xyXG4iCjsgICAgIlxyXG4iCjsKOyAgICA7OyBmaWxlIGNvbnRl
bnQKOyAgICAiXG4iCjsKOyAgICA7OyBOT1RFICJcclxuIiBwcmVjZWRlcyB0aGUgYm91bmRhcnkK
OyAgICAiXHJcbiIKOyAgICAiLS1CT1VOREFSWS0tXHJcbiIpCjsKOyBUaGUgbmV3IGNvZGUgZW5z
dXJlcyBhbGwgYm91bmRhcmllcyBhZnRlciB0aGUgb25lIGF0IHRoZSB2ZXJ5CjsgYmVnaW5uaW5n
IGFyZSBwcmVjZWRlZCBieSAiXHJcbiIsIHdoZXRoZXIgdGhleSBhcmUgdGhlIGZpbmFsLCBvcgo7
IG90aGVyIGludGVybmFsIGJvdW5kYXJpZXMuCi0tLQogbGlzcC9nbnVzL21tLXVybC5lbCAgICAg
ICAgICAgIHwgICA1ICstCiB0ZXN0L2xpc3AvZ251cy9tbS11cmwtdGVzdHMuZWwgfCAxNjAgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE2MiBpbnNl
cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvbGlzcC9n
bnVzL21tLXVybC10ZXN0cy5lbAoKZGlmZiAtLWdpdCBhL2xpc3AvZ251cy9tbS11cmwuZWwgYi9s
aXNwL2dudXMvbW0tdXJsLmVsCmluZGV4IDExODQ3YTc5ZjE3Li41YjY4YjI1ZWMyZSAxMDA2NDQK
LS0tIGEvbGlzcC9nbnVzL21tLXVybC5lbAorKysgYi9saXNwL2dudXMvbW0tdXJsLmVsCkBAIC00
MzMsMTMgKzQzMywxMiBAQCBtbS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGEKIAkgICAg
ICAoaW5zZXJ0IChudW1iZXItdG8tc3RyaW5nIGZpbGVkYXRhKSkpKSkpCiAJICgoZXF1YWwgbmFt
ZSAic3VibWl0IikKIAkgIChpbnNlcnQKLQkgICAiQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1k
YXRhOyBuYW1lPVwic3VibWl0XCJcclxuXHJcblN1Ym1pdFxyXG4iKSkKKwkgICAiQ29udGVudC1E
aXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwic3VibWl0XCJcclxuXHJcblN1Ym1pdCIpKQog
CSAodAogCSAgKGluc2VydCAoZm9ybWF0ICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7
IG5hbWU9JVNcclxuXHJcbiIKIAkJCSAgbmFtZSkpCiAJICAoaW5zZXJ0IHZhbHVlKSkpCi0JKHVu
bGVzcyAoYm9scCkKLQkgIChpbnNlcnQgIlxyXG4iKSkpKQorCShpbnNlcnQgIlxyXG4iKSkpCiAg
ICAgKGluc2VydCAiLS0iIGJvdW5kYXJ5ICItLVxyXG4iKQogICAgIChidWZmZXItc3RyaW5nKSkp
CiAKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9nbnVzL21tLXVybC10ZXN0cy5lbCBiL3Rlc3QvbGlz
cC9nbnVzL21tLXVybC10ZXN0cy5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uN2I4ZDQ1YjYwNjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0L2xpc3AvZ251cy9tbS11
cmwtdGVzdHMuZWwKQEAgLTAsMCArMSwxNjAgQEAKKzs7OyBtbS11cmwtdGVzdHMuZWwgLS0tICAt
Ki0gbGV4aWNhbC1iaW5kaW5nOnQgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAyMS0yMDIzIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBH
TlUgRW1hY3MuCisKKzs7IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorOzsgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKzs7
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKzs7IEdOVSBFbWFjcyBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorOzsgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
Kzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisKKzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCis7OyBhbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxo
dHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKzs7OyBDb21tZW50YXJ5OgorCis7Ozsg
Q29kZToKKworKHJlcXVpcmUgJ2VydCkKKyhyZXF1aXJlICdtbS11cmwpCisKKworKGVydC1kZWZ0
ZXN0IHRlc3QtbW0tdXJsLWVuY29kZS1tdWx0aXBhcnQtZm9ybS1kYXRhOm5pbCAoKQorICAoc2hv
dWxkCisgICAoc3RyaW5nPQorICAgIChtbS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGEg
JygpICJCT1VOREFSWSIpCisgICAgIi0tQk9VTkRBUlktLVxyXG4iKSkpCisKKyhlcnQtZGVmdGVz
dCB0ZXN0LW1tLXVybC1lbmNvZGUtbXVsdGlwYXJ0LWZvcm0tZGF0YTpuYW1lLXZhbHVlICgpCisg
IChzaG91bGQKKyAgIChzdHJpbmc9CisgICAgKG1tLXVybC1lbmNvZGUtbXVsdGlwYXJ0LWZvcm0t
ZGF0YQorICAgICAnKCgia2V5IiAuICJ2YWx1ZSIpKSAiQk9VTkRBUlkiKQorICAgIChjb25jYXQg
Ii0tQk9VTkRBUllcclxuIgorCSAgICAiQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBu
YW1lPVwia2V5XCJcclxuIgorCSAgICAiXHJcbiIKKwkgICAgInZhbHVlXHJcbiIKKwkgICAgIi0t
Qk9VTkRBUlktLVxyXG4iKSkpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1tbS11cmwtZW5jb2RlLW11
bHRpcGFydC1mb3JtLWRhdGE6c3VibWl0ICgpCisgIChzaG91bGQKKyAgIChzdHJpbmc9CisgICAg
KG1tLXVybC1lbmNvZGUtbXVsdGlwYXJ0LWZvcm0tZGF0YSAnKCgic3VibWl0IikpICJCT1VOREFS
WSIpCisgICAgKGNvbmNhdCAiLS1CT1VOREFSWVxyXG4iCisJICAgICJDb250ZW50LURpc3Bvc2l0
aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJzdWJtaXRcIlxyXG4iCisJICAgICJcclxuIgorCSAgICAi
U3VibWl0XHJcbiIKKwkgICAgIi0tQk9VTkRBUlktLVxyXG4iKSkpKQorCisoZXJ0LWRlZnRlc3Qg
dGVzdC1tbS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGE6ZmlsZSAoKQorICAoc2hvdWxk
CisgICAoc3RyaW5nPQorICAgIChtbS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGEKKyAg
ICAgJygoImZpbGUiIC4gKCgibmFtZSIgICAgICAgICAuICJhIikKKwkJICAoImZpbGVuYW1lIiAg
ICAgLiAiYiIpCisJCSAgKCJjb250ZW50LXR5cGUiIC4gImMiKQorCQkgICgiZmlsZWRhdGEiICAg
ICAuICJkXG4iKSkpKQorICAgICAiQk9VTkRBUlkiKQorCisgICAgKGNvbmNhdAorICAgICAiLS1C
T1VOREFSWVxyXG4iCisgICAgICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9
XCJhXCI7IGZpbGVuYW1lPVwiYlwiXHJcbiIKKyAgICAgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rp
bmc6IGJpbmFyeVxyXG4iCisgICAgICJDb250ZW50LVR5cGU6IGNcclxuIgorICAgICAiXHJcbiIK
KworICAgICA7OyBmaWxlIGNvbnRlbnQKKyAgICAgImRcbiIKKworICAgICA7OyByZmMgMjA0NiBz
ZWN0aW9uIDUKKyAgICAgOzsgaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzIwNDYj
c2VjdGlvbi01CisgICAgIDs7ICJUaGUgYm91bmRhcnkgZGVsaW1pdGVyIE1VU1Qgb2NjdXIgYXQg
dGhlIGJlZ2lubmluZyBvZiBhCisgICAgIDs7IGxpbmUsIGkuZS4sIGZvbGxvd2luZyBhIENSTEYs
IGFuZCB0aGUgaW5pdGlhbCBDUkxGIGlzCisgICAgIDs7IGNvbnNpZGVyZWQgdG8gYmUgYXR0YWNo
ZWQgdG8gdGhlIGJvdW5kYXJ5IGRlbGltaXRlciBsaW5lCisgICAgIDs7IHJhdGhlciB0aGFuIHBh
cnQgb2YgdGhlIHByZWNlZGluZyBwYXJ0LiIKKyAgICAgIlxyXG4iCisKKyAgICAgIi0tQk9VTkRB
UlktLVxyXG4iKSkpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1tbS11cmwtZW5jb2RlLW11bHRpcGFy
dC1mb3JtLWRhdGEtLWFsbC1wYXJ0cyAoKQorICAoc2hvdWxkCisgICAoc3RyaW5nPQorICAgICht
bS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGEKKyAgICAgJygoIm5hbWUiIC4gInZhbHVl
IikKKyAgICAgICAoInN1Ym1pdCIpCisgICAgICAgKCJmaWxlIiAuICgoIm5hbWUiICAgICAgICAg
LiAiYSIpCisJCSAgKCJmaWxlbmFtZSIgICAgIC4gImIiKQorCQkgICgiY29udGVudC10eXBlIiAu
ICJjIikKKwkJICAoImZpbGVkYXRhIiAgICAgLiAiZCIpKSkpCisgICAgICJCT1VOREFSWSIpCisg
ICAgKGNvbmNhdAorICAgICAiLS1CT1VOREFSWVxyXG4iCisgICAgICJDb250ZW50LURpc3Bvc2l0
aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJuYW1lXCJcclxuIgorICAgICAiXHJcbiIKKyAgICAgInZh
bHVlXHJcbiIKKyAgICAgIi0tQk9VTkRBUllcclxuIgorICAgICAiQ29udGVudC1EaXNwb3NpdGlv
bjogZm9ybS1kYXRhOyBuYW1lPVwic3VibWl0XCJcclxuIgorICAgICAiXHJcbiIKKyAgICAgIlN1
Ym1pdFxyXG4iCisgICAgICItLUJPVU5EQVJZXHJcbiIKKyAgICAgIkNvbnRlbnQtRGlzcG9zaXRp
b246IGZvcm0tZGF0YTsgbmFtZT1cImFcIjsgZmlsZW5hbWU9XCJiXCJcclxuIgorICAgICAiQ29u
dGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmluYXJ5XHJcbiIKKyAgICAgIkNvbnRlbnQtVHlwZTog
Y1xyXG4iCisgICAgICJcclxuIgorCisgICAgIDs7IGZpbGUgY29udGVudAorICAgICAiZCIKKwor
ICAgICA7OyByZmMgMjA0NiBzZWN0aW9uIDUKKyAgICAgOzsgdGhlIFxyXG4gaXMgYXR0YWNoZWQg
dG8gdGhlIGJvdW5kYXJ5IGJlbG93IGl0CisgICAgICJcclxuIgorICAgICAiLS1CT1VOREFSWS0t
XHJcbiIpKSkpCisKKyhlcnQtZGVmdGVzdCB0ZXN0LW1tLXVybC1lbmNvZGUtbXVsdGlwYXJ0LWZv
cm0tZGF0YS10d28tZmlsZXMgKCkKKyAgKHNob3VsZAorICAgKHN0cmluZz0KKyAgICAobW0tdXJs
LWVuY29kZS1tdWx0aXBhcnQtZm9ybS1kYXRhCisgICAgICcoKCJmaWxlIiAuICgoIm5hbWUiICAg
ICAgICAgLiAiYSIpCisJCSAgKCJmaWxlbmFtZSIgICAgIC4gImIiKQorCQkgICgiY29udGVudC10
eXBlIiAuICJjIikKKwkJICAoImZpbGVkYXRhIiAgICAgLiAiZFxuIikpKQorICAgICAgICgiZmls
ZSIgLiAoKCJuYW1lIiAgICAgICAgIC4gImUiKQorCQkgICgiZmlsZW5hbWUiICAgICAuICJmIikK
KwkJICAoImNvbnRlbnQtdHlwZSIgLiAiZyIpCisJCSAgKCJmaWxlZGF0YSIgICAgIC4gImhcbiIp
KSkpCisgICAgICJCT1VOREFSWSIpCisgICAgKGNvbmNhdAorICAgICAiLS1CT1VOREFSWVxyXG4i
CisgICAgICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJhXCI7IGZpbGVu
YW1lPVwiYlwiXHJcbiIKKyAgICAgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJpbmFyeVxy
XG4iCisgICAgICJDb250ZW50LVR5cGU6IGNcclxuIgorICAgICAiXHJcbiIKKworICAgICA7OyBm
aWxlIGNvbnRlbnQKKyAgICAgImRcbiIKKworICAgICA7OyByZmMyMDQ2IHNlY3Rpb24gNQorICAg
ICA7OyB0aGUgXHJcbiBpcyBhdHRhY2hlZCB0byB0aGUgYm91bmRhcnkgYmVsb3cgaXQKKyAgICAg
IlxyXG4iCisgICAgICItLUJPVU5EQVJZXHJcbiIKKyAgICAgIkNvbnRlbnQtRGlzcG9zaXRpb246
IGZvcm0tZGF0YTsgbmFtZT1cImVcIjsgZmlsZW5hbWU9XCJmXCJcclxuIgorICAgICAiQ29udGVu
dC1UcmFuc2Zlci1FbmNvZGluZzogYmluYXJ5XHJcbiIKKyAgICAgIkNvbnRlbnQtVHlwZTogZ1xy
XG4iCisgICAgICJcclxuIgorCisgICAgIDs7IGZpbGUgY29udGVudAorICAgICAiaFxuIgorCisg
ICAgIDs7IHJmYyAyMDQ2IHNlY3Rpb24gNQorICAgICA7OyB0aGUgXHJcbiBpcyBhdHRhY2hlZCB0
byB0aGUgYm91bmRhcnkgYmVsb3cgaXQKKyAgICAgIlxyXG4iCisgICAgICItLUJPVU5EQVJZLS1c
clxuIikpKSkKKworCis7OzsgbW0tdXJsLXRlc3RzLmVsIGVuZHMgaGVyZQotLSAKMi4zOS4yCgo=
--000000000000518c940600fb8eac--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 18 Jul 2023 19:04:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jul 18 15:04:56 2023
Received: from localhost ([127.0.0.1]:54311 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qLq0G-00087j-A9
	for submit <at> debbugs.gnu.org; Tue, 18 Jul 2023 15:04:56 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:27875)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1qLq0D-00087U-Kw
 for 63941 <at> debbugs.gnu.org; Tue, 18 Jul 2023 15:04:54 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 28CD1442B63;
 Tue, 18 Jul 2023 15:04:48 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 60FFC442B5E;
 Tue, 18 Jul 2023 15:04:46 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1689707086;
 bh=l8oLHd+zIKEwFQNPGKVDWB/AhgOUDuYlJ+s1P5RkO7M=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=ZIzVqnHGKioQEyPq9c6HzOZNkXXtm/i8t39q8L8paGXIW/9dHgJAjbWBm210qB88x
 StE3vfDk3LH4EV+MeF0/WHI9sG3wnrT9TB5jwqZ5mnQZF4kUelDhLy6KbZn31d45UG
 KN7gK70He1zZe63itQdih7oxT4tOYZ0b+yHJs0y/8gHaIXQZz5AEwkJku0uDRz7ad2
 mgF7HWd6xr9hHxvpHHLJ3URGExbW/rhHVxrfYv0jJceYpO3NPsTgkyp8IlsRT53JSf
 7T266TGxvMzKHJo6E2rT5XNW5lkbP0zT7/VClMSVvOQ7aMmOPra6QMnuYKflyzIR5p
 Kx2BX0z/kaI2Q==
Received: from alfajor (unknown [23.233.149.155])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 2B0761201E4;
 Tue, 18 Jul 2023 15:04:46 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: ozzloy <ozzloy@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
In-Reply-To: <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 (ozzloy@HIDDEN's message of "Wed, 7 Jun 2023 19:48:29 -0700")
Message-ID: <jwvh6q1rrwy.fsf-monnier+emacs@HIDDEN>
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
Date: Tue, 18 Jul 2023 15:04:45 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

OK, I'm not super familiar with this code, and while I really appreciate
your tests, I'd rather not completely replace the old with a brand new
code because that makes it hard for me to see what's really changed.

So, as a first step I took the existing code, and did the following:
- "Inline" the (unless (bolp) (insert "\r\n")) into every branch of the
  preceding `cond`.  We know this makes no difference.
- Remove the (unless (bolp) (insert "\r\n")) in the "submit" branch
  since it follows an insertion that ends in "n" and hence doesn't
  do anything.
- Remove the `(unless (bolp)` test from the "file" branch since that's
  what this bug report is about:
  - when `filedata` is a number, this makes no difference (we just
    inserted that number without a trailing \n).
  - when `filedata` is a string that ends in non-\n (a case that
    currently works right) this makes no difference.
  - when it does end in \n this does make a difference which fixes
    this bug.
  - when `filedata` is an empty string, this add an additional \r\n
    compared to the current code.  This seems right to me (I expect the
    decoding software will skip the \r\n at the of the header and then
    look for \r\n<BOUNDARY>, so it's important to have two \r\n).
- In the default case, I left the code as is, but the `(unless (bolp)`
  test is probably not right.

There remain some questions on this patch:

1- When `filedata` is neither a number nor a string this is treated the
   same as an empty string.  Is that right?  Or should it just never
   happen (in which case we should probably catch this case and signal
   an error).
2- Should we also remove the `(unless (bolp)` in the default case?
   I think we do (and my reading of your tests agrees, tho I couldn't
   run your test suite on this version of the code, among other things
   because it contains multiple tests with the same name, so it gives
   me things like (error "Test
   `test-mm-url-encode-multipart-form-data-A-ab-c' redefined")).

I suspect we can also simply this code by moving the first
(insert "--" boundary "\r\n") before the loop, and the second into the
loop so we can make it insert "\r\n--" boundary "\r\n" (and thus remove
\r\n from the end of each of the preceding branches).


        Stefan


diff --git a/lisp/gnus/mm-url.el b/lisp/gnus/mm-url.el
index 11847a79f17..3041ad16264 100644
--- a/lisp/gnus/mm-url.el
+++ b/lisp/gnus/mm-url.el
@@ -430,16 +430,17 @@ mm-url-encode-multipart-form-data
 	      (insert filedata))
 	     ;; How can this possibly be useful?
 	     ((integerp filedata)
-	      (insert (number-to-string filedata))))))
+	      (insert (number-to-string filedata)))))
+	  (insert "\r\n"))
 	 ((equal name "submit")
 	  (insert
 	   "Content-Disposition: form-data; name=\"submit\"\r\n\r\nSubmit\r\n"))
 	 (t
 	  (insert (format "Content-Disposition: form-data; name=%S\r\n\r\n"
 			  name))
-	  (insert value)))
-	(unless (bolp)
-	  (insert "\r\n"))))
+	  (insert value)
+	  (unless (bolp)
+	    (insert "\r\n"))))))
     (insert "--" boundary "--\r\n")
     (buffer-string)))
 





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 23 Jun 2023 08:22:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 23 04:22:45 2023
Received: from localhost ([127.0.0.1]:37596 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qCc45-0003yW-D6
	for submit <at> debbugs.gnu.org; Fri, 23 Jun 2023 04:22:45 -0400
Received: from mail-oo1-f47.google.com ([209.85.161.47]:49394)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ozzloy@HIDDEN>) id 1qCc43-0003xh-Mb
 for 63941 <at> debbugs.gnu.org; Fri, 23 Jun 2023 04:22:44 -0400
Received: by mail-oo1-f47.google.com with SMTP id
 006d021491bc7-55e4d40794cso254275eaf.2
 for <63941 <at> debbugs.gnu.org>; Fri, 23 Jun 2023 01:22:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1687508558; x=1690100558;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=P2HfJkVZUoSL7gTMK0ahVkyqYmP3ttyY1hMiyluZI+8=;
 b=BQ7nybFJUCVSUltfDeD+GyqgMu0Q4EBRBQsXchyohh4Jj3J3+jlDMPCHMyAoXo74kG
 WuW2u5ntrJUfcsdvQV2QxVcURO/hGJFN7KntX+LogjVEj954peHQp4BiNzdwOHQCwN0I
 pOt4ixzEbwS1qqkNBRvwWds9Ykv6Xqjj+X8o1zD2O1m5PNxxQ8KZkSbZYbKvrXxmFBZ9
 VzgFYfCiIVW/66fNWB9QTXQ9fZservuLvoQzDstV5y89jKfAWj4kRK43KhhKpLeYu3C8
 zk7yNuM2HWMiK1tiQigUbn5orBBW1ep7yEY1+3RllBpvHvGnkjDiTztHKlSHkEFv2aQF
 bGOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1687508558; x=1690100558;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=P2HfJkVZUoSL7gTMK0ahVkyqYmP3ttyY1hMiyluZI+8=;
 b=IV3jH741qtgrXSiu/FPjLWoYnZDmIkQnKhH/WpBL6LJYvFbRFJQXL8Lnr7LmOEWwn4
 5Q73S4cgNV9l0B+psqW1jxqHz81HJIAfK3PSr88wW4K1/rNbnQi1GVojaFeqIzTXjqg/
 1VwLg/5koL8H1MQ0ZLwDtE6Tnvkf21MSePUCoSijWw41m1psvLJknvAVzWsjHq6U9ms2
 veUNzNij2qTMEXE22PvP6Tk1NEg3tM3sD1zQhCfMAFgJyeg6FpwxFc4dR2CkhXYWooog
 8usIS78ZqU9Em6l23G1elG2A0n/SJ1x7ZAP81Nd/2u1b8KoHUaCsiwJStEIaoJ9vCbQt
 xQ5A==
X-Gm-Message-State: AC+VfDzv2GyKUq6rNnPIZ4VYAewgJY+HHQy7KRvbhxpmoko4O5fr8N26
 2yjIBcVbaJhPSrdmPQA5s3sjXybZCVxO9HMVZSA=
X-Google-Smtp-Source: ACHHUZ6CTOVsH8XR1ynAeth6j6kWlUUVfow31rAAGrxEWvi3TjjEhsSvYLXhWDUmbzBTrYCb/30JU+Pv/CnS4bXYRPE=
X-Received: by 2002:a4a:b984:0:b0:563:5dc:471d with SMTP id
 e4-20020a4ab984000000b0056305dc471dmr448541oop.7.1687508557270; Fri, 23 Jun
 2023 01:22:37 -0700 (PDT)
MIME-Version: 1.0
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <83jzwe32pj.fsf@HIDDEN>
 <CACT2Onhrc4WF=NYfKsv_vgs5Kfk_X6CMgGWsKpTYNrd9NXdL6g@HIDDEN>
 <CACT2OnjNiy9XkqMeVvmphPgCnkwL-hk-uhDc16Y+=x3ALTydNA@HIDDEN>
 <83sfazzm8x.fsf@HIDDEN>
 <CACT2Onh1KjdmiiMD+fu87=RB9j0ZyYmySomRqmjWtOwFcCKN8Q@HIDDEN>
 <CACT2Oni-ABRW4kUVLZgNqZa3_X04+60=wzefARWW0N3dQQqM3w@HIDDEN>
 <83bkhb8m6i.fsf@HIDDEN>
 <CACT2OnimTd8P++=u7EWVJ5cO+DWmaT9E=yG=8_v0U-t-OWm+TQ@HIDDEN>
 <CACT2OnjyQo3Xf__e8Rj9iO58rnEpnfdjwTAbMPdvZzk15FJGLw@HIDDEN>
 <83bkh72vve.fsf@HIDDEN>
In-Reply-To: <83bkh72vve.fsf@HIDDEN>
From: ozzloy <ozzloy@HIDDEN>
Date: Fri, 23 Jun 2023 01:22:20 -0700
Message-ID: <CACT2OnjLM=_QxP7M_z+7jr2soz+Rz+DcwQuFDn3BYC5PnYnmXw@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
To: Eli Zaretskii <eliz@HIDDEN>, Kenjiro Nakayama <nakayamakenjiro@HIDDEN>,
 Lars Ingebrigtsen <larsi@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000001c941905fec7b471"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000001c941905fec7b471
Content-Type: text/plain; charset="UTF-8"

>> From: ozzloy <ozzloy@HIDDEN>
>> Date: Thu, 22 Jun 2023 11:25:05 -0700
>> Cc: 63941 <at> debbugs.gnu.org
>>
>>> I really need some Gnus/eww expert to look into this and review the
patch.
>>
>> Just checking, is this something I should do? Perhaps by reaching out to
Lars
>> and/or Kenjiro, the two most recent authors on that function?
>
> You could try, yes.

oh, wow, i'm glad i asked.  i thought maybe you were doing that and i
should just wait until you were done.

Hi Lars and Kenjiro!

Could you review this patch?  Or suggest someone who would be good to ask?

https://git.sr.ht/~ozzloy/emacs/commit/c73ccda90623519434f8ec2c700adf70ac1d6a00

It fixes a problem where files uploaded through EWW have a newline at EOF
chomped.


Here's a set of instructions to reproduce the problem

https://git.sr.ht/~ozzloy/emacs-bug-63941/tree/reproduce/item/readme.org


and a bunch of tests showing the http messages generated by different
clients
and characterizing the behavior of prior versions of
=mm-url-encode-multipart-form-data=

https://git.sr.ht/~ozzloy/emacs-bug-63941/tree/reproduce/item/mm-url-tests.el


thanks!

--0000000000001c941905fec7b471
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br>&gt;&gt; From: ozzloy &lt;<a href=3D"mailto:ozzloy@gma=
il.com">ozzloy@HIDDEN</a>&gt;<br>&gt;&gt; Date: Thu, 22 Jun 2023 11:25:0=
5 -0700<br>&gt;&gt; Cc: <a href=3D"mailto:63941 <at> debbugs.gnu.org">63941@debb=
ugs.gnu.org</a><br>&gt;&gt;<br>&gt;&gt;&gt; I really need some Gnus/eww exp=
ert to look into this and review the patch.<br>&gt;&gt;<br>&gt;&gt; Just ch=
ecking, is this something I should do? Perhaps by reaching out to Lars<br>&=
gt;&gt; and/or Kenjiro, the two most recent authors on that function?<br>&g=
t;<br>&gt; You could try, yes.<br><br>oh, wow, i&#39;m glad i asked.=C2=A0 =
i thought maybe you were doing that and i<br>should just wait until you wer=
e done.<br><br>Hi Lars and Kenjiro!<br><br>Could you review this patch?=C2=
=A0 Or suggest someone who would be good to ask?<br><br><div><a href=3D"htt=
ps://git.sr.ht/~ozzloy/emacs/commit/c73ccda90623519434f8ec2c700adf70ac1d6a0=
0">https://git.sr.ht/~ozzloy/emacs/commit/c73ccda90623519434f8ec2c700adf70a=
c1d6a00</a></div><br>It fixes a problem where files uploaded through EWW ha=
ve a newline at EOF<br>chomped.<br><br><br>Here&#39;s a set of instructions=
 to reproduce the problem<br><br><a href=3D"https://git.sr.ht/~ozzloy/emacs=
-bug-63941/tree/reproduce/item/readme.org">https://git.sr.ht/~ozzloy/emacs-=
bug-63941/tree/reproduce/item/readme.org</a><br><br><br>and a bunch of test=
s showing the http messages generated by different clients<br>and character=
izing the behavior of prior versions of<br>=3Dmm-url-encode-multipart-form-=
data=3D<br><br><a href=3D"https://git.sr.ht/~ozzloy/emacs-bug-63941/tree/re=
produce/item/mm-url-tests.el">https://git.sr.ht/~ozzloy/emacs-bug-63941/tre=
e/reproduce/item/mm-url-tests.el</a><br><div><br></div><div><br></div><div>=
thanks!<br></div><br></div>

--0000000000001c941905fec7b471--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 22 Jun 2023 18:29:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 22 14:29:54 2023
Received: from localhost ([127.0.0.1]:36710 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qCP46-0007mD-Az
	for submit <at> debbugs.gnu.org; Thu, 22 Jun 2023 14:29:54 -0400
Received: from eggs.gnu.org ([209.51.188.92]:41274)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1qCP45-0007m1-2b
 for 63941 <at> debbugs.gnu.org; Thu, 22 Jun 2023 14:29:53 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1qCP3z-0001GF-8b; Thu, 22 Jun 2023 14:29:47 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=iD3kbK40G4RmJkGvv18RIq6nv7acYhqcW35nOMRbOJ8=; b=ECR1GgMESl1K
 alsFY30kozM4cEGQ5EMwRJHZWhpSo4yi4lyR10J/kAyAjrONKA/H1nUDjiG/8Is2b+PAPMDCr7EV9
 r8ZFngVa1IMxBl77S/fBaOzNseK9MwVkeKwFkWpKwTaUUUBZxSfm1r60pBo7byrgBS0ae2HAyqOkd
 8qeYulTcRQ5EDp+7uQwiglscG1IG+E6n/5Aj9bVYQzW/JyDwhlSF6aCBzAgNgWSDk0fhQncUGTj1o
 tCbhA26ThNPTQ9WjpGLPzFZpjaFttD62T5DE37zhi6RNSGNajuJMFs283FEmhdSRjQ21u09794/Oc
 HkzjF4bJLD+C2cEt6ZaG1g==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1qCP3y-0007c1-Ok; Thu, 22 Jun 2023 14:29:47 -0400
Date: Thu, 22 Jun 2023 21:29:57 +0300
Message-Id: <83bkh72vve.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: ozzloy <ozzloy@HIDDEN>
In-Reply-To: <CACT2OnjyQo3Xf__e8Rj9iO58rnEpnfdjwTAbMPdvZzk15FJGLw@HIDDEN>
 (message from ozzloy on Thu, 22 Jun 2023 11:25:05 -0700)
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <83jzwe32pj.fsf@HIDDEN>
 <CACT2Onhrc4WF=NYfKsv_vgs5Kfk_X6CMgGWsKpTYNrd9NXdL6g@HIDDEN>
 <CACT2OnjNiy9XkqMeVvmphPgCnkwL-hk-uhDc16Y+=x3ALTydNA@HIDDEN>
 <83sfazzm8x.fsf@HIDDEN>
 <CACT2Onh1KjdmiiMD+fu87=RB9j0ZyYmySomRqmjWtOwFcCKN8Q@HIDDEN>
 <CACT2Oni-ABRW4kUVLZgNqZa3_X04+60=wzefARWW0N3dQQqM3w@HIDDEN>
 <83bkhb8m6i.fsf@HIDDEN>
 <CACT2OnimTd8P++=u7EWVJ5cO+DWmaT9E=yG=8_v0U-t-OWm+TQ@HIDDEN>
 <CACT2OnjyQo3Xf__e8Rj9iO58rnEpnfdjwTAbMPdvZzk15FJGLw@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: ozzloy <ozzloy@HIDDEN>
> Date: Thu, 22 Jun 2023 11:25:05 -0700
> Cc: 63941 <at> debbugs.gnu.org
> 
> > I really need some Gnus/eww expert to look into this and review the patch.
> 
> Just checking, is this something I should do? Perhaps by reaching out to Lars
> and/or Kenjiro, the two most recent authors on that function?

You could try, yes.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 22 Jun 2023 18:25:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 22 14:25:30 2023
Received: from localhost ([127.0.0.1]:36701 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qCOzq-0007g2-4d
	for submit <at> debbugs.gnu.org; Thu, 22 Jun 2023 14:25:30 -0400
Received: from mail-oa1-f50.google.com ([209.85.160.50]:58837)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ozzloy@HIDDEN>) id 1qCOzo-0007fp-Ec
 for 63941 <at> debbugs.gnu.org; Thu, 22 Jun 2023 14:25:28 -0400
Received: by mail-oa1-f50.google.com with SMTP id
 586e51a60fabf-1aa250e9cb3so4366765fac.1
 for <63941 <at> debbugs.gnu.org>; Thu, 22 Jun 2023 11:25:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1687458322; x=1690050322;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=IofZ2SXzXfOKQoHCh4YeARqR1oPmSoMdbXTsEFnRxYI=;
 b=VEGQEMwmmsphkgmywEpS3WUO9xNc9mc1def3XODJyyyN3XCbeicgwd/V/XTc+gcSy9
 9d/sFVr0bcWuZgnPj7buFdT5F4sE6lRQf8UfruEVEHqY162vIC8n4MD5L1rCQsVTUx1q
 +GEQRHC1NJcXaXgefD1bBAO1ZGffk4dObNISG0jscjX2hZWG4iePyHIEIHPlZ8i9eLKA
 XXY9EJ6NQrnqgQGcy2tDqmNYXFXSpY0HYypb9mOwnTf/7Ul4xE9Snc5FVEARt5vA++a7
 Nx5wF1+rtqmAKM4q1LTTBGYOcsK9DgN4+w4vUoMSIjygLqpHG9770pXGP406bJJrFY0J
 q0iw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1687458322; x=1690050322;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=IofZ2SXzXfOKQoHCh4YeARqR1oPmSoMdbXTsEFnRxYI=;
 b=ZYanDE767pfcFxF3+/XLs67wDIOVsx4n2qL46dAhV/NWDbFjbDM1cLgVKfp3ASNyHc
 oZ6p2Om9+Hd+CWHwbdZ7HxZtfXADgdRa4gQVUFBA5VvCdyp9zdQjlCrqnsuuAGccYKat
 PWFv499WchDJ+5KGOUu+8aiUdzbRN4xqF9JWEhW19735doHQz1YZMs/ZxS5WoTasvZWM
 cLHcpjleTZrnPQNgcZTGUawkerT1wa1HAFXntnDafTa8VU8E0U2btze7vUI1JNI35SMg
 wxn3D8ew+QfMqzMfzqB/NJIDYHNbyRG/hDniIKbRSBNwLRul5DcG9ep4jiqbD7ZlcpfD
 WPSQ==
X-Gm-Message-State: AC+VfDx57DPntECthJouh6r3l9Xj60O57NHb5ygJRvTqiXVNHwJLqo43
 P38EbXce6nelXTkOltJufTqFBI/8YzjyFGiSMoU=
X-Google-Smtp-Source: ACHHUZ6Q5gJ/8dYVHc1yz0fG7e50cANZjo2SW7suiB0SaqixO2qC5XMRvQXgHI3EmmGcqhCiek4nbple2ltYwje/6Hs=
X-Received: by 2002:a05:6870:4247:b0:1ad:1a6c:c515 with SMTP id
 v7-20020a056870424700b001ad1a6cc515mr3986566oac.1.1687458322504; Thu, 22 Jun
 2023 11:25:22 -0700 (PDT)
MIME-Version: 1.0
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <83jzwe32pj.fsf@HIDDEN>
 <CACT2Onhrc4WF=NYfKsv_vgs5Kfk_X6CMgGWsKpTYNrd9NXdL6g@HIDDEN>
 <CACT2OnjNiy9XkqMeVvmphPgCnkwL-hk-uhDc16Y+=x3ALTydNA@HIDDEN>
 <83sfazzm8x.fsf@HIDDEN>
 <CACT2Onh1KjdmiiMD+fu87=RB9j0ZyYmySomRqmjWtOwFcCKN8Q@HIDDEN>
 <CACT2Oni-ABRW4kUVLZgNqZa3_X04+60=wzefARWW0N3dQQqM3w@HIDDEN>
 <83bkhb8m6i.fsf@HIDDEN>
 <CACT2OnimTd8P++=u7EWVJ5cO+DWmaT9E=yG=8_v0U-t-OWm+TQ@HIDDEN>
In-Reply-To: <CACT2OnimTd8P++=u7EWVJ5cO+DWmaT9E=yG=8_v0U-t-OWm+TQ@HIDDEN>
From: ozzloy <ozzloy@HIDDEN>
Date: Thu, 22 Jun 2023 11:25:05 -0700
Message-ID: <CACT2OnjyQo3Xf__e8Rj9iO58rnEpnfdjwTAbMPdvZzk15FJGLw@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000e2dec205febc0125"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000e2dec205febc0125
Content-Type: text/plain; charset="UTF-8"

> I really need some Gnus/eww expert to look into this and review the patch.

Just checking, is this something I should do? Perhaps by reaching out to
Lars
and/or Kenjiro, the two most recent authors on that function?


I made shorter notes on what the bug is and how to reproduce it here

https://git.sr.ht/~ozzloy/emacs-bug-63941/tree/reproduce/item/readme.org


thanks again!

--000000000000e2dec205febc0125
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br>&gt; I really need some Gnus/eww expert to look into t=
his and review the patch.<br><br>Just checking, is this something I should =
do? Perhaps by reaching out to Lars<br>and/or Kenjiro, the two most recent =
authors on that function?<br><br><br>I made shorter notes on what the bug i=
s and how to reproduce it here<br><br><a href=3D"https://git.sr.ht/~ozzloy/=
emacs-bug-63941/tree/reproduce/item/readme.org">https://git.sr.ht/~ozzloy/e=
macs-bug-63941/tree/reproduce/item/readme.org</a><br><br><div><br></div><di=
v>thanks again!<br></div></div>

--000000000000e2dec205febc0125--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 22 Jun 2023 16:49:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 22 12:49:37 2023
Received: from localhost ([127.0.0.1]:36593 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qCNV2-00054D-TH
	for submit <at> debbugs.gnu.org; Thu, 22 Jun 2023 12:49:37 -0400
Received: from mail-oo1-f47.google.com ([209.85.161.47]:42348)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ozzloy@HIDDEN>) id 1qCNV0-00053y-La
 for 63941 <at> debbugs.gnu.org; Thu, 22 Jun 2023 12:49:35 -0400
Received: by mail-oo1-f47.google.com with SMTP id
 006d021491bc7-562f36eaba9so251472eaf.1
 for <63941 <at> debbugs.gnu.org>; Thu, 22 Jun 2023 09:49:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1687452569; x=1690044569;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=nT9JQHOnLLAqXbWzZ84EcMIatoXctMaoL5YE3BNWgxo=;
 b=hUY8U6E7iqzmJU6H0Lh+i6JX/52tjTBwIay55m61SImtD7REAoB5iQLABn65PiYu+h
 5tPXTnOgEMwxJG+OWJHQoB3QgcPRrPxV3L605y6RdGdvgBokQ8T47LQf8g6IJnVnoXit
 hVt2NmRRq1oMrClsExKwC94qVCXETrB7VEV6FnzS6KzQBRc7BywH3dG4dpiKf1Yvc5UJ
 FE717Ge/uOF7tMMN40WGdn3l118Vm2s8e7J8PcV1h3ojHoI4enSYFqltXXbU12bCOJzW
 XwI/jDELtIlHRudewt8tLhCi5RY0LfhMipw97aPbtjs8yP45w6JByqYL9YAi3Nam/f+z
 Q+cA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1687452569; x=1690044569;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=nT9JQHOnLLAqXbWzZ84EcMIatoXctMaoL5YE3BNWgxo=;
 b=a0O5dKiPC87b1+aa9VUTNHh/2wE3CM/EtiNVE/sbPOuE097YQ5+C9vuxXUyNn4b6I2
 kBcmQJGQ6JK5S+vmcR0LJLlhkTR4ZVy1YUtABrzPAVib22twq2tDHTVy7CLFQVmks5uZ
 y/7haeSFfK/ufO5T/LpNa4hyjqV18PBwe9z3jadaAlVeB7ow/QFqeUNN2f2+RkdSSLsM
 N5oQ82BFV1osz38mZliYaXVaEg9F9Mi/fwXTt0AIkF/ldIyq3t4RFAYhyReOsJYJpw+9
 ScOXF5mOFxg73FDZXQ29nLsxF+yVKQD5h/6kn8UYKpJFOGrzD8gXrL8YTV9ZSPw1Xw5x
 H4Cw==
X-Gm-Message-State: AC+VfDzfSqG5XJ3AlTZeD+0BGgf/OetzfKGXEpq14gD4PJK8CrAass5S
 yyf1h02eLVEzwF7/NJ5okqM5QVQ10xj604mTf2bStMfS
X-Google-Smtp-Source: ACHHUZ693YKimfnuuFRyW17AaO4d8REZ34VIKRLG36LKYHWl3iWSyeY6vEl+VFNfCW7HKBMjQEyxFR5fkhGYq+KBojU=
X-Received: by 2002:a05:6871:6b81:b0:1a9:953e:f22c with SMTP id
 zh1-20020a0568716b8100b001a9953ef22cmr9447385oab.4.1687452568807; Thu, 22 Jun
 2023 09:49:28 -0700 (PDT)
MIME-Version: 1.0
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <83jzwe32pj.fsf@HIDDEN>
 <CACT2Onhrc4WF=NYfKsv_vgs5Kfk_X6CMgGWsKpTYNrd9NXdL6g@HIDDEN>
 <CACT2OnjNiy9XkqMeVvmphPgCnkwL-hk-uhDc16Y+=x3ALTydNA@HIDDEN>
 <83sfazzm8x.fsf@HIDDEN>
 <CACT2Onh1KjdmiiMD+fu87=RB9j0ZyYmySomRqmjWtOwFcCKN8Q@HIDDEN>
 <CACT2Oni-ABRW4kUVLZgNqZa3_X04+60=wzefARWW0N3dQQqM3w@HIDDEN>
 <83bkhb8m6i.fsf@HIDDEN>
In-Reply-To: <83bkhb8m6i.fsf@HIDDEN>
From: ozzloy <ozzloy@HIDDEN>
Date: Thu, 22 Jun 2023 09:49:12 -0700
Message-ID: <CACT2OnimTd8P++=u7EWVJ5cO+DWmaT9E=yG=8_v0U-t-OWm+TQ@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000f06f3d05febaaad1"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000f06f3d05febaaad1
Content-Type: text/plain; charset="UTF-8"

> I really need some Gnus/eww expert to look into this and review the
> patch.

ok.


While I was writing this patch, I found some other things to patch.
For example, the multipart message will currently only be generated
if there is a file to send. Instead, it should be used whenever there
is a form that has the attribute "enctype" with its value set to
"mutlipart/form-data".

Is the patch ok other than needing review from an expert in gnus/eww?
Is the formatting good, are the comments all right, did I do the
comment block at the top of the new file =mm-url-tests.el= correctly?

I'm writing and submitting more patches, so if there's something like
that I should fix, feel free to let me know.

thanks!

--000000000000f06f3d05febaaad1
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br>&gt; I really need some Gnus/eww expe=
rt to look into this and review the<br>&gt; patch.<br><br>ok.<br><br><br>Wh=
ile I was writing this patch, I found some other things to patch.<br>For ex=
ample, the multipart message will currently only be generated<br>if there i=
s a file to send. Instead, it should be used whenever there<br>is a form th=
at has the attribute &quot;enctype&quot; with its value set to<br>&quot;mut=
lipart/form-data&quot;.<br><br>Is the patch ok other than needing review fr=
om an expert in gnus/eww?<br>Is the formatting good, are the comments all r=
ight, did I do the<br>comment block at the top of the new file =3Dmm-url-te=
sts.el=3D correctly?<br><br>I&#39;m writing and submitting more patches, so=
 if there&#39;s something like<br>that I should fix, feel free to let me kn=
ow.<br><br>thanks!<br><br></div></div>

--000000000000f06f3d05febaaad1--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 19 Jun 2023 16:13:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 19 12:13:47 2023
Received: from localhost ([127.0.0.1]:57097 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qBHVj-00047T-AZ
	for submit <at> debbugs.gnu.org; Mon, 19 Jun 2023 12:13:47 -0400
Received: from eggs.gnu.org ([209.51.188.92]:49200)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1qBHVg-00047D-RT
 for 63941 <at> debbugs.gnu.org; Mon, 19 Jun 2023 12:13:45 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1qBHVa-0001l8-R8; Mon, 19 Jun 2023 12:13:39 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=NizzXucU2sncWxrvnxSGhocIde6t7wGvL1YU5tdTHEs=; b=a9ReRKrOiF2R
 osZlJHNi4bMSQsnn0rgvLekq+A51LFmcqljNFVqnNxYMhSglu7lEe9p5tRIpOvV8wvXWZ2GgV5ZTG
 YxYMFXphu8Ot+wq8XpxUIOeihOgBNz6mtVr+YIOS8coagVpn0ZFRFlUmMmNge5GSS9lzRz9/KGsRn
 1myjoTGK85zTtH1M0c9+32GXwCYEnD9UGmf0rsA5pEknvA10sEH2HodoGl2/yvZgwyO1r7klo26uh
 iY9iK9M/jdWL63SvutqXU7QesQaJUSaSwhjRq1N4Z87fK6QEJtqj1GAY3vNNTW4J1thS3cQCzl7Tb
 +AusAdb1k1GE8fcaRjyANA==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1qBHVZ-0001RO-5q; Mon, 19 Jun 2023 12:13:38 -0400
Date: Mon, 19 Jun 2023 19:13:41 +0300
Message-Id: <83bkhb8m6i.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: ozzloy <ozzloy@HIDDEN>
In-Reply-To: <CACT2Oni-ABRW4kUVLZgNqZa3_X04+60=wzefARWW0N3dQQqM3w@HIDDEN>
 (message from ozzloy on Sun, 18 Jun 2023 16:23:23 -0700)
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <83jzwe32pj.fsf@HIDDEN>
 <CACT2Onhrc4WF=NYfKsv_vgs5Kfk_X6CMgGWsKpTYNrd9NXdL6g@HIDDEN>
 <CACT2OnjNiy9XkqMeVvmphPgCnkwL-hk-uhDc16Y+=x3ALTydNA@HIDDEN>
 <83sfazzm8x.fsf@HIDDEN>
 <CACT2Onh1KjdmiiMD+fu87=RB9j0ZyYmySomRqmjWtOwFcCKN8Q@HIDDEN>
 <CACT2Oni-ABRW4kUVLZgNqZa3_X04+60=wzefARWW0N3dQQqM3w@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: ozzloy <ozzloy@HIDDEN>
> Date: Sun, 18 Jun 2023 16:23:23 -0700
> Cc: 63941 <at> debbugs.gnu.org
> 
> > who knows where it is used?
> 
> As far as I can tell, it is only ever used by =(eww-submit ...)= from
> =lisp/net/eww.el=.  That's the only place it's used in all of emacs,
> and every reference I can find on the web.
> 
> I've tested the heck out of it now, and also used firefox, chromium,
> and curl to generate http messages for comparison.
> 
> Those tests of the different versions of
> =mm-url-encode-multipart-form-data=, as well as the http messages
> generated by firefox, chromium, and curl can be seen here
> 
> https://git.sr.ht/~ozzloy/emacs-bug-63941/tree/53a7949a5db21c456c1da3b4add29343c3d02137/item/mm-url-tests.el
> 
> 
> The patch I have attached to this email generates output that matches
> firefox, chromium, and curl.  It also includes a bunch of tests for
> the included version of =mm-url-encode-multipart-form-data=
> 
> If there's some change that would make the patch a better fit, let me
> know.  I'm happy to modify it.

Thanks.  I really need some Gnus/eww expert to look into this and
review the patch.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 18 Jun 2023 23:23:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jun 18 19:23:49 2023
Received: from localhost ([127.0.0.1]:55233 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qB1kK-0002GB-Qb
	for submit <at> debbugs.gnu.org; Sun, 18 Jun 2023 19:23:49 -0400
Received: from mail-oo1-f41.google.com ([209.85.161.41]:58480)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ozzloy@HIDDEN>) id 1qB1kI-0002Ft-Gh
 for 63941 <at> debbugs.gnu.org; Sun, 18 Jun 2023 19:23:47 -0400
Received: by mail-oo1-f41.google.com with SMTP id
 006d021491bc7-55b21c3f359so1769027eaf.0
 for <63941 <at> debbugs.gnu.org>; Sun, 18 Jun 2023 16:23:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1687130621; x=1689722621;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=8uy7/LeMi4yCJ14/W9Nuc1goS6sreYYsrkyAGznpqYo=;
 b=eztr4xOZp6UWApt2hHEhUpay7BnwZv4Jf0AveOsRk+mrdJc1GwSsFAsLlXtkOncl/D
 w5QD2BSD/7q8rsAiwA0EM5LmGcqU+Sglt67FYnPtgPcgZ0xt6I/MaGwC4L+dzzh87YhR
 Mj4wvMPMOOk9SE85bXrxNb6DA/CMqJy0Sb9ml1Q0jDH4GvQBLE4zq1aqHGLmBGKw90jc
 DDApMko0c4giRy7B/UxHRSEW6IlqeCFYRsNRodZ4KFnQToiuBSE45jX6n6unw1D0TV+r
 143w30r/ULDzZys8qdShkWZMPWWeosoqqIJIOLX7UIKOqijb3kvkrYWClu0MQCIi+K4K
 bfZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1687130621; x=1689722621;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=8uy7/LeMi4yCJ14/W9Nuc1goS6sreYYsrkyAGznpqYo=;
 b=Cv4cwJKq/2pXjg8FGOIHm5YgaecxUP+ZUOf1SdkoakPfjSe72otNLAYED3q1VEuJyX
 7MHlpxTIdcsiw8i1XiC+2goc4dwQ1JqLMbkXIklXrbbK2UJbWk8fc2HEPqjswTOG7ijg
 k7/wnEk0iPZwgo2YqggtnP2H5us7ZMmp49/TRHE43b8wHQDBJY1pireszPGlkNnFLtNP
 /gYlLDuFeENquf3eMC001+3RtUcleGfb5j+qy2R/SjjGH2SVFPrGZJpLV+cB8StkEbs4
 0RNWfemVm61/cwqDivuWS5tkfVVlvwhEL99wgTOTUdiVibhVZ9ugDL8tCMpRnErFuF8j
 hVGg==
X-Gm-Message-State: AC+VfDxWD11IKZFo/4Q8uzjjfu3smjYZmVstWBy4e1b3dOqgzP5xqIdM
 kQFOooZ5NjfptCPEOZaUfzlzrRIwUARA4w9fKcpNsN0M
X-Google-Smtp-Source: ACHHUZ6t2V7oneS78jY0akNWD/gWvgc4RJFxj+4IwlVlSBaZA5w3i3LsrJYNe5+92OH+ynJrwjxv4k3JU4J92AAEUNE=
X-Received: by 2002:a4a:eb01:0:b0:55e:1687:bf with SMTP id
 f1-20020a4aeb01000000b0055e168700bfmr3154648ooj.5.1687130620549; 
 Sun, 18 Jun 2023 16:23:40 -0700 (PDT)
MIME-Version: 1.0
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <83jzwe32pj.fsf@HIDDEN>
 <CACT2Onhrc4WF=NYfKsv_vgs5Kfk_X6CMgGWsKpTYNrd9NXdL6g@HIDDEN>
 <CACT2OnjNiy9XkqMeVvmphPgCnkwL-hk-uhDc16Y+=x3ALTydNA@HIDDEN>
 <83sfazzm8x.fsf@HIDDEN>
 <CACT2Onh1KjdmiiMD+fu87=RB9j0ZyYmySomRqmjWtOwFcCKN8Q@HIDDEN>
In-Reply-To: <CACT2Onh1KjdmiiMD+fu87=RB9j0ZyYmySomRqmjWtOwFcCKN8Q@HIDDEN>
From: ozzloy <ozzloy@HIDDEN>
Date: Sun, 18 Jun 2023 16:23:23 -0700
Message-ID: <CACT2Oni-ABRW4kUVLZgNqZa3_X04+60=wzefARWW0N3dQQqM3w@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/mixed; boundary="00000000000053fded05fe6fb5e9"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000053fded05fe6fb5e9
Content-Type: multipart/alternative; boundary="00000000000053fdec05fe6fb5e7"

--00000000000053fdec05fe6fb5e7
Content-Type: text/plain; charset="UTF-8"

> who knows where it is used?

As far as I can tell, it is only ever used by =(eww-submit ...)= from
=lisp/net/eww.el=.  That's the only place it's used in all of emacs,
and every reference I can find on the web.

I've tested the heck out of it now, and also used firefox, chromium,
and curl to generate http messages for comparison.

Those tests of the different versions of
=mm-url-encode-multipart-form-data=, as well as the http messages
generated by firefox, chromium, and curl can be seen here

https://git.sr.ht/~ozzloy/emacs-bug-63941/tree/53a7949a5db21c456c1da3b4add29343c3d02137/item/mm-url-tests.el

The patch I have attached to this email generates output that matches
firefox, chromium, and curl.  It also includes a bunch of tests for
the included version of =mm-url-encode-multipart-form-data=

If there's some change that would make the patch a better fit, let me
know.  I'm happy to modify it.

--00000000000053fdec05fe6fb5e7
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br>&gt; who knows where it is used?<br><br>As far as I ca=
n tell, it is only ever used by =3D(eww-submit ...)=3D from<br>=3Dlisp/net/=
eww.el=3D.=C2=A0 That&#39;s the only place it&#39;s used in all of emacs,<b=
r>and every reference I can find on the web.<br><br>I&#39;ve tested the hec=
k out of it now, and also used firefox, chromium,<br>and curl to generate h=
ttp messages for comparison.<br><br>Those tests of the different versions o=
f<br>=3Dmm-url-encode-multipart-form-data=3D, as well as the http messages<=
br>generated by firefox, chromium, and curl can be seen here<br><br><a href=
=3D"https://git.sr.ht/~ozzloy/emacs-bug-63941/tree/53a7949a5db21c456c1da3b4=
add29343c3d02137/item/mm-url-tests.el">https://git.sr.ht/~ozzloy/emacs-bug-=
63941/tree/53a7949a5db21c456c1da3b4add29343c3d02137/item/mm-url-tests.el</a=
><br><br>The patch I have attached to this email generates output that matc=
hes<br>firefox, chromium, and curl.=C2=A0 It also includes a bunch of tests=
 for<br>the included version of =3Dmm-url-encode-multipart-form-data=3D<br>=
<br>If there&#39;s some change that would make the patch a better fit, let =
me<br>know.=C2=A0 I&#39;m happy to modify it.<br><br><br></div>

--00000000000053fdec05fe6fb5e7--

--00000000000053fded05fe6fb5e9
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-always-CRLF-before-non-first-boundary-in-mulitpart-f.patch"
Content-Disposition: attachment; 
	filename="0001-always-CRLF-before-non-first-boundary-in-mulitpart-f.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_lj21zdls0>
X-Attachment-Id: f_lj21zdls0

RnJvbSBjNzNjY2RhOTA2MjM1MTk0MzRmOGVjMmM3MDBhZGY3MGFjMWQ2YTAwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgV2F0c29uIDxvenpsb3lAZ21haWwuY29tPgpEYXRl
OiBTdW4sIDE4IEp1biAyMDIzIDE1OjE0OjMyIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gYWx3YXlz
IENSTEYgYmVmb3JlIG5vbi1maXJzdCBib3VuZGFyeSBpbiBtdWxpdHBhcnQgZm9ybQoKOyBJbnNl
cnQgQ1JMRiBhZnRlciBmaWxlIGNvbnRlbnRzIGFuZCBiZWZvcmUgYm91bmRhcnksCjsgaW4gYWNj
b3JkYW5jZSB3aXRoIHRoZSBzeW50YXggZGVzY3JpcHRpb24gaGVyZQo7IHJmYzIwNDYgc2VjdGlv
biA1LjEuMS4KOyBUaGUgQ1JMRiBpcyBhdHRhY2hlZCB0byB0aGUgYm91bmRhcnksIGFuZCBub3Qg
dGhlIHByZWNlZGluZyBwYXJ0LgotLS0KIGxpc3AvZ251cy9tbS11cmwuZWwgICAgICAgICAgICB8
IDE1NiArKysrKysrKysrKysrKysrKysrLS0tLS0tLQogdGVzdC9saXNwL2dudXMvbW0tdXJsLXRl
c3RzLmVsIHwgMTk0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBj
aGFuZ2VkLCAzMDggaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx
MDA2NDQgdGVzdC9saXNwL2dudXMvbW0tdXJsLXRlc3RzLmVsCgpkaWZmIC0tZ2l0IGEvbGlzcC9n
bnVzL21tLXVybC5lbCBiL2xpc3AvZ251cy9tbS11cmwuZWwKaW5kZXggMTE4NDdhNzlmMTcuLmYz
ZWVjYmYxOGVkIDEwMDY0NAotLS0gYS9saXNwL2dudXMvbW0tdXJsLmVsCisrKyBiL2xpc3AvZ251
cy9tbS11cmwuZWwKQEAgLTM5NCw1NCArMzk0LDEyNiBAQCBtbS11cmwtZW5jb2RlLXd3dy1mb3Jt
LXVybGVuY29kZWQKIAogKGF1dG9sb2FkICdtbWwtY29tcHV0ZS1ib3VuZGFyeSAibW1sIikKIAor
KGRlZnVuIG1tLXVybC0tZW5jb2RlLW11bHRpcGFydC1mb3JtLWZpbGUgKGZpbGUtbWV0YWRhdGEp
CisgICJSZXR1cm4gYSBsaXN0IG9mIGxpbmVzIHVzZWQgdG8gcmVwcmVzZW50IGFuIGh0dHAgbWVz
c2FnZSB3aXRoIGEKK2ZpbGUgYW5kIGl0cyBjb250ZW50cywgYXMgZGVzY3JpYmVkIGluIEZJTEUt
TUVUQURBVEEKKworKiBleGFtcGxlCisqKiBpbnB1dAorICAnKChcIm5hbWVcIiAgICAgICAgIC4g
XCJhXCIpCisgICAgKFwiZmlsZW5hbWVcIiAgICAgLiBcImJcIikKKyAgICAoXCJmaWxlZGF0YVwi
ICAgICAuIFwiY1wiKQorICAgIChcImNvbnRlbnQtdHlwZVwiIC4gXCJkXCIpKQorKiogb3V0cHV0
CisgICcoXCJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XFxcImFcXFwiOyBm
aWxlbmFtZT1cXFwiYlxcXCJcIgorICAgIFwiQ29udGVudC1UeXBlOiBkOyBjaGFyc2V0PXV0Zi04
XCIKKyAgICBcIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJpbmFyeVwiCisgICAgXCJcIiAg
ICA7OyBjb21wbGV0ZWx5IGJsYW5rIGxpbmUgYWZ0ZXIgYWxsIHRoZSBoZWFkZXJzCisgICAgXCJj
XCIpICAgOzsgZW50aXJlIGZpbGUgY29udGVudCIKKyAgKGNsLWZsZXQgKChnZXQtdmFsdWUgKGtl
eSBkZWZhdWx0KQorCQkgICAgICAgKGFsaXN0LWdldAorCQkJa2V5IGZpbGUtbWV0YWRhdGEgZGVm
YXVsdCBuaWwgIydzdHJpbmc9KSkpCisgICAgKGxldCAoKGZpbGVkYXRhICAgICAoZ2V0LXZhbHVl
ICAgICAiZmlsZWRhdGEiICAgICAgICAgIG5pbCkpCisJICAobmFtZSAgICAgICAgIChnZXQtdmFs
dWUgICAgICAgICAibmFtZSIgICAgICAgImZpbGUiKSkKKwkgIChmaWxlbmFtZSAgICAgKGdldC12
YWx1ZSAgICAgImZpbGVuYW1lIiAgICAgICAiZmlsZSIpKQorCSAgKGNvbnRlbnQtdHlwZSAoZ2V0
LXZhbHVlICJjb250ZW50LXR5cGUiICJ0ZXh0L3BsYWluIikpKQorICAgICAgKGxpc3QKKyAgICAg
ICAoZm9ybWF0ICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9JVM7IGZpbGVu
YW1lPSVTIgorCSAgICAgICBuYW1lIGZpbGVuYW1lKQorICAgICAgIChmb3JtYXQgIkNvbnRlbnQt
VHlwZTogJXM7IGNoYXJzZXQ9dXRmLTgiIGNvbnRlbnQtdHlwZSkKKyAgICAgICAiQ29udGVudC1U
cmFuc2Zlci1FbmNvZGluZzogYmluYXJ5IgorICAgICAgICIiCisgICAgICAgKGNsLXR5cGVjYXNl
IGZpbGVkYXRhCisJIChpbnRlZ2VyIChudW1iZXItdG8tc3RyaW5nIGZpbGVkYXRhKSkKKwkgKHN0
cmluZyBmaWxlZGF0YSkpKSkpKQorCisoZGVmdW4gbW0tdXJsLS1lbmNvZGUtbXVsdGlwYXJ0LWZv
cm0tbmFtZS12YWx1ZSAobmFtZSB2YWx1ZSkKKyAgIlJldHVybiBOQU1FIGFuZCBWQUxVRSBhcyBh
IGxpc3Qgb2YgbGluZXMgdXNlZCBmb3IgY3JlYXRpbmcKK211bHRpcGFydC9mb3JtLWRhdGEgaHR0
cCBtZXNzYWdlLgorCisqIGV4YW1wbGUKKyoqIGlucHV0CisgICcoXCJhXCIgLiBcImJcIikKKyoq
IG91dHB1dAorICAnKFwiQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVxcXCJh
XFxcIlwiCisgICAgXCJcIgorICAgIFwiYlwiKSIKKyAgKGxpc3QgKGZvcm1hdCAiQ29udGVudC1E
aXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSVTIiBuYW1lKQorCSIiCisJdmFsdWUpKQorCiso
ZGVmdW4gbW0tdXJsLS1lbmNvZGUtbXVsdGlwYXJ0LWZvcm0tc3VibWl0ICgpCisgICJSZXR1cm4g
bGlzdCBvZiBsaW5lcyBmb3Igc3VibWl0IG1lc3NhZ2UuIgorICAobGlzdCAiQ29udGVudC1EaXNw
b3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwic3VibWl0XCIiCisJIiIKKwkiU3VibWl0IikpCisK
KyhkZWZ1biBtbS11cmwtLWVuY29kZS1tdWx0aXBhcnQtZm9ybS1kYXR1bSAoc2VwYXJhdG9yIGRh
dHVtKQorICAiUmV0dXJuIGxpc3Qgb2YgbGluZXMgaW4gb25lIHNlZ21lbnQgb2YgYSBtdWx0aXBh
cnQgZm9ybS4KKworKiBleGFtcGxlCisqKiBpbnB1dAorICBcIi0tQk9VTkRBUllcIiAnKFwic3Vi
bWl0XCIpCisqKiBvdXRwdXQKKyAgJyhcIi0tQk9VTkRBUllcIgorICAgIFwiQ29udGVudC1EaXNw
b3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVxcXCJzdWJtaXRcXFwiXCIKKyAgICBcIlwiCisgICAg
XCJTdWJtaXRcIikiCisgIChsZXQgKChuYW1lICAoY2FyIGRhdHVtKSkKKwkodmFsdWUgKGNkciBk
YXR1bSkpKQorICAgIChjb25zIHNlcGFyYXRvcgorCSAgKHBjYXNlIG5hbWUKKwkgICAgKCJmaWxl
IiAgIChtbS11cmwtLWVuY29kZS1tdWx0aXBhcnQtZm9ybS1maWxlIHZhbHVlKSkKKwkgICAgKCJz
dWJtaXQiIChtbS11cmwtLWVuY29kZS1tdWx0aXBhcnQtZm9ybS1zdWJtaXQpKQorCSAgICAoXyAg
ICAgICAgKG1tLXVybC0tZW5jb2RlLW11bHRpcGFydC1mb3JtLW5hbWUtdmFsdWUKKwkJICAgICAg
IG5hbWUgdmFsdWUpKSkpKSkKKworKGRlZnVuIG1tLXVybC0tZW5jb2RlLW11bHRpcGFydC1mb3Jt
LWxpbmVzIChib3VuZGFyeSBkYXRhKQorICAicmV0dXJuIGEgbGlzdCBvZiBsaW5lcyBmb3IgZW50
aXJlIG11bHRpcGFydCBmb3JtCisKKyogZXhhbXBsZXMKKyoqIGlucHV0IDAKKyAgXCJCT1VOREFS
WVwiICcoKFwic3VibWl0XCIpKQorKiogb3V0cHV0IDAKKyAgJyhcIi0tQk9VTkRBUllcIgorICAg
IFwiQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVxcXCJzdWJtaXRcXFwiXCIK
KyAgICBcIlwiCisgICAgXCJTdWJtaXRcIgorICAgIFwiLS1CT1VOREFSWS0tXCIKKyAgICBcIlwi
KQorKiogaW5wdXQgMQorICBcIkJPVU5EQVJZXCIgJygoXCJzdWJtaXRcIikgKFwiYVwiIC4gXCJi
XCIpKQorKiogb3V0cHV0IDEKKyAgJyhcIi0tQk9VTkRBUllcIgorICAgIFwiQ29udGVudC1EaXNw
b3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVxcXCJzdWJtaXRcXFwiXCIKKyAgICBcIlwiCisgICAg
XCJTdWJtaXRcIgorICAgIFwiLS1CT1VOREFSWVwiCisgICAgXCJDb250ZW50LURpc3Bvc2l0aW9u
OiBmb3JtLWRhdGE7IG5hbWU9XFxcImFcXFwiXCIKKyAgICBcIlwiCisgICAgXCJiXCIKKyAgICBc
Ii0tQk9VTkRBUlktLVwiCisgICAgXCJcIikiCisgIChsZXQgKChzZXBhcmF0b3IgKGNvbmNhdCAi
LS0iIGJvdW5kYXJ5KSkKKwkoZW5kaW5nICAgIChjb25jYXQgIi0tIiBib3VuZGFyeSAiLS0iKSkp
CisgICAgKGFwcGVuZCAobWFwY2FuIChhcHBseS1wYXJ0aWFsbHkgJ21tLXVybC0tZW5jb2RlLW11
bHRpcGFydC1mb3JtLWRhdHVtCisJCQkJICAgICBzZXBhcmF0b3IpCisJCSAgICBkYXRhKQorCSAg
ICAobGlzdCBlbmRpbmcgIiIpKSkpCisKIChkZWZ1biBtbS11cmwtZW5jb2RlLW11bHRpcGFydC1m
b3JtLWRhdGEgKGRhdGEgJm9wdGlvbmFsIGJvdW5kYXJ5KQogICAiUmV0dXJuIERBVEEgZW5jb2Rl
ZCBpbiBtdWx0aXBhcnQvZm9ybS1kYXRhLgogREFUQSBpcyBhIGxpc3Qgd2hlcmUgdGhlIGVsZW1l
bnRzIGNhbiBoYXZlIHRoZSBmb2xsb3dpbmcgZm9ybToKICAgKFwiTkFNRVwiIC4gXCJWQUxVRVwi
KQogICAoXCJzdWJtaXRcIikKLSAgKFwiZmlsZVwiIC4gKChcIm5hbWVcIiAuIFwiTkFNRVwiKQot
ICAgICAgICAgICAgIChcImZpbGVuYW1lXCIgLiBcIkZJTEVOQU1FXCIpCi0gICAgICAgICAgICAg
KFwiY29udGVudC10eXBlXCIgLiBcIkNPTlRFTlQtVFlQRVwiKQotICAgICAgICAgICAgIChcImZp
bGVkYXRhXCIgLiBcIkZJTEVEQVRBXCIpKSkKKyAgKFwiZmlsZVwiIC4gKChcIm5hbWVcIiAgICAg
ICAgLiBcIk5BTUVcIikKKwkgICAgICAoXCJmaWxlbmFtZVwiICAgICAuIFwiRklMRU5BTUVcIikK
KwkgICAgICAoXCJjb250ZW50LXR5cGVcIiAuIFwiQ09OVEVOVC1UWVBFXCIpCisJICAgICAgKFwi
ZmlsZWRhdGFcIiAgICAgLiBcIkZJTEVEQVRBXCIpKSkKIExvd2VyY2FzZSBzdHJpbmdzIGFib3Zl
IGFyZSBsaXRlcmFscyBhbmQgdXBwZXJjYXNlIGFyZSBub3QuIgotICA7OyBSRkMxODY3Ci0gIDs7
IEdldCBhIGdvb2QgYm91bmRhcnkuCi0gICh1bmxlc3MgYm91bmRhcnkKLSAgICAoc2V0cSBib3Vu
ZGFyeSAobW1sLWNvbXB1dGUtYm91bmRhcnkgJygpKSkpCi0gICh3aXRoLXRlbXAtYnVmZmVyCi0g
ICAgKHNldC1idWZmZXItbXVsdGlieXRlIG5pbCkKLSAgICAoZG9saXN0IChlbGVtIGRhdGEpCi0g
ICAgICAobGV0ICgobmFtZSAoY2FyIGVsZW0pKQotCSAgICAodmFsdWUgKGNkciBlbGVtKSkpCi0J
KGluc2VydCAiLS0iIGJvdW5kYXJ5ICJcclxuIikKLQkoY29uZAotCSAoKGVxdWFsIG5hbWUgImZp
bGUiKQotCSAgKGluc2VydCAoZm9ybWF0Ci0JCSAgICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3Jt
LWRhdGE7IG5hbWU9JVM7IGZpbGVuYW1lPSVTXHJcbiIKLQkJICAgKG9yIChjZHIgKGFzc29jICJu
YW1lIiB2YWx1ZSkpIG5hbWUpCi0JCSAgIChjZHIgKGFzc29jICJmaWxlbmFtZSIgdmFsdWUpKSkp
Ci0JICAoaW5zZXJ0ICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiaW5hcnlcclxuIikKLQkg
IChpbnNlcnQgKGZvcm1hdCAiQ29udGVudC1UeXBlOiAlc1xyXG5cclxuIgotCQkJICAob3IgKGNk
ciAoYXNzb2MgImNvbnRlbnQtdHlwZSIgdmFsdWUpKQotCQkJICAgICAgInRleHQvcGxhaW4iKSkp
Ci0JICAobGV0ICgoZmlsZWRhdGEgKGNkciAoYXNzb2MgImZpbGVkYXRhIiB2YWx1ZSkpKSkKLQkg
ICAgKGNvbmQKLQkgICAgICgoc3RyaW5ncCBmaWxlZGF0YSkKLQkgICAgICAoaW5zZXJ0IGZpbGVk
YXRhKSkKLQkgICAgIDs7IEhvdyBjYW4gdGhpcyBwb3NzaWJseSBiZSB1c2VmdWw/Ci0JICAgICAo
KGludGVnZXJwIGZpbGVkYXRhKQotCSAgICAgIChpbnNlcnQgKG51bWJlci10by1zdHJpbmcgZmls
ZWRhdGEpKSkpKSkKLQkgKChlcXVhbCBuYW1lICJzdWJtaXQiKQotCSAgKGluc2VydAotCSAgICJD
b250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJzdWJtaXRcIlxyXG5cclxuU3Vi
bWl0XHJcbiIpKQotCSAodAotCSAgKGluc2VydCAoZm9ybWF0ICJDb250ZW50LURpc3Bvc2l0aW9u
OiBmb3JtLWRhdGE7IG5hbWU9JVNcclxuXHJcbiIKLQkJCSAgbmFtZSkpCi0JICAoaW5zZXJ0IHZh
bHVlKSkpCi0JKHVubGVzcyAoYm9scCkKLQkgIChpbnNlcnQgIlxyXG4iKSkpKQotICAgIChpbnNl
cnQgIi0tIiBib3VuZGFyeSAiLS1cclxuIikKLSAgICAoYnVmZmVyLXN0cmluZykpKQorICAobGV0
KiAoKGJvdW5kYXJ5IChvciBib3VuZGFyeSAobW1sLWNvbXB1dGUtYm91bmRhcnkgJygpKSkpCisJ
IChsaW5lcyAgICAobW0tdXJsLS1lbmNvZGUtbXVsdGlwYXJ0LWZvcm0tbGluZXMgYm91bmRhcnkg
ZGF0YSkpKQorICAgIChtYXBjb25jYXQgJ2lkZW50aXR5IGxpbmVzICJcclxuIikpKQogCiAoZGVm
dW4gbW0tdXJsLXJlbW92ZS1tYXJrdXAgKCkKICAgIlJlbW92ZSBhbGwgSFRNTCBtYXJrdXAsIGxl
YXZpbmcganVzdCBwbGFpbiB0ZXh0LiIKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9nbnVzL21tLXVy
bC10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9nbnVzL21tLXVybC10ZXN0cy5lbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMGMzMWE4NjE0NmIKLS0tIC9kZXYvbnVsbAorKysg
Yi90ZXN0L2xpc3AvZ251cy9tbS11cmwtdGVzdHMuZWwKQEAgLTAsMCArMSwxOTQgQEAKKzs7OyBt
bS11cmwtdGVzdHMuZWwgLS0tICAtKi0gbGV4aWNhbC1iaW5kaW5nOnQgLSotCisKKzs7IENvcHly
aWdodCAoQykgMjAyMS0yMDIzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBU
aGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCisKKzs7IEdOVSBFbWFjcyBpcyBmcmVlIHNv
ZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieQorOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IKKzs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisKKzs7IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7OyBhbG9uZyB3aXRoIEdOVSBF
bWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKzs7
OyBDb21tZW50YXJ5OgorCis7OzsgQ29kZToKKworKHJlcXVpcmUgJ2VydCkKKyhyZXF1aXJlICdt
bS11cmwpCisKKworKGVydC1kZWZ0ZXN0IHRlc3QtbW0tdXJsLS1lbmNvZGUtbXVsdGlwYXJ0LWZv
cm0tZmlsZSAoKQorICAoc2hvdWxkCisgICAoZXF1YWwKKyAgICAobW0tdXJsLS1lbmNvZGUtbXVs
dGlwYXJ0LWZvcm0tZmlsZSAnKCgibmFtZSIgICAgICAgICAuICJhIikKKwkJCQkJICAoImZpbGVu
YW1lIiAgICAgLiAiYiIpCisJCQkJCSAgKCJmaWxlZGF0YSIgICAgIC4gImNcbiIpCisJCQkJCSAg
KCJjb250ZW50LXR5cGUiIC4gImQiKSkpCisgICAgJygiQ29udGVudC1EaXNwb3NpdGlvbjogZm9y
bS1kYXRhOyBuYW1lPVwiYVwiOyBmaWxlbmFtZT1cImJcIiIKKyAgICAgICJDb250ZW50LVR5cGU6
IGQ7IGNoYXJzZXQ9dXRmLTgiCisgICAgICAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmlu
YXJ5IgorICAgICAgIiIgICAgOzsgY29tcGxldGVseSBibGFuayBsaW5lIHRvIHNlcGFyYXRlIGhl
YWRlcnMgZnJvbSBjb250ZW50CisgICAgICAiY1xuIikpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3Qt
bW0tdXJsLS1lbmNvZGUtbXVsdGlwYXJ0LWZvcm0tbmFtZS12YWx1ZSAoKQorICAoc2hvdWxkIChl
cXVhbCAobW0tdXJsLS1lbmNvZGUtbXVsdGlwYXJ0LWZvcm0tbmFtZS12YWx1ZSAiYSIgImIiKQor
CQkgJygiQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwiYVwiIgorCQkgICAi
IgorCQkgICAiYiIpKSkpCisKKyhlcnQtZGVmdGVzdCB0ZXN0LW1tLXVybC0tZW5jb2RlLW11bHRp
cGFydC1mb3JtLXN1Ym1pdCAoKQorICAoc2hvdWxkCisgICAoZXF1YWwgKG1tLXVybC0tZW5jb2Rl
LW11bHRpcGFydC1mb3JtLXN1Ym1pdCkKKwkgIChsaXN0ICJDb250ZW50LURpc3Bvc2l0aW9uOiBm
b3JtLWRhdGE7IG5hbWU9XCJzdWJtaXRcIiIKKwkJIiIKKwkJIlN1Ym1pdCIpKSkpCisKKyhlcnQt
ZGVmdGVzdCB0ZXN0LW1tLXVybC0tZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdHVtICgpCisgIChz
aG91bGQKKyAgIChlcXVhbAorICAgIChtbS11cmwtLWVuY29kZS1tdWx0aXBhcnQtZm9ybS1kYXR1
bSAiLS1CT1VOREFSWSIgJygic3VibWl0IikpCisgICAgJygiLS1CT1VOREFSWSIKKyAgICAgICJD
b250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJzdWJtaXRcIiIKKyAgICAgICIi
CisgICAgICAiU3VibWl0IikpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3QtbW0tdXJsLWVuY29kZS1t
dWx0aXBhcnQtZm9ybS1kYXRhLW5pbCAoKQorICAoc2hvdWxkCisgICAoc3RyaW5nPQorICAgICht
bS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGEgJygpICJCT1VOREFSWSIpCisgICAgIi0t
Qk9VTkRBUlktLVxyXG4iKSkpCisKKyhlcnQtZGVmdGVzdCB0ZXN0LW1tLXVybC1lbmNvZGUtbXVs
dGlwYXJ0LWZvcm0tZGF0YS0tbmFtZS12YWx1ZSAoKQorICAoc2hvdWxkCisgICAoc3RyaW5nPQor
ICAgIChtbS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGEKKyAgICAgJygoIm5hbWUiIC4g
InZhbHVlIikpICJCT1VOREFSWSIpCisgICAgKGNvbmNhdCAiLS1CT1VOREFSWVxyXG4iCisJICAg
ICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJuYW1lXCJcclxuIgorCSAg
ICAiXHJcbiIKKwkgICAgInZhbHVlXHJcbiIKKwkgICAgIi0tQk9VTkRBUlktLVxyXG4iKSkpKQor
CisoZXJ0LWRlZnRlc3QgdGVzdC1tbS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGEtLXN1
Ym1pdCAoKQorICAoc2hvdWxkCisgICAoc3RyaW5nPQorICAgIChtbS11cmwtZW5jb2RlLW11bHRp
cGFydC1mb3JtLWRhdGEgJygoInN1Ym1pdCIpKSAiQk9VTkRBUlkiKQorICAgIChjb25jYXQgIi0t
Qk9VTkRBUllcclxuIgorCSAgICAiQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1l
PVwic3VibWl0XCJcclxuIgorCSAgICAiXHJcbiIKKwkgICAgIlN1Ym1pdFxyXG4iCisJICAgICIt
LUJPVU5EQVJZLS1cclxuIikpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3QtbW0tdXJsLWVuY29kZS1t
dWx0aXBhcnQtZm9ybS1kYXRhLS1maWxlICgpCisgIChzaG91bGQKKyAgIChzdHJpbmc9CisgICAg
KG1tLXVybC1lbmNvZGUtbXVsdGlwYXJ0LWZvcm0tZGF0YQorICAgICAnKCgiZmlsZSIgLiAoKCJu
YW1lIiAgICAgICAgIC4gImEiKQorCQkgICgiZmlsZW5hbWUiICAgICAuICJiIikKKwkJICAoImNv
bnRlbnQtdHlwZSIgLiAiYyIpCisJCSAgKCJmaWxlZGF0YSIgICAgIC4gImRcbiIpKSkpCisgICAg
ICJCT1VOREFSWSIpCisgICAgKGNvbmNhdAorICAgICAiLS1CT1VOREFSWVxyXG4iCisgICAgICJD
b250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJhXCI7IGZpbGVuYW1lPVwiYlwi
XHJcbiIKKyAgICAgIkNvbnRlbnQtVHlwZTogYzsgY2hhcnNldD11dGYtOFxyXG4iCisgICAgICJD
b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiaW5hcnlcclxuIgorICAgICAiXHJcbiIKKworICAg
ICA7OyBmaWxlIGNvbnRlbnQKKyAgICAgImRcbiIKKworICAgICA7OyByZmMgMjA0NiBzZWN0aW9u
IDUKKyAgICAgOzsgaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzIwNDYjc2VjdGlv
bi01CisgICAgIDs7ICJUaGUgYm91bmRhcnkgZGVsaW1pdGVyIE1VU1Qgb2NjdXIgYXQgdGhlIGJl
Z2lubmluZyBvZiBhCisgICAgIDs7IGxpbmUsIGkuZS4sIGZvbGxvd2luZyBhIENSTEYsIGFuZCB0
aGUgaW5pdGlhbCBDUkxGIGlzCisgICAgIDs7IGNvbnNpZGVyZWQgdG8gYmUgYXR0YWNoZWQgdG8g
dGhlIGJvdW5kYXJ5IGRlbGltaXRlciBsaW5lCisgICAgIDs7IHJhdGhlciB0aGFuIHBhcnQgb2Yg
dGhlIHByZWNlZGluZyBwYXJ0LiIKKyAgICAgIlxyXG4iCisKKyAgICAgIi0tQk9VTkRBUlktLVxy
XG4iKSkpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1tbS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3Jt
LWRhdGEtLWFsbC1wYXJ0cyAoKQorICAoc2hvdWxkCisgICAoc3RyaW5nPQorICAgIChtbS11cmwt
ZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGEKKyAgICAgJygoIm5hbWUiIC4gInZhbHVlIikKKyAg
ICAgICAoInN1Ym1pdCIpCisgICAgICAgKCJmaWxlIiAuICgoIm5hbWUiICAgICAgICAgLiAiYSIp
CisJCSAgKCJmaWxlbmFtZSIgICAgIC4gImIiKQorCQkgICgiY29udGVudC10eXBlIiAuICJjIikK
KwkJICAoImZpbGVkYXRhIiAgICAgLiAiZCIpKSkpCisgICAgICJCT1VOREFSWSIpCisgICAgKGNv
bmNhdAorICAgICAiLS1CT1VOREFSWVxyXG4iCisgICAgICJDb250ZW50LURpc3Bvc2l0aW9uOiBm
b3JtLWRhdGE7IG5hbWU9XCJuYW1lXCJcclxuIgorICAgICAiXHJcbiIKKyAgICAgInZhbHVlXHJc
biIKKyAgICAgIi0tQk9VTkRBUllcclxuIgorICAgICAiQ29udGVudC1EaXNwb3NpdGlvbjogZm9y
bS1kYXRhOyBuYW1lPVwic3VibWl0XCJcclxuIgorICAgICAiXHJcbiIKKyAgICAgIlN1Ym1pdFxy
XG4iCisgICAgICItLUJPVU5EQVJZXHJcbiIKKyAgICAgIkNvbnRlbnQtRGlzcG9zaXRpb246IGZv
cm0tZGF0YTsgbmFtZT1cImFcIjsgZmlsZW5hbWU9XCJiXCJcclxuIgorICAgICAiQ29udGVudC1U
eXBlOiBjOyBjaGFyc2V0PXV0Zi04XHJcbiIKKyAgICAgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rp
bmc6IGJpbmFyeVxyXG4iCisgICAgICJcclxuIgorCisgICAgIDs7IGZpbGUgY29udGVudAorICAg
ICAiZCIKKworICAgICA7OyByZmMgMjA0NiBzZWN0aW9uIDUKKyAgICAgOzsgdGhlIFxyXG4gaXMg
YXR0YWNoZWQgdG8gdGhlIGJvdW5kYXJ5IGJlbG93IGl0CisgICAgICJcclxuIgorICAgICAiLS1C
T1VOREFSWS0tXHJcbiIpKSkpCisKKyhlcnQtZGVmdGVzdCB0ZXN0LW1tLXVybC1lbmNvZGUtbXVs
dGlwYXJ0LWZvcm0tZGF0YS10d28tZmlsZXMgKCkKKyAgKHNob3VsZAorICAgKHN0cmluZz0KKyAg
ICAobW0tdXJsLWVuY29kZS1tdWx0aXBhcnQtZm9ybS1kYXRhCisgICAgICcoKCJmaWxlIiAuICgo
Im5hbWUiICAgICAgICAgLiAiYSIpCisJCSAgKCJmaWxlbmFtZSIgICAgIC4gImIiKQorCQkgICgi
Y29udGVudC10eXBlIiAuICJjIikKKwkJICAoImZpbGVkYXRhIiAgICAgLiAiZFxuIikpKQorICAg
ICAgICgiZmlsZSIgLiAoKCJuYW1lIiAgICAgICAgIC4gImUiKQorCQkgICgiZmlsZW5hbWUiICAg
ICAuICJmIikKKwkJICAoImNvbnRlbnQtdHlwZSIgLiAiZyIpCisJCSAgKCJmaWxlZGF0YSIgICAg
IC4gImhcbiIpKSkpCisgICAgICJCT1VOREFSWSIpCisgICAgKGNvbmNhdAorICAgICAiLS1CT1VO
REFSWVxyXG4iCisgICAgICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJh
XCI7IGZpbGVuYW1lPVwiYlwiXHJcbiIKKyAgICAgIkNvbnRlbnQtVHlwZTogYzsgY2hhcnNldD11
dGYtOFxyXG4iCisgICAgICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiaW5hcnlcclxuIgor
ICAgICAiXHJcbiIKKworICAgICA7OyBmaWxlIGNvbnRlbnQKKyAgICAgImRcbiIKKworICAgICA7
OyByZmMyMDQ2IHNlY3Rpb24gNQorICAgICA7OyB0aGUgXHJcbiBpcyBhdHRhY2hlZCB0byB0aGUg
Ym91bmRhcnkgYmVsb3cgaXQKKyAgICAgIlxyXG4iCisgICAgICItLUJPVU5EQVJZXHJcbiIKKyAg
ICAgIkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT1cImVcIjsgZmlsZW5hbWU9
XCJmXCJcclxuIgorICAgICAiQ29udGVudC1UeXBlOiBnOyBjaGFyc2V0PXV0Zi04XHJcbiIKKyAg
ICAgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJpbmFyeVxyXG4iCisgICAgICJcclxuIgor
CisgICAgIDs7IGZpbGUgY29udGVudAorICAgICAiaFxuIgorCisgICAgIDs7IHJmYyAyMDQ2IHNl
Y3Rpb24gNQorICAgICA7OyB0aGUgXHJcbiBpcyBhdHRhY2hlZCB0byB0aGUgYm91bmRhcnkgYmVs
b3cgaXQKKyAgICAgIlxyXG4iCisgICAgICItLUJPVU5EQVJZLS1cclxuIikpKSkKKworCis7Ozsg
bW0tdXJsLXRlc3RzLmVsIGVuZHMgaGVyZQotLSAKMi4zNC4xCgo=
--00000000000053fded05fe6fb5e9--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 11 Jun 2023 01:39:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 10 21:39:12 2023
Received: from localhost ([127.0.0.1]:36472 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q8A2x-0006oO-88
	for submit <at> debbugs.gnu.org; Sat, 10 Jun 2023 21:39:11 -0400
Received: from mail-oi1-f180.google.com ([209.85.167.180]:51572)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ozzloy@HIDDEN>) id 1q8A2t-0006o5-J5
 for 63941 <at> debbugs.gnu.org; Sat, 10 Jun 2023 21:39:09 -0400
Received: by mail-oi1-f180.google.com with SMTP id
 5614622812f47-39cc64e4a22so171694b6e.3
 for <63941 <at> debbugs.gnu.org>; Sat, 10 Jun 2023 18:39:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1686447541; x=1689039541;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=yd5a5vjCxnH7wasvb+bHZXVjgC59MIPjaueALNPuPb0=;
 b=Cy3BOBOlRJuMENI/H96+E3wQVEQ5LbVHTVjReW3nU5mCIq0n3zIbgluuNr6aIuh+Yg
 aWIhOYmEcXthFynUPzEsByKz+TwyTeuHOoVmjQjkCCPNONFv4dzqyVkS966EhrmoAIOn
 S2e1BoxlPkRGhkIFD/vKq9YP4SOnybAWP9aOFWmNRvWhbyj9K9u+DpNUI32ZEByTRXyC
 x8fMc9aWwcjAkTI9z0Wo/srGaYfXgqKAOZluqx+yP3kQykeo4SraweANpSFAMVOgDrDX
 0VSRvxWAgk9BVxftSHpwD6XX65g/WuUP6L+y7QL83nNjug8vYUUhnotA60G16qDX1Ibu
 bdaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1686447541; x=1689039541;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=yd5a5vjCxnH7wasvb+bHZXVjgC59MIPjaueALNPuPb0=;
 b=j3Qfm1JUaAbK6+mji/AY81ozpm+5q0wJX8XBNUFH0qTyL0VkpiKZXeEPZswSF5q1Wj
 QjliB/xdKMoWsHUkTx2HWmCm+QjakGa99mc8Mij6MOD56ZZZ4BoKPRSPlGhzHKsNIYUA
 ewLfAtAz6rONy1q1rbePN9cahWM3S8rZQv0t15t6MI3bQSnmFGFm0Edvkmi378nrv2NY
 GJ8uxbymFZhT/20A2QlkpPkWnhXJ4dEdTzknbr6VHs8OZ2Wv3te+c0v01xwlGu7bVp8E
 LBrqw+420Zx+P9qSWO4RvYn5UfZNFXFMsHNBdvDsTTfihLhPQHl3nhPGjvekMruQtdIe
 pzAQ==
X-Gm-Message-State: AC+VfDyDfdDJyYYqCSRpxM6uXT0GBZgaDLR/4E1A+lpAtfVqaXmqL9Dd
 RbpoXc1Mtu4GpU6eZdOXFuuJK/IAgKluHDlMO1E=
X-Google-Smtp-Source: ACHHUZ6lXSsYO2xx1zaxIWIh7xvSsrxnLKT9LqEhKEKBd9A1tQUvY/Wja49iDEzsSvvbquDAyLNgMeL7i4D5XwVwHdM=
X-Received: by 2002:a05:6808:1a02:b0:39a:7830:f237 with SMTP id
 bk2-20020a0568081a0200b0039a7830f237mr1814937oib.7.1686447541295; Sat, 10 Jun
 2023 18:39:01 -0700 (PDT)
MIME-Version: 1.0
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <83jzwe32pj.fsf@HIDDEN>
 <CACT2Onhrc4WF=NYfKsv_vgs5Kfk_X6CMgGWsKpTYNrd9NXdL6g@HIDDEN>
 <CACT2OnjNiy9XkqMeVvmphPgCnkwL-hk-uhDc16Y+=x3ALTydNA@HIDDEN>
 <83sfazzm8x.fsf@HIDDEN>
In-Reply-To: <83sfazzm8x.fsf@HIDDEN>
From: ozzloy <ozzloy@HIDDEN>
Date: Sat, 10 Jun 2023 18:38:44 -0700
Message-ID: <CACT2Onh1KjdmiiMD+fu87=RB9j0ZyYmySomRqmjWtOwFcCKN8Q@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000a19f8805fdd0aa5d"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000a19f8805fdd0aa5d
Content-Type: text/plain; charset="UTF-8"

> Making the change in mm-url.el sounds scary: that code was written
> many years ago, and who knows where it is used?

Yeah, that makes sense. I'll see what I can find about that, at least
within emacs itself.

> The reason for testing bolp there is not explained, but I'm guessing
> they didn't want to craete an empty line?

Not sure. It looks like it was introduced during a patch intended to fix
submitting binary data.  Would it make sense to CC the two authors of the
following commits?

I dug into the history a bit to try to find out where =(unless (bolp)=
came from

#+begin_src bash
git log -L '/(unless (bolp)/,+1:lisp/gnus/mm-url.el' > unless-bolp
#+end_src

It looks like it was introduced in this commit

#+begin_quote
commit fca2f70380dcb054497470aaf8eda6173063928e
Author: Kenjiro Nakayama <nakayamakenjiro@HIDDEN>
Date:   Mon Nov 10 22:33:55 2014 +0100

    Allow uploading files from eww
#+end_quote

and the "\r\n" was included unconditionally before the boundary

#+begin_src elisp
   ;; use the boundary as a separator
   (concat "\r\n--" boundary "\r\n")
#+end_src

Then it this commit changed it

#+begin_quote
commit a6e0188dffc394698d9ffbef50401f14a31c8722
Author: Lars Ingebrigtsen <larsi@HIDDEN>
Date:   Thu Oct 13 21:39:29 2016 +0200

    Fix problem with submitting binary data via HTTP forms
#+end_quote

to the following

#+begin_src elisp
 (unless (bolp)
      (insert "\r\n"))
#+end_src

plus a bunch of "\r\n"s scattered throughout the different conditions.
It's not clear to me how the behavior of the function changed.

It looks like maybe instead of the initial diff I proposed, something
like this would produce more accurate output for file uploads, and also
change the surrounding code as little as possible,

#+begin_quote
diff --git a/lisp/gnus/mm-url.el b/lisp/gnus/mm-url.el
index 11847a79f17..686dea20b6a 100644
--- a/lisp/gnus/mm-url.el
+++ b/lisp/gnus/mm-url.el
@@ -430,7 +430,8 @@ mm-url-encode-multipart-form-data
              (insert filedata))
             ;; How can this possibly be useful?
             ((integerp filedata)
-             (insert (number-to-string filedata))))))
+             (insert (number-to-string filedata)))))
+         (insert "\r\n"))
         ((equal name "submit")
          (insert
           "Content-Disposition: form-data;
name=\"submit\"\r\n\r\nSubmit\r\n"))
#+end_quote

But it seems like it would be better to do a larger rewrite that
consolidates the places where "\r\n" is added before the non-initial
boundary.

In order to figure that out, I will read the two versions more closely
to figure out what the differences are and write some ERT tests showing
the difference.  Hopefully that will clear things up.

--000000000000a19f8805fdd0aa5d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">&gt; Making the change in mm-url.el sound=
s scary: that code was written<br>&gt; many years ago, and who knows where =
it is used?<br><br>Yeah, that makes sense. I&#39;ll see what I can find abo=
ut that, at least<br>within emacs itself.<br><br>&gt; The reason for testin=
g bolp there is not explained, but I&#39;m guessing<br>&gt; they didn&#39;t=
 want to craete an empty line?<br><br>Not sure. It looks like it was introd=
uced during a patch intended to fix<br>submitting binary data.=C2=A0 Would =
it make sense to CC the two authors of the<br>following commits?<br><br>I d=
ug into the history a bit to try to find out where =3D(unless (bolp)=3D<br>=
came from<br><br>#+begin_src bash<br>git log -L &#39;/(unless (bolp)/,+1:li=
sp/gnus/mm-url.el&#39; &gt; unless-bolp<br>#+end_src<br><br>It looks like i=
t was introduced in this commit<br><br>#+begin_quote<br>commit fca2f70380dc=
b054497470aaf8eda6173063928e<br>Author: Kenjiro Nakayama &lt;<a href=3D"mai=
lto:nakayamakenjiro@HIDDEN">nakayamakenjiro@HIDDEN</a>&gt;<br>Date:=
=C2=A0=C2=A0 Mon Nov 10 22:33:55 2014 +0100<br><br>=C2=A0=C2=A0=C2=A0 Allow=
 uploading files from eww<br>#+end_quote<br><br>and the &quot;\r\n&quot; wa=
s included unconditionally before the boundary<br><br>#+begin_src elisp<br>=
=C2=A0=C2=A0 ;; use the boundary as a separator<br>=C2=A0=C2=A0 (concat &qu=
ot;\r\n--&quot; boundary &quot;\r\n&quot;)<br>#+end_src<br><br>Then it this=
 commit changed it<br><br>#+begin_quote<br>commit a6e0188dffc394698d9ffbef5=
0401f14a31c8722<br>Author: Lars Ingebrigtsen &lt;<a href=3D"mailto:larsi@gn=
us.org">larsi@HIDDEN</a>&gt;<br>Date:=C2=A0=C2=A0 Thu Oct 13 21:39:29 201=
6 +0200<br><br>=C2=A0=C2=A0=C2=A0 Fix problem with submitting binary data v=
ia HTTP forms<br>#+end_quote<br><br>to the following<br><br>#+begin_src eli=
sp<br>=C2=A0(unless (bolp)<br>=C2=A0=C2=A0 =C2=A0=C2=A0 (insert &quot;\r\n&=
quot;))<br>#+end_src<br><br>plus a bunch of &quot;\r\n&quot;s scattered thr=
oughout the different conditions.<br>It&#39;s not clear to me how the behav=
ior of the function changed.<br><br>It looks like maybe instead of the init=
ial diff I proposed, something<br>like this would produce more accurate out=
put for file uploads, and also<br>change the surrounding code as little as =
possible,<br><br>#+begin_quote<br>diff --git a/lisp/gnus/mm-url.el b/lisp/g=
nus/mm-url.el<br>index 11847a79f17..686dea20b6a 100644<br>--- a/lisp/gnus/m=
m-url.el<br>+++ b/lisp/gnus/mm-url.el<br>@@ -430,7 +430,8 @@ mm-url-encode-=
multipart-form-data<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 (insert filedata))<br>=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; How can this possibly b=
e useful?<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 ((integerp filedata)<br>-=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (insert (number-to-string filedata))))=
))<br>+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 (insert (number-to-string filedata)))))<br>+=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 (insert &quot;\r\n&quot;))<br>=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ((equal name &quot;submit&quot;)<br>=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (insert<br>=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &quot;Content-Disposition: fo=
rm-data; name=3D\&quot;submit\&quot;\r\n\r\nSubmit\r\n&quot;))<br>#+end_quo=
te<br><br>But it seems like it would be better to do a larger rewrite that<=
br>consolidates the places where &quot;\r\n&quot; is added before the non-i=
nitial<br>boundary.<br><br>In order to figure that out, I will read the two=
 versions more closely<br>to figure out what the differences are and write =
some ERT tests showing<br>the difference.=C2=A0 Hopefully that will clear t=
hings up.</div><div dir=3D"ltr"><br></div></div>

--000000000000a19f8805fdd0aa5d--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 10 Jun 2023 09:42:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 10 05:42:51 2023
Received: from localhost ([127.0.0.1]:33300 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q7v7T-0003dt-Ky
	for submit <at> debbugs.gnu.org; Sat, 10 Jun 2023 05:42:51 -0400
Received: from eggs.gnu.org ([209.51.188.92]:54758)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q7v7R-0003db-CL
 for 63941 <at> debbugs.gnu.org; Sat, 10 Jun 2023 05:42:51 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q7v7M-0006cO-1J; Sat, 10 Jun 2023 05:42:44 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=U5AURgm+8ITlhm7hzDPTXkZpMgeTcww93/Hc+8lVWEY=; b=HbnI7ueMe8Ub
 YttqtOMWtuNVut3f9+IjrbpPF+W1QSwp7Rnf1VPKrmwzpjLlZBqafeK7TaIFuO/gec5TYdi8mqhGF
 tFbT5/C2IsRGlygQc7gRRgTqhkZjwy45gLrSrrry4ZEo005oUyBLHNbOXd5aSPXXWfDBEvICbKVcy
 urLSKNd8qt/LxnKMMRg40oAYp0uo+c4DXE3QOEVsAXlldFViwcsI970YMgHKPv2hhbg5VrxLPf9CJ
 YTx779U7TOpT+6IqGE84nfhUrTZi0X4xto7zaM4fCA5LWgKjC/rX7bvf1YoTbFYeSTx/grnA/1XBy
 IQCHlXt5FdpxXLhWzn20rA==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q7v7L-0005lV-Gw; Sat, 10 Jun 2023 05:42:43 -0400
Date: Sat, 10 Jun 2023 12:42:54 +0300
Message-Id: <83sfazzm8x.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: ozzloy <ozzloy@HIDDEN>
In-Reply-To: <CACT2OnjNiy9XkqMeVvmphPgCnkwL-hk-uhDc16Y+=x3ALTydNA@HIDDEN>
 (message from ozzloy on Wed, 7 Jun 2023 23:52:31 -0700)
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <83jzwe32pj.fsf@HIDDEN>
 <CACT2Onhrc4WF=NYfKsv_vgs5Kfk_X6CMgGWsKpTYNrd9NXdL6g@HIDDEN>
 <CACT2OnjNiy9XkqMeVvmphPgCnkwL-hk-uhDc16Y+=x3ALTydNA@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: ozzloy <ozzloy@HIDDEN>
> Date: Wed, 7 Jun 2023 23:52:31 -0700
> Cc: 63941 <at> debbugs.gnu.org
> 
> Quick fix.  In the last email, I said
> >  Once EWW opens localhost:8085, it will display the web page with a
> >  button labeled "Browse". Click that button.
> 
> My bad.  Clicking does not work for me.  What I actually do is put the
> cursor on the button and hit <Enter>.  Then it will bring up the file

Thanks.

Making the change in mm-url.el sounds scary: that code was written
many years ago, and who knows where it is used?  The reason for
testing bolp there is not explained, but I'm guessing they didn't want
to craete an empty line?  It might be better to make a local change in
eww.el: just append "\r\n" to the request data.

I'll leave it to HTTP experts to decide what to do about this.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 8 Jun 2023 06:53:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 08 02:53:12 2023
Received: from localhost ([127.0.0.1]:55518 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q79Vx-0003FL-On
	for submit <at> debbugs.gnu.org; Thu, 08 Jun 2023 02:53:12 -0400
Received: from mail-oa1-f47.google.com ([209.85.160.47]:50557)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ozzloy@HIDDEN>) id 1q79Vv-0003F3-1H
 for 63941 <at> debbugs.gnu.org; Thu, 08 Jun 2023 02:52:57 -0400
Received: by mail-oa1-f47.google.com with SMTP id
 586e51a60fabf-19fa4346498so231747fac.1
 for <63941 <at> debbugs.gnu.org>; Wed, 07 Jun 2023 23:52:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1686207168; x=1688799168;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=EwPeRmDrs5lg/bYNNfCLmpTbpC63mh0gfGiXG2qf66M=;
 b=ba9nq9XMJSiYrg7K8/V4JW9QuvZsTJAeoSqoFnc+hhCB7IOu9jUjD13OkHZqsjZjx7
 XMdtVzo/PQGl4fY6CAE9WSwomjOvyySVIm+yYpg7J818hD5m1ZVKJ0C4L8vDvJGzot/b
 D5jqSvYBhWLR1xOXC9/XG0B9V/crUCLOm2LHm2LFT67nr61QIBdvnXHEPWpOmPWk1rEm
 YG0aFJNjylvZRlUOjhPQ6CFQhkZObC4JIRj4QPC5z8frcx7AktpHrZsKhrZUBbSyua9r
 yYe505unmHh2puvJUdwTxWfkt8ieYjK26yezetmJ8UWkwiqtux2iv1l4VZxcAJmbydno
 gOCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1686207168; x=1688799168;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=EwPeRmDrs5lg/bYNNfCLmpTbpC63mh0gfGiXG2qf66M=;
 b=IYsegJY4mnCx2hEXnGhbR94nIuRX4SlHy3Dx7RavvcRi08mLm/nKaFsjrCyOkoMnFf
 G4C2mcIU2f7X9htwsfMEYC0AWMFK2DUdTuiE6JTPKd6hF/Tl7WGcfOTsWdkgAjyNNP/W
 zkr1+wftYmclOWtPwg330bbNrXtRvi1iHMF94eJre6zUQh028WeF6psbwDgL6pf3lJZi
 JrpSG6OeiTKFKw+VD4ye4aV1qpXXw/xeY0uF55rZP2rm3vWbYWa5KA0BXqyNYoLs9RF5
 twEtO5u1pzh4OFHbV2DltvrO19Oa6+nQkXNjeT/F1U6qu69SVawzNrSvofJoU3J6NZvC
 0Hmw==
X-Gm-Message-State: AC+VfDwAlmnQXE5ublxyn2gIjeYaeztYfE10+HEMqWRcSDGueVaDfY5P
 lfE9U1p5u0MRxsFIPL2V5GL6Dzs5Xsspe0CzJtpZeSAf
X-Google-Smtp-Source: ACHHUZ4HB8QV1N7gkmf+fCz91RlKDCp4yCPkrCXgIUXJO+fsDNyFM1o05KrbhZuWaYKdafGyNmlhprYnLM3N2TBasXk=
X-Received: by 2002:a05:6870:d342:b0:1a2:fd06:9f93 with SMTP id
 h2-20020a056870d34200b001a2fd069f93mr4623439oag.7.1686207168184; Wed, 07 Jun
 2023 23:52:48 -0700 (PDT)
MIME-Version: 1.0
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <83jzwe32pj.fsf@HIDDEN>
 <CACT2Onhrc4WF=NYfKsv_vgs5Kfk_X6CMgGWsKpTYNrd9NXdL6g@HIDDEN>
In-Reply-To: <CACT2Onhrc4WF=NYfKsv_vgs5Kfk_X6CMgGWsKpTYNrd9NXdL6g@HIDDEN>
From: ozzloy <ozzloy@HIDDEN>
Date: Wed, 7 Jun 2023 23:52:31 -0700
Message-ID: <CACT2OnjNiy9XkqMeVvmphPgCnkwL-hk-uhDc16Y+=x3ALTydNA@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000004705db05fd98b347"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000004705db05fd98b347
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Quick fix.  In the last email, I said
>  Once EWW opens localhost:8085, it will display the web page with a
>  button labeled "Browse". Click that button.

My bad.  Clicking does not work for me.  What I actually do is put the
cursor on the button and hit <Enter>.  Then it will bring up the file


On Wed, Jun 7, 2023 at 11:43=E2=80=AFPM ozzloy <ozzloy@HIDDEN> wrote:

>
> Thanks for clarifying!
>
> > This part is exactly what I'm asking about: how do I "upload the file"
> > using EWW?  Can you please show what I should type to do that?
>
> 0. In a terminal, do the following
> #+begin_src bash
>   git clone https://git.sr.ht/~ozzloy/emacs-bug-63941
>   cd emacs-bug-63941
>   git checkout reproduce-bug-63941
>   ./server.py
> #+end_src
>
> 1. In an emacs window, do the following
>
>    M-x eww<Enter>
>    localhost:8085<Enter>
>
>    Once EWW opens localhost:8085, it will display the web page with a
> button
>    labeled "Browse". Click that button.
>
> 2. It will then ask you to choose a file. Choose the file
>    =3D.../emacs-bug-63941/filename=3D in the same directory where =3Dserv=
er.py=3D
> is.
>
> 3. Hit <tab> to go to the "Submit" button, and hit <Enter> to upload that
> file.
>
>
> > Where does one see this result?  Is it in some Emacs buffer?  In that
> > case, what is the name of that buffer?
>
> The output will be in the terminal where =3D./server.py=3D was run.  I ra=
n it
> in an
> emacs shell buffer named =3D$emacs-bug-63941=3D.
>
>
> On Wed, Jun 7, 2023 at 11:09=E2=80=AFPM Eli Zaretskii <eliz@HIDDEN> wrot=
e:
>
>> > From: ozzloy <ozzloy@HIDDEN>
>> > Date: Wed, 7 Jun 2023 19:48:29 -0700
>> > Cc: 63941 <at> debbugs.gnu.org
>> >
>> > 1. Then use EWW to browse to localhost:8085 and upload the file
>> =3Dfilename=3D.
>>
>> This part is exactly what I'm asking about: how do I "upload the file"
>> using EWW?  Can you please show what I should type to do that?
>>
>> > Here's my result when doing that, first with EWW.
>> > #+begin_quote
>> > upload_content =3D b'file content', name =3D 'filename', size =3D 12
>> > 127.0.0.1 - - [07/Jun/2023 18:55:03] "POST / HTTP/1.1" 200 -
>> > #+end_quote
>>
>> Where does one see this result?  Is it in some Emacs buffer?  In that
>> case, what is the name of that buffer?
>>
>> Thanks.
>>
>

--0000000000004705db05fd98b347
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Quick fix.=C2=A0 In the last email, I said<br>&gt;=C2=A0 O=
nce EWW opens localhost:8085, it will display the web page with a<br>&gt;=
=C2=A0 button labeled &quot;Browse&quot;. Click that button.<br><br>My bad.=
=C2=A0 Clicking does not work for me.=C2=A0 What I actually do is put the<b=
r>cursor on the button and hit &lt;Enter&gt;.=C2=A0 Then it will bring up t=
he file<br><br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Wed, Jun 7, 2023 at 11:43=E2=80=AFPM ozzloy &lt;<a href=
=3D"mailto:ozzloy@HIDDEN">ozzloy@HIDDEN</a>&gt; wrote:<br></div><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:=
1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div dir=3D"l=
tr"><br>Thanks for clarifying!<br><br>&gt; This part is exactly what I&#39;=
m asking about: how do I &quot;upload the file&quot;<br>&gt; using EWW?=C2=
=A0 Can you please show what I should type to do that?<br><br>0. In a termi=
nal, do the following<br>#+begin_src bash<br>=C2=A0 git clone <a href=3D"ht=
tps://git.sr.ht/~ozzloy/emacs-bug-63941" target=3D"_blank">https://git.sr.h=
t/~ozzloy/emacs-bug-63941</a><br>=C2=A0 cd emacs-bug-63941<br>=C2=A0 git ch=
eckout reproduce-bug-63941<br>=C2=A0 ./server.py<br>#+end_src<br><br>1. In =
an emacs window, do the following<br><br>=C2=A0=C2=A0 M-x eww&lt;Enter&gt;<=
br>=C2=A0=C2=A0 localhost:8085&lt;Enter&gt;<br><br>=C2=A0=C2=A0 Once EWW op=
ens localhost:8085, it will display the web page with a button<br>=C2=A0=C2=
=A0 labeled &quot;Browse&quot;. Click that button.<br><br>2. It will then a=
sk you to choose a file. Choose the file<br>=C2=A0=C2=A0 =3D.../emacs-bug-6=
3941/filename=3D in the same directory where =3Dserver.py=3D is.<br><br>3. =
Hit &lt;tab&gt; to go to the &quot;Submit&quot; button, and hit &lt;Enter&g=
t; to upload that file.<br><br><br>&gt; Where does one see this result?=C2=
=A0 Is it in some Emacs buffer?=C2=A0 In that<br>&gt; case, what is the nam=
e of that buffer?<br><br>The output will be in the terminal where =3D./serv=
er.py=3D was run.=C2=A0 I ran it in an<br>emacs shell buffer named =3D$emac=
s-bug-63941=3D.<br><br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr=
" class=3D"gmail_attr">On Wed, Jun 7, 2023 at 11:09=E2=80=AFPM Eli Zaretski=
i &lt;<a href=3D"mailto:eliz@HIDDEN" target=3D"_blank">eliz@HIDDEN</a>&gt=
; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px=
 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">&gt; Fr=
om: ozzloy &lt;<a href=3D"mailto:ozzloy@HIDDEN" target=3D"_blank">ozzloy=
@gmail.com</a>&gt;<br>
&gt; Date: Wed, 7 Jun 2023 19:48:29 -0700<br>
&gt; Cc: <a href=3D"mailto:63941 <at> debbugs.gnu.org" target=3D"_blank">63941@d=
ebbugs.gnu.org</a><br>
&gt; <br>
&gt; 1. Then use EWW to browse to localhost:8085 and upload the file =3Dfil=
ename=3D.<br>
<br>
This part is exactly what I&#39;m asking about: how do I &quot;upload the f=
ile&quot;<br>
using EWW?=C2=A0 Can you please show what I should type to do that?<br>
<br>
&gt; Here&#39;s my result when doing that, first with EWW.<br>
&gt; #+begin_quote<br>
&gt; upload_content =3D b&#39;file content&#39;, name =3D &#39;filename&#39=
;, size =3D 12<br>
&gt; 127.0.0.1 - - [07/Jun/2023 18:55:03] &quot;POST / HTTP/1.1&quot; 200 -=
<br>
&gt; #+end_quote<br>
<br>
Where does one see this result?=C2=A0 Is it in some Emacs buffer?=C2=A0 In =
that<br>
case, what is the name of that buffer?<br>
<br>
Thanks.<br>
</blockquote></div></div>
</blockquote></div>

--0000000000004705db05fd98b347--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 8 Jun 2023 06:43:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 08 02:43:50 2023
Received: from localhost ([127.0.0.1]:55503 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q79N7-0002wl-Hf
	for submit <at> debbugs.gnu.org; Thu, 08 Jun 2023 02:43:50 -0400
Received: from mail-oa1-f54.google.com ([209.85.160.54]:52717)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ozzloy@HIDDEN>) id 1q79N3-0002wV-Pq
 for 63941 <at> debbugs.gnu.org; Thu, 08 Jun 2023 02:43:48 -0400
Received: by mail-oa1-f54.google.com with SMTP id
 586e51a60fabf-19f30256921so280931fac.1
 for <63941 <at> debbugs.gnu.org>; Wed, 07 Jun 2023 23:43:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1686206620; x=1688798620;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=xqamzoFE9TH+gktTRQQfq86oIRCqdQLe8d0/4JpSkMg=;
 b=pE4YmdKArrWVe60tbz/bdPoJ6fyHzmIUqqV4xm/eXHjcrqeGdIx0zRrBBC3wZ16QfZ
 z0MTkyX1mQYFpl1tRTlmdOFOrnfE98X2JfADhNCo6nftZ8Mvh4EhaMmm3ipTpN0BGfQ9
 aY1BMkJbtIHoA22DI2dhKeLtscWyjp3Vr85AhqPseveu8oerD1L9AfVDlqpce75tzACZ
 pPezXy8+bDSV9UpqBx74USnJRt6Ng2dkGbwosfSRKuL6wBHaaEdxwuQCUplJwYLjEXLD
 FuVkqOa5nkT7CBZjc9LamfanuQIHeUAFlxvJEISKxzdZB8HlMJt3HrTbxJebm9/evaFz
 vq4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1686206620; x=1688798620;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=xqamzoFE9TH+gktTRQQfq86oIRCqdQLe8d0/4JpSkMg=;
 b=UT58HSeuuyDuTtEol9xAN+TZmnewqUwdStjBxyisvvNmZk0E28azYY1FUe6ooORMhB
 XYmoK0geePkawckkiwsUdfhSgXrVgZLtLoM9c4ieC0ECgfpNDXEDVASJcn2K9aUJ4EEw
 BOWH6T8l1wYgDkx1o+Ul0lI7TyjrlhxxQ4WDzJKXl8zLdelC9FAXOXOJn48ChIAvPQ8Q
 WWWZ2firN6Z1ccdVHNk7CJJkpmy0jr+a98pZYt/xTkrLx0REETQM2g3qhucV7hBmKMpA
 zF7i7O67F6nz6raSGGJvJ5Cm4ogjlaScwwCeyzsfeh9yANW3mC5ILj7n1L3jlFUApS3J
 rKqw==
X-Gm-Message-State: AC+VfDyvLGtzboEcx4GZZ+j7uVaKgfwKT0baJehm3Got62hzJPM2nTvI
 BuFHDjBWqumxX3VlK5LRL05B5MJF23oT9g80Td0=
X-Google-Smtp-Source: ACHHUZ4obmWDmAiQxQ/zn/n5mNjS/Q3RI2CKC66Al3xxSicP1iTlES6qpDySqD8PNdTIYofvWAR+5vVam7gqffka81g=
X-Received: by 2002:a05:6870:e8c4:b0:18e:2b7e:a846 with SMTP id
 r4-20020a056870e8c400b0018e2b7ea846mr10168618oan.50.1686206619856; Wed, 07
 Jun 2023 23:43:39 -0700 (PDT)
MIME-Version: 1.0
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 <83jzwe32pj.fsf@HIDDEN>
In-Reply-To: <83jzwe32pj.fsf@HIDDEN>
From: ozzloy <ozzloy@HIDDEN>
Date: Wed, 7 Jun 2023 23:43:22 -0700
Message-ID: <CACT2Onhrc4WF=NYfKsv_vgs5Kfk_X6CMgGWsKpTYNrd9NXdL6g@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000009833d905fd9892e5"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000009833d905fd9892e5
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Thanks for clarifying!

> This part is exactly what I'm asking about: how do I "upload the file"
> using EWW?  Can you please show what I should type to do that?

0. In a terminal, do the following
#+begin_src bash
  git clone https://git.sr.ht/~ozzloy/emacs-bug-63941
  cd emacs-bug-63941
  git checkout reproduce-bug-63941
  ./server.py
#+end_src

1. In an emacs window, do the following

   M-x eww<Enter>
   localhost:8085<Enter>

   Once EWW opens localhost:8085, it will display the web page with a butto=
n
   labeled "Browse". Click that button.

2. It will then ask you to choose a file. Choose the file
   =3D.../emacs-bug-63941/filename=3D in the same directory where =3Dserver=
.py=3D
is.

3. Hit <tab> to go to the "Submit" button, and hit <Enter> to upload that
file.


> Where does one see this result?  Is it in some Emacs buffer?  In that
> case, what is the name of that buffer?

The output will be in the terminal where =3D./server.py=3D was run.  I ran =
it
in an
emacs shell buffer named =3D$emacs-bug-63941=3D.


On Wed, Jun 7, 2023 at 11:09=E2=80=AFPM Eli Zaretskii <eliz@HIDDEN> wrote:

> > From: ozzloy <ozzloy@HIDDEN>
> > Date: Wed, 7 Jun 2023 19:48:29 -0700
> > Cc: 63941 <at> debbugs.gnu.org
> >
> > 1. Then use EWW to browse to localhost:8085 and upload the file
> =3Dfilename=3D.
>
> This part is exactly what I'm asking about: how do I "upload the file"
> using EWW?  Can you please show what I should type to do that?
>
> > Here's my result when doing that, first with EWW.
> > #+begin_quote
> > upload_content =3D b'file content', name =3D 'filename', size =3D 12
> > 127.0.0.1 - - [07/Jun/2023 18:55:03] "POST / HTTP/1.1" 200 -
> > #+end_quote
>
> Where does one see this result?  Is it in some Emacs buffer?  In that
> case, what is the name of that buffer?
>
> Thanks.
>

--0000000000009833d905fd9892e5
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br>Thanks for clarifying!<br><br>&gt; Th=
is part is exactly what I&#39;m asking about: how do I &quot;upload the fil=
e&quot;<br>&gt; using EWW?=C2=A0 Can you please show what I should type to =
do that?<br><br>0. In a terminal, do the following<br>#+begin_src bash<br>=
=C2=A0 git clone <a href=3D"https://git.sr.ht/~ozzloy/emacs-bug-63941">http=
s://git.sr.ht/~ozzloy/emacs-bug-63941</a><br>=C2=A0 cd emacs-bug-63941<br>=
=C2=A0 git checkout reproduce-bug-63941<br>=C2=A0 ./server.py<br>#+end_src<=
br><br>1. In an emacs window, do the following<br><br>=C2=A0=C2=A0 M-x eww&=
lt;Enter&gt;<br>=C2=A0=C2=A0 localhost:8085&lt;Enter&gt;<br><br>=C2=A0=C2=
=A0 Once EWW opens localhost:8085, it will display the web page with a butt=
on<br>=C2=A0=C2=A0 labeled &quot;Browse&quot;. Click that button.<br><br>2.=
 It will then ask you to choose a file. Choose the file<br>=C2=A0=C2=A0 =3D=
.../emacs-bug-63941/filename=3D in the same directory where =3Dserver.py=3D=
 is.<br><br>3. Hit &lt;tab&gt; to go to the &quot;Submit&quot; button, and =
hit &lt;Enter&gt; to upload that file.<br><br><br>&gt; Where does one see t=
his result?=C2=A0 Is it in some Emacs buffer?=C2=A0 In that<br>&gt; case, w=
hat is the name of that buffer?<br><br>The output will be in the terminal w=
here =3D./server.py=3D was run.=C2=A0 I ran it in an<br>emacs shell buffer =
named =3D$emacs-bug-63941=3D.<br><br></div><br><div class=3D"gmail_quote"><=
div dir=3D"ltr" class=3D"gmail_attr">On Wed, Jun 7, 2023 at 11:09=E2=80=AFP=
M Eli Zaretskii &lt;<a href=3D"mailto:eliz@HIDDEN">eliz@HIDDEN</a>&gt; wr=
ote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px=
 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">&gt; From: =
ozzloy &lt;<a href=3D"mailto:ozzloy@HIDDEN" target=3D"_blank">ozzloy@gma=
il.com</a>&gt;<br>
&gt; Date: Wed, 7 Jun 2023 19:48:29 -0700<br>
&gt; Cc: <a href=3D"mailto:63941 <at> debbugs.gnu.org" target=3D"_blank">63941@d=
ebbugs.gnu.org</a><br>
&gt; <br>
&gt; 1. Then use EWW to browse to localhost:8085 and upload the file =3Dfil=
ename=3D.<br>
<br>
This part is exactly what I&#39;m asking about: how do I &quot;upload the f=
ile&quot;<br>
using EWW?=C2=A0 Can you please show what I should type to do that?<br>
<br>
&gt; Here&#39;s my result when doing that, first with EWW.<br>
&gt; #+begin_quote<br>
&gt; upload_content =3D b&#39;file content&#39;, name =3D &#39;filename&#39=
;, size =3D 12<br>
&gt; 127.0.0.1 - - [07/Jun/2023 18:55:03] &quot;POST / HTTP/1.1&quot; 200 -=
<br>
&gt; #+end_quote<br>
<br>
Where does one see this result?=C2=A0 Is it in some Emacs buffer?=C2=A0 In =
that<br>
case, what is the name of that buffer?<br>
<br>
Thanks.<br>
</blockquote></div></div>

--0000000000009833d905fd9892e5--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 8 Jun 2023 06:09:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 08 02:09:19 2023
Received: from localhost ([127.0.0.1]:55492 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q78pi-00028k-Vm
	for submit <at> debbugs.gnu.org; Thu, 08 Jun 2023 02:09:19 -0400
Received: from eggs.gnu.org ([209.51.188.92]:41726)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q78pd-00028S-LP
 for 63941 <at> debbugs.gnu.org; Thu, 08 Jun 2023 02:09:17 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q78pY-0002p5-3d; Thu, 08 Jun 2023 02:09:08 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=oQBlcufiH7hQk+5/u8aPzg8BHHWTpb06y44ju8nJ0TA=; b=PLOTrT7cmHtX
 nA6VH5I9GgQTxw009mVe4Zg7tVivUbBITLc31W/Mz4VYbEteSnCAWltFrQMqI3dtU6g4pYQNAOEtf
 SujPZMupyFNw+o6K8ReB4y8+bNDFgSzfHlu8AJ8mCIW/Uq4RgafvsGtTs24YcZUD96w0BBR97TZPB
 2zinXBHgoa75Sd238GeUebBumUXjPOL9Wi8nLQojWrzxIpdYsCSEBgtOR82JDCqVHHN1ogdt1TXK2
 ZUJ0AUw4E/aAGVcG5oDnv9oq5Jjc6TWfuqWJBuY7ThlE8PfIPEKbfEe7Tm08jrzGwIDSkKsKamGsK
 3/Ms6el0gwlfWhbjd3uyFQ==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q78pX-0004La-6C; Thu, 08 Jun 2023 02:09:07 -0400
Date: Thu, 08 Jun 2023 09:09:12 +0300
Message-Id: <83jzwe32pj.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: ozzloy <ozzloy@HIDDEN>
In-Reply-To: <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
 (message from ozzloy on Wed, 7 Jun 2023 19:48:29 -0700)
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
 <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: ozzloy <ozzloy@HIDDEN>
> Date: Wed, 7 Jun 2023 19:48:29 -0700
> Cc: 63941 <at> debbugs.gnu.org
> 
> 1. Then use EWW to browse to localhost:8085 and upload the file =filename=.

This part is exactly what I'm asking about: how do I "upload the file"
using EWW?  Can you please show what I should type to do that?

> Here's my result when doing that, first with EWW.
> #+begin_quote
> upload_content = b'file content', name = 'filename', size = 12
> 127.0.0.1 - - [07/Jun/2023 18:55:03] "POST / HTTP/1.1" 200 -
> #+end_quote

Where does one see this result?  Is it in some Emacs buffer?  In that
case, what is the name of that buffer?

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 8 Jun 2023 04:31:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 08 00:31:00 2023
Received: from localhost ([127.0.0.1]:55361 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q77IZ-0007jv-V5
	for submit <at> debbugs.gnu.org; Thu, 08 Jun 2023 00:31:00 -0400
Received: from mail-oo1-f46.google.com ([209.85.161.46]:42176)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ozzloy@HIDDEN>) id 1q75hk-00007q-8U
 for 63941 <at> debbugs.gnu.org; Wed, 07 Jun 2023 22:48:55 -0400
Received: by mail-oo1-f46.google.com with SMTP id
 006d021491bc7-55afa2472d9so133856eaf.0
 for <63941 <at> debbugs.gnu.org>; Wed, 07 Jun 2023 19:48:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1686192526; x=1688784526;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=abFGWv9Zm2lxmua26DOktdS6qhkZmJ9Hqiz9DPx0FT8=;
 b=Fhb/Y8i8ktqsQR00fAH4qsWwiUEFIn5XO2I5OTXqEvdgKl52M9VePiNTjWwBrm1tZ/
 MvsqSJWqG7PaEzzl1pFk57zHp0N0ME7yLVEKpprbkM7B7W3gDXTJOqUnzgoQGpeXNqg2
 icmX0q+ntEDMuAIs4l32Kla3viXdVYuHwdY3mCtY4mDh/TMhFvbGc569fhsioOUA/4LS
 sDeZDMBbSZ6a8A7VlB2rVs0IYiigJxqFiZvgzuat6nLtPRLQapD41E2xvj3qB1Q2I8/f
 Hpto/d50EVzav40WgJ9aYlEhlMshHiyKXbLIPAig1JUYQYYPCH+pYu3fK3RK/0iGqpnB
 ylLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1686192526; x=1688784526;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=abFGWv9Zm2lxmua26DOktdS6qhkZmJ9Hqiz9DPx0FT8=;
 b=d0czaQ6ausu2So5KGTKkcUkjXqXWcsNs/eGnCj8nFLQGm6v8n38JqUyvtGg+SNfdbK
 F+z3YbNN3GbaxGutF/kE1mAqI+OBW/EkdpZPiqgDPQ0H0AyMmoxqHoaePPd0+ogYWnk3
 d4Q6jgJQ23EGIX5FWDtUtSDdOEBmr4S+npNmuan+1W3V/I2e0oPevZLdBDYcBIvgIpbv
 uOEdfPI+tHlFwqt9ymw9IbBD7KT+DhBoZXXDQlS4fqkaOvxgOxiwCPwfEPoWDGLrwztM
 pFaLSDtJDEZulMPgAY5aJo+UIRWNvIPP1Vdbv72OfJZ6LboA/Q8WJTam7s32bXMjEg4+
 ebXw==
X-Gm-Message-State: AC+VfDybHFmx+wruKVFodNDakMq0kZkHdD/JO6aNwpqKBxiyLHMw1Npr
 n5d7OZln8RY51wiCDIF5qIGXjcHIbVHKgarWXoI=
X-Google-Smtp-Source: ACHHUZ6k26AynwhA9CeZfKkjD+fCrTO5cCSJPtrry6OFJmymNWjD9HvLitkWH/Koo28rfvBz335aq9fiyuU5rCFptDQ=
X-Received: by 2002:a05:6820:1050:b0:55b:2dda:84bd with SMTP id
 x16-20020a056820105000b0055b2dda84bdmr421760oot.1.1686192526209; Wed, 07 Jun
 2023 19:48:46 -0700 (PDT)
MIME-Version: 1.0
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 <837csf4fp8.fsf@HIDDEN>
In-Reply-To: <837csf4fp8.fsf@HIDDEN>
From: ozzloy <ozzloy@HIDDEN>
Date: Wed, 7 Jun 2023 19:48:29 -0700
Message-ID: <CACT2OnhhQGsLhKgik+ghW+DDMbeksWY6yh0P0p1-jxFNv36xQg@HIDDEN>
Subject: Re: bug#63941: [PATCH] ; always CRLF before non-first boundary in
 multipart form
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000008c368905fd954a11"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63941
X-Mailman-Approved-At: Thu, 08 Jun 2023 00:30:50 -0400
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000008c368905fd954a11
Content-Type: text/plain; charset="UTF-8"

> please describe in detail what should be done

Sure!  I'm not sure what would be too much, and what would be too little
explanation.

The short version is to run the following code,
#+begin_src elisp
(require 'mm-url)
(let ((data '(("file"
              ("filedata" . "file content\n")
              ("name"     . "file")
              ("filename" . "filename"))))
      (boundary "BOUNDARY"))
  (mm-url-encode-multipart-form-data data boundary))
#+end_src

#+RESULTS:
: --BOUNDARY^M
: Content-Disposition: form-data; name="file"; filename="filename"^M
: Content-Transfer-Encoding: binary^M
: Content-Type: text/plain^M
: ^M
: file content
: --BOUNDARY--^M
(I've replaced carriage returns with literal '^' and 'M' to avoid email
mangling)

and observe the absence of CRLF between the file content and the boundary.
From https://www.rfc-editor.org/rfc/rfc2046#section-5.1.1 this description,
it seems like there should be.

Here's a longer set of steps.

0. run http server
#+begin_src bash
  git clone https://git.sr.ht/~ozzloy/emacs-bug-63941
  cd emacs-bug-63941
  git checkout reproduce-bug-63941
  ./server.py
#+end_src

1. Then use EWW to browse to localhost:8085 and upload the file =filename=.

Here's my result when doing that, first with EWW.
#+begin_quote
upload_content = b'file content', name = 'filename', size = 12
127.0.0.1 - - [07/Jun/2023 18:55:03] "POST / HTTP/1.1" 200 -
#+end_quote

The bug is that the file content no longer has the final "\n".

2. To confirm, in a separate shell, I posted using curl.
#+begin_src bash
  curl -F "file=@filename;filename=filename" localhost:8085
#+end_src

Here's the output I got
#+begin_quote
upload_content = b'file content\n', name = 'filename', size = 13
127.0.0.1 - - [07/Jun/2023 18:57:12] "POST / HTTP/1.1" 200 -
#+end_quote

The file's content ends with "\n", which is the expected behavior.

This is the second HTTP file upload server I have used and seen this
behavior. The same thing happened for one I wrote in clojure using
Aleph. That one is here https://git.sr.ht/~ozzloy/fupload but I made the
python one because it's probably less set up for other people to
reproduce it.

--0000000000008c368905fd954a11
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">&gt; please describe in detail what should be done<br><br>=
Sure!=C2=A0 I&#39;m not sure what would be too much, and what would be too =
little<br>explanation.<br><br>The short version is to run the following cod=
e,<br>#+begin_src elisp<br>(require &#39;mm-url)<br>(let ((data &#39;((&quo=
t;file&quot;<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 (&quot;filedata&quot; . &quot;file content\n&quot;)<b=
r>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 (&quot;name&quot;=C2=A0=C2=A0=C2=A0=C2=A0 . &quot;file&quot;)<br>=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 (&quot;filename&quot; . &quot;filename&quot;))))<br>=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 (boundary &quot;BOUNDARY&quot;))<br>=C2=A0 (mm-url-encode-multipa=
rt-form-data data boundary))<br>#+end_src<br><br>#+RESULTS:<br>: --BOUNDARY=
^M<br>: Content-Disposition: form-data; name=3D&quot;file&quot;; filename=
=3D&quot;filename&quot;^M<br>: Content-Transfer-Encoding: binary^M<br>: Con=
tent-Type: text/plain^M<br>: ^M<br>: file content<br>: --BOUNDARY--^M<br>(I=
&#39;ve replaced carriage returns with literal &#39;^&#39; and &#39;M&#39; =
to avoid email<br>mangling)<br><br>and observe the absence of CRLF between =
the file content and the boundary.<br>From <a href=3D"https://www.rfc-edito=
r.org/rfc/rfc2046#section-5.1.1">https://www.rfc-editor.org/rfc/rfc2046#sec=
tion-5.1.1</a> this description,<br>it seems like there should be.<br><br>H=
ere&#39;s a longer set of steps.<br><br>0. run http server<br>#+begin_src b=
ash<br>=C2=A0 git clone <a href=3D"https://git.sr.ht/~ozzloy/emacs-bug-6394=
1">https://git.sr.ht/~ozzloy/emacs-bug-63941</a><br>=C2=A0 cd emacs-bug-639=
41<br>=C2=A0 git checkout reproduce-bug-63941<br>=C2=A0 ./server.py<br>#+en=
d_src<br><br>1. Then use EWW to browse to localhost:8085 and upload the fil=
e =3Dfilename=3D.<br><br>Here&#39;s my result when doing that, first with E=
WW.<br>#+begin_quote<br>upload_content =3D b&#39;file content&#39;, name =
=3D &#39;filename&#39;, size =3D 12<br>127.0.0.1 - - [07/Jun/2023 18:55:03]=
 &quot;POST / HTTP/1.1&quot; 200 -<br>#+end_quote<br><br>The bug is that th=
e file content no longer has the final &quot;\n&quot;.<br><br>2. To confirm=
, in a separate shell, I posted using curl.<br>#+begin_src bash<br>=C2=A0 c=
url -F &quot;file=3D@filename;filename=3Dfilename&quot; localhost:8085<br>#=
+end_src<br><br>Here&#39;s the output I got<br>#+begin_quote<br>upload_cont=
ent =3D b&#39;file content\n&#39;, name =3D &#39;filename&#39;, size =3D 13=
<br>127.0.0.1 - - [07/Jun/2023 18:57:12] &quot;POST / HTTP/1.1&quot; 200 -<=
br>#+end_quote<br><br>The file&#39;s content ends with &quot;\n&quot;, whic=
h is the expected behavior.<br><br>This is the second HTTP file upload serv=
er I have used and seen this<br>behavior. The same thing happened for one I=
 wrote in clojure using<br>Aleph. That one is here <a href=3D"https://git.s=
r.ht/~ozzloy/fupload">https://git.sr.ht/~ozzloy/fupload</a> but I made the<=
br>python one because it&#39;s probably less set up for other people to<br>=
reproduce it.<br><br></div>

--0000000000008c368905fd954a11--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at 63941 <at> debbugs.gnu.org:


Received: (at 63941) by debbugs.gnu.org; 7 Jun 2023 12:31:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jun 07 08:31:07 2023
Received: from localhost ([127.0.0.1]:53729 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q6sJe-0005su-U1
	for submit <at> debbugs.gnu.org; Wed, 07 Jun 2023 08:31:07 -0400
Received: from eggs.gnu.org ([209.51.188.92]:43750)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q6sJb-0005sP-A6
 for 63941 <at> debbugs.gnu.org; Wed, 07 Jun 2023 08:31:05 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q6sJU-0006dF-Hb; Wed, 07 Jun 2023 08:30:56 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=VTO3M2Y2a2bgXhncLYMm2O+WCukX2PgL4wwT3oqkx4E=; b=N69UBe0vxXnG
 d91H85ynLdNCvIxzRyU2KACSzpD7FvgtsY44JS0iuLLeQE305ff27nolZNbd6jsGcDSA3pPoi8ecJ
 Np0q6tP4kZvPj1H6gkA7X/ZvJNTmQ/8EFq25X4bp9e9+IdK/XowmxU9DdlVXHYdxEKoRC7LzCO5ZN
 06kLd6XY/6ZtpM8KuCf8GkxFSLjQb8IDEEwVk4G8drvGNBDqbTcFbeEmo+wKEYAv1Uy1iwvtICJwc
 913MzAUBNQKtESSUPk/9SaBDT9rD6JVH3Swtb4IsNvnWxwhXcHzEa5LBBralahyBU+xSptEu9Ct24
 JRhdvQbJ0A+e6ahFRslWNg==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q6sJU-0005lI-0q; Wed, 07 Jun 2023 08:30:56 -0400
Date: Wed, 07 Jun 2023 15:30:59 +0300
Message-Id: <837csf4fp8.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: ozzloy <ozzloy@HIDDEN>
In-Reply-To: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
 (message from ozzloy on Tue, 6 Jun 2023 22:25:40 -0700)
Subject: Re: bug#63941: [PATCH] ;
 always CRLF before non-first boundary in multipart form
References: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63941
Cc: 63941 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: ozzloy <ozzloy@HIDDEN>
> Date: Tue, 6 Jun 2023 22:25:40 -0700
> 
> When I POST a file ending with a newline using EWW, the final newline
> gets chomped off of the content.  This is because
> mm-url-encode-multipart-form-data inserts CRLF unless it is at the
> beginning of a line.  For file uploads, this behavior is incorrect.
> 
> To reproduce,
> 
> 0. Upload a file ending in "\n" using EWW.
> 
> 1. Observe the POST does not have CRLF between the file content and the
> boundary.

Thanks, but could you please describe in detail what should be done in
step 0? how to "post a file using EWW"?

We need the details to be sure we reproduce the same problem as you
do, and also to test the solution and any alternatives.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 7 Jun 2023 06:52:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jun 07 02:52:13 2023
Received: from localhost ([127.0.0.1]:53435 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q6n1f-0006If-JC
	for submit <at> debbugs.gnu.org; Wed, 07 Jun 2023 02:52:13 -0400
Received: from lists.gnu.org ([209.51.188.17]:41042)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ozzloy@HIDDEN>) id 1q6lgJ-0003vZ-7Y
 for submit <at> debbugs.gnu.org; Wed, 07 Jun 2023 01:26:10 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ozzloy@HIDDEN>) id 1q6lgI-0008R4-Rd
 for bug-gnu-emacs@HIDDEN; Wed, 07 Jun 2023 01:26:02 -0400
Received: from mail-oo1-xc36.google.com ([2607:f8b0:4864:20::c36])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <ozzloy@HIDDEN>) id 1q6lgE-0003CU-Kk
 for bug-gnu-emacs@HIDDEN; Wed, 07 Jun 2023 01:26:02 -0400
Received: by mail-oo1-xc36.google.com with SMTP id
 006d021491bc7-55564892accso4738122eaf.2
 for <bug-gnu-emacs@HIDDEN>; Tue, 06 Jun 2023 22:25:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1686115556; x=1688707556;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=69Dnw7bzFFokzYSsACp0Lj39CsDbp0aRKHwYyscSojU=;
 b=EX5qDcyJkBeE2Tr/6IXci7KqMic9qiSm92KzykmQmH71fZFC+1kIfFwegdSVone/BG
 YFZQPIQkJe6JG8kB3CzB51zfq3iuO9EfaCB9fr0b4qTuMZ9gbRZ7/f5N1rjP02HycUAq
 CeO8OlldUc/YlebyNzl0lxwgfCQtdhT0A1NmRuXUEv6Vi4l911Py/n1cBUPRJEm2ysAp
 hWRHGVVUDWEhQY6VZM/0R47TpFxB0Hun7Wn+f9uBGZDWVd8g42atmq6i5z0PRMpGH+lc
 gS8TbM7YH1AAMsfcsAK+9Bp9xDqKVGB908mdRas1XG1wTPw9KHD5BnmmYv/wFIgewYxn
 EAPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1686115556; x=1688707556;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=69Dnw7bzFFokzYSsACp0Lj39CsDbp0aRKHwYyscSojU=;
 b=hOKFXMPy6fdbOtlCCS37LqW2W6tufuuNIAda6QGDpG/RuyP2N/fHfTJywwfQ0HczNN
 8CNCrbd8Hc1CsxqeAHOkiFNibVFvtwTl2L7JwtudlRQvobYpN4vWUuArqI9OYaUl86gi
 8y9Tza7hsHYV2g2CNJKddJqSJdZ3za6oIdW2pRX94EqgjCCy3xIYWPGTEuVnHBWiYqD/
 16J7KWmP2WqHO3Cn+SOmr1stBxQksqfZxfwlYGlHquKc8V8J0cHdp1S/FiuJVisqINS2
 myQdpntyRuUCnDMfBf4obVPFUXJtn/jraqcZdovjtBJrqiE4P8k22Oer3nzZFk2gF/NS
 TGPA==
X-Gm-Message-State: AC+VfDz/fg+I3S+wbB7QdlOsEEDR3gloCaH87MZE5kTUb7a2Ctx2+tUE
 NOYzQ5IzWp5RsejCM3xPvgEChpndm0S5D6CcTZyWL07G
X-Google-Smtp-Source: ACHHUZ7MprJTmQTUHBZrDgDZlF3xDjloPBSxgtH41NJe9JspcmktRBDw91MOBHWXVa0eAs1VPGgsGUV4qZaR5nc9ECg=
X-Received: by 2002:a05:6820:162:b0:558:b4cb:b18a with SMTP id
 k2-20020a056820016200b00558b4cbb18amr3263280ood.6.1686115556462; Tue, 06 Jun
 2023 22:25:56 -0700 (PDT)
MIME-Version: 1.0
From: ozzloy <ozzloy@HIDDEN>
Date: Tue, 6 Jun 2023 22:25:40 -0700
Message-ID: <CACT2Oni7VRQZLazJXWwPVRw1TZ3tM84UXiexVCuu2Bbp0QTAOQ@HIDDEN>
Subject: [PATCH] ; always CRLF before non-first boundary in multipart form
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/mixed; boundary="000000000000cb298005fd835e9a"
Received-SPF: pass client-ip=2607:f8b0:4864:20::c36;
 envelope-from=ozzloy@HIDDEN; helo=mail-oo1-xc36.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Wed, 07 Jun 2023 02:52:10 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

--000000000000cb298005fd835e9a
Content-Type: multipart/alternative; boundary="000000000000cb297e05fd835e98"

--000000000000cb297e05fd835e98
Content-Type: text/plain; charset="UTF-8"

When I POST a file ending with a newline using EWW, the final newline
gets chomped off of the content.  This is because
mm-url-encode-multipart-form-data inserts CRLF unless it is at the
beginning of a line.  For file uploads, this behavior is incorrect.

To reproduce,

0. Upload a file ending in "\n" using EWW.

1. Observe the POST does not have CRLF between the file content and the
boundary.

Refer to https://www.rfc-editor.org/rfc/rfc2046#section-5.1.1 for
details.

I have not tested other kinds of html form posts.  I am not familiar
with what should be tested.  I did include tests for this specific bug
though.


In GNU Emacs 29.0.91 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.33, cairo version 1.16.0) of 2023-06-06 built on trent-reznor
Repository revision: b5eb43ba289519704c6cb0fe456038dcaec172c3
Repository branch: CRLF-before-noninitial-boundary
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Ubuntu 22.04.2 LTS

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG
LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG SECCOMP SOUND
THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
emacs)

Memory information:
((conses 16 36910 11079)
 (symbols 48 5128 0)
 (strings 32 13160 1100)
 (string-bytes 1 372301)
 (vectors 16 9331)
 (vector-slots 8 149255 18597)
 (floats 8 33 21)
 (intervals 56 326 0)
 (buffers 976 11))

--000000000000cb297e05fd835e98
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">When I POST a file ending with a newline using EWW, the fi=
nal newline<br>gets chomped off of the content.=C2=A0 This is because<br>mm=
-url-encode-multipart-form-data inserts CRLF unless it is at the<br>beginni=
ng of a line.=C2=A0 For file uploads, this behavior is incorrect.<br><br>To=
 reproduce,<br><br>0. Upload a file ending in &quot;\n&quot; using EWW.<br>=
<br>1. Observe the POST does not have CRLF between the file content and the=
<br>boundary.<br><br>Refer to <a href=3D"https://www.rfc-editor.org/rfc/rfc=
2046#section-5.1.1">https://www.rfc-editor.org/rfc/rfc2046#section-5.1.1</a=
> for<br>details.<br><br>I have not tested other kinds of html form posts.=
=C2=A0 I am not familiar<br>with what should be tested.=C2=A0 I did include=
 tests for this specific bug<br>though.<br><br><br>In GNU Emacs 29.0.91 (bu=
ild 1, x86_64-pc-linux-gnu, GTK+ Version<br>=C2=A03.24.33, cairo version 1.=
16.0) of 2023-06-06 built on trent-reznor<br>Repository revision: b5eb43ba2=
89519704c6cb0fe456038dcaec172c3<br>Repository branch: CRLF-before-noninitia=
l-boundary<br>Windowing system distributor &#39;The X.Org Foundation&#39;, =
version 11.0.12101004<br>System Description: Ubuntu 22.04.2 LTS<br><br>Conf=
igured features:<br>CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFB=
UZZ JPEG<br>LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG SECCOMP S=
OUND<br>THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB=
<br><br>Important settings:<br>=C2=A0 value of $LANG: en_US.UTF-8<br>=C2=A0=
 value of $XMODIFIERS: @im=3Dibus<br>=C2=A0 locale-coding-system: utf-8-uni=
x<br><br>Major mode: Fundamental<br><br>Minor modes in effect:<br>=C2=A0 to=
oltip-mode: t<br>=C2=A0 global-eldoc-mode: t<br>=C2=A0 show-paren-mode: t<b=
r>=C2=A0 electric-indent-mode: t<br>=C2=A0 mouse-wheel-mode: t<br>=C2=A0 to=
ol-bar-mode: t<br>=C2=A0 menu-bar-mode: t<br>=C2=A0 file-name-shadow-mode: =
t<br>=C2=A0 global-font-lock-mode: t<br>=C2=A0 blink-cursor-mode: t<br>=C2=
=A0 buffer-read-only: t<br>=C2=A0 line-number-mode: t<br>=C2=A0 indent-tabs=
-mode: t<br>=C2=A0 transient-mark-mode: t<br>=C2=A0 auto-composition-mode: =
t<br>=C2=A0 auto-encryption-mode: t<br>=C2=A0 auto-compression-mode: t<br><=
br>Load-path shadows:<br>None found.<br><br>Features:<br>(shadow sort mail-=
extr emacsbug message mailcap yank-media puny dired<br>dired-loaddefs rfc82=
2 mml mml-sec password-cache epa derived epg rfc6068<br>epg-config gnus-uti=
l text-property-search time-date subr-x mm-decode<br>mm-bodies mm-encode ma=
il-parse rfc2231 mailabbrev gmm-utils mailheader<br>cl-loaddefs cl-lib send=
mail rfc2047 rfc2045 ietf-drums mm-util<br>mail-prsvr mail-utils rmc iso-tr=
ansl tooltip cconv eldoc paren electric<br>uniquify ediff-hook vc-hooks lis=
p-float-type elisp-mode mwheel<br>term/x-win x-win term/common-win x-dnd to=
ol-bar dnd fontset image<br>regexp-opt fringe tabulated-list replace newcom=
ment text-mode lisp-mode<br>prog-mode register page tab-bar menu-bar rfn-es=
hadow isearch easymenu<br>timer select scroll-bar mouse jit-lock font-lock =
syntax font-core<br>term/tty-colors frame minibuffer nadvice seq simple cl-=
generic<br>indonesian philippine cham georgian utf-8-lang misc-lang vietnam=
ese<br>tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew gr=
eek<br>romanian slovak czech european ethiopic indian cyrillic chinese<br>c=
omposite emoji-zwj charscript charprop case-table epa-hook<br>jka-cmpr-hook=
 help abbrev obarray oclosure cl-preloaded button loaddefs<br>theme-loaddef=
s faces cus-face macroexp files window text-properties<br>overlay sha1 md5 =
base64 format env code-pages mule custom widget keymap<br>hashtable-print-r=
eadable backquote threads dbusbind inotify<br>dynamic-setting system-font-s=
etting font-render-setting cairo<br>move-toolbar gtk x-toolkit xinput2 x mu=
lti-tty make-network-process<br>emacs)<br><br>Memory information:<br>((cons=
es 16 36910 11079)<br>=C2=A0(symbols 48 5128 0)<br>=C2=A0(strings 32 13160 =
1100)<br>=C2=A0(string-bytes 1 372301)<br>=C2=A0(vectors 16 9331)<br>=C2=A0=
(vector-slots 8 149255 18597)<br>=C2=A0(floats 8 33 21)<br>=C2=A0(intervals=
 56 326 0)<br>=C2=A0(buffers 976 11))<br><br></div>

--000000000000cb297e05fd835e98--

--000000000000cb298005fd835e9a
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-always-CRLF-before-non-first-boundary-in-multipart-f.patch"
Content-Disposition: attachment; 
	filename="0001-always-CRLF-before-non-first-boundary-in-multipart-f.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_lil9nk1n0>
X-Attachment-Id: f_lil9nk1n0

RnJvbSA0NmRhNGM5ZDkzNjdhYWY0YmQzY2UyZmFmMTE4ODQ1ZjM5MzBkYWJmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgV2F0c29uIDxvenpsb3lAZ21haWwuY29tPgpEYXRl
OiBTYXQsIDMgSnVuIDIwMjMgMjE6MTU6MjUgLTA3MDAKU3ViamVjdDogW1BBVENIXSA7IGFsd2F5
cyBDUkxGIGJlZm9yZSBub24tZmlyc3QgYm91bmRhcnkgaW4gbXVsdGlwYXJ0IGZvcm0KIGRhdGEK
CjsgSW5zZXJ0IENSTEYgYWZ0ZXIgZmlsZSBjb250ZW50cyBhbmQgYmVmb3JlIGJvdW5kYXJ5LAo7
IGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgc3ludGF4IGRlc2NyaXB0aW9uIGhlcmUKOyBodHRwczov
L3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjMjA0NiNzZWN0aW9uLTUuMS4xCjsgVGhlIENSTEYg
aXMgYXR0YWNoZWQgdG8gdGhlIGJvdW5kYXJ5LCBhbmQgbm90IHRoZSBwcmVjZWRpbmcgcGFydC4K
LS0tCiBsaXNwL2dudXMvbW0tdXJsLmVsICAgICAgICAgICAgfCAgMyArLQogdGVzdC9saXNwL2du
dXMvbW0tdXJsLXRlc3RzLmVsIHwgNTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KwogMiBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogY3Jl
YXRlIG1vZGUgMTAwNjQ0IHRlc3QvbGlzcC9nbnVzL21tLXVybC10ZXN0cy5lbAoKZGlmZiAtLWdp
dCBhL2xpc3AvZ251cy9tbS11cmwuZWwgYi9saXNwL2dudXMvbW0tdXJsLmVsCmluZGV4IDExODQ3
YTc5ZjE3Li4wMjI3NjJhNzc5OSAxMDA2NDQKLS0tIGEvbGlzcC9nbnVzL21tLXVybC5lbAorKysg
Yi9saXNwL2dudXMvbW0tdXJsLmVsCkBAIC00MzgsOCArNDM4LDcgQEAgbW0tdXJsLWVuY29kZS1t
dWx0aXBhcnQtZm9ybS1kYXRhCiAJICAoaW5zZXJ0IChmb3JtYXQgIkNvbnRlbnQtRGlzcG9zaXRp
b246IGZvcm0tZGF0YTsgbmFtZT0lU1xyXG5cclxuIgogCQkJICBuYW1lKSkKIAkgIChpbnNlcnQg
dmFsdWUpKSkKLQkodW5sZXNzIChib2xwKQotCSAgKGluc2VydCAiXHJcbiIpKSkpCisJKGluc2Vy
dCAiXHJcbiIpKSkKICAgICAoaW5zZXJ0ICItLSIgYm91bmRhcnkgIi0tXHJcbiIpCiAgICAgKGJ1
ZmZlci1zdHJpbmcpKSkKIApkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2dudXMvbW0tdXJsLXRlc3Rz
LmVsIGIvdGVzdC9saXNwL2dudXMvbW0tdXJsLXRlc3RzLmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwLi5lZDUxY2I3ZDA4NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3Qv
bGlzcC9nbnVzL21tLXVybC10ZXN0cy5lbApAQCAtMCwwICsxLDUzIEBACis7OzsgbW0tdXJsLXRl
c3RzLmVsIC0tLSAgLSotIGxleGljYWwtYmluZGluZzp0IC0qLQorCis7OyBDb3B5cmlnaHQgKEMp
IDIwMjEtMjAyMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworOzsgVGhpcyBmaWxl
IGlzIHBhcnQgb2YgR05VIEVtYWNzLgorCis7OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTog
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp
Y2Vuc2UsIG9yCis7OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyBH
TlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKzs7IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlCis7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorCis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJ
ZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCis7OzsgQ29tbWVu
dGFyeToKKworOzs7IENvZGU6CisKKyhyZXF1aXJlICdlcnQpCisocmVxdWlyZSAnbW0tdXJsKQor
CisoZXJ0LWRlZnRlc3QgdGVzdC1tbS11cmwtZW5jb2RlLW11bHRpcGFydC1mb3JtLWRhdGEgKCkK
KyAgKGxldHJlYworICAgICAgKChib3VuZGFyeSAiPT09PS09LT0iKQorICAgICAgIChtYWtlLWRh
dGEgKGxhbWJkYSAoY291bnQpCisgICAgICAgICAgICAgICAgICAgIGAoKCJmaWxlIgorICAgICAg
ICAgICAgICAgICAgICAgICAoImZpbGVkYXRhIiAuICwobWFrZS1zdHJpbmcgY291bnQgP1xuKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgKCJuYW1lIiAgICAgLiAiZmlsZSIpCisgICAgICAgICAg
ICAgICAgICAgICAgICgiZmlsZW5hbWUiIC4gImciKSkpKSkKKyAgICAgICAodGVtcGxhdGUKKyAg
ICAgICAgKGNvbmNhdAorICAgICAgICAgIi0tIiBib3VuZGFyeSAiXHJcbiIKKyAgICAgICAgICJD
b250ZW50LURpc3Bvc2l0aW9uOiIKKyAgICAgICAgICIgZm9ybS1kYXRhOyBuYW1lPVwiZmlsZVwi
OyBmaWxlbmFtZT1cImdcIlxyXG4iCisgICAgICAgICAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu
ZzogYmluYXJ5XHJcbiIKKyAgICAgICAgICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW5cclxuIgor
ICAgICAgICAgIlxyXG4iCisgICAgICAgICAiJXMiIDs7IGhlcmUncyB0aGUgZmlsZSBjb250ZW50
CisgICAgICAgICAiXHJcbiIgOzsgXHJcbiBhdHRhY2hlcyB0byBib3VuZGFyeSBiZWxvdywgbm90
IGZpbGUgY29udGVudAorICAgICAgICAgOzsgcmVmOiBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9y
Zy9yZmMvcmZjMjA0NiNzZWN0aW9uLTUuMS4xCisgICAgICAgICAiLS0iIGJvdW5kYXJ5ICItLSIg
IlxyXG4iKSkpCisgICAgKGRvdGltZXMgKGNvdW50IDMpCisgICAgICAobGV0ICgoZGF0YSAoZnVu
Y2FsbCBtYWtlLWRhdGEgY291bnQpKQorICAgICAgICAgICAgKGV4cGVjdGVkIChmb3JtYXQgdGVt
cGxhdGUgKG1ha2Utc3RyaW5nIGNvdW50ID9cbikpKSkKKyAgICAgICAgKHNob3VsZCAoZXF1YWwg
KG1tLXVybC1lbmNvZGUtbXVsdGlwYXJ0LWZvcm0tZGF0YSBkYXRhIGJvdW5kYXJ5KQorICAgICAg
ICAgICAgICAgICAgICAgICBleHBlY3RlZCkpKSkpKQorCis7OzsgbW0tdXJsLXRlc3RzLmVsIGVu
ZHMgaGVyZQotLSAKMi4zNC4xCgo=
--000000000000cb298005fd835e9a--




Acknowledgement sent to ozzloy <ozzloy@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#63941; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Tue, 4 Mar 2025 02:15:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.