fork of 9front i guess
Find a file
Michael Forney 29fbba7b6d [9front] upas/vf: exclude mime boundary from temporary attachment files
validateattachment has no business with the mime boundary; it is not
part of the attachment itself.

Also, it causes the boundary to be dropped in the message output from
upas/vf, effectively dropping the following attachment (though the
content is still present after the last boundary of the wrapped first
attachment part).

Consider the following sequence of events:
1. upas/vf is run on a message containing two attachments.
2. The first attachment does not have a known extension, so is saved
   to a temporary file *including* the following mime boundary.
3. This file is opened as p->tmpbuf, which is used for subsequent
   reads until switching back to stdin.
4. The attachment fails validateattachment, so upas/vf wraps it in a
   multipart with a warning message.
5. problemchild() calls passbody(p, 0), which copies from p->tmpbuf
   until it hits the outer boundary line, which it excludes, seeks
   back one line, then returns the outer multipart.
6. problemchild() then writes its own boundary, and then copies one
   line from *stdin* to stdout, expecting the outer boundary.
   However, this boundary was already read from stdin in 2, so it ends
   up reading the first line of the subsequent part instead.

To fix this, pass 0 to passbody() in save() to exclude it from the
attachment file and make it available in stdin when expected.
2021-02-08 20:59:01 -08:00
386 ape: sync flaot.h macros with u.h 2021-02-08 15:45:11 -08:00
68000 add signed fixed size integer typedefs 2018-05-12 19:19:52 +02:00
68020 ape: sync flaot.h macros with u.h 2021-02-08 15:45:11 -08:00
acme win: fix window recreation command 2020-09-16 12:41:24 +02:00
adm/timezone timezones: change DST timezone string for South Australia 2019-11-20 11:49:16 +10:30
amd64 ape: unify math.h copies 2021-01-01 21:40:00 -08:00
arm ape: sync flaot.h macros with u.h 2021-02-08 15:45:11 -08:00
arm64 ape: sync flaot.h macros with u.h 2021-02-08 15:45:11 -08:00
lib /lib/keyboard: Anführungszeichen uten (danke sirjofri) 2020-12-01 09:23:16 +01:00
mips ape: sync flaot.h macros with u.h 2021-02-08 15:45:11 -08:00
power ape: sync flaot.h macros with u.h 2021-02-08 15:45:11 -08:00
power64 add signed fixed size integer typedefs 2018-05-12 19:19:52 +02:00
rc 9fs: bell labs is very dead 2021-01-15 19:32:02 +01:00
sparc ape: sync flaot.h macros with u.h 2021-02-08 15:45:11 -08:00
sparc64 ape: sync flaot.h macros with u.h 2021-02-08 15:45:11 -08:00
spim add signed fixed size integer typedefs 2018-05-12 19:19:52 +02:00
sys [9front] upas/vf: exclude mime boundary from temporary attachment files 2021-02-08 20:59:01 -08:00
.hgignore hgignore: ignore section 9 manpage indices, ignore init, kernels and bootloader binaries 2020-03-07 12:28:49 +01:00