mirror of
https://github.com/leahneukirchen/mblaze
synced 2024-11-11 13:10:32 +00:00
b962fb6be0
> The encoded output stream must be represented in lines of no more > than 76 characters each. All line breaks or other characters not > found in Table 1 must be ignored by decoding software. In base64 > data, characters other than those in Table 1, line breaks, and other > white space probably indicate a transmission error, about which a > warning message or even a message rejection might be appropriate > under some circumstances.
54 lines
1.3 KiB
Bash
Executable File
54 lines
1.3 KiB
Bash
Executable File
#!/bin/sh -e
|
|
cd ${0%/*}
|
|
. ./lib.sh
|
|
plan 3
|
|
|
|
# Mail with \n\n and \r\n\r\n
|
|
cr=$(printf '\r')
|
|
cat <<EOF >tmp
|
|
Content-Type: multipart/form-data; boundary=------------------------55a586f81559face$cr
|
|
$cr
|
|
--------------------------55a586f81559face$cr
|
|
Content-Disposition: form-data; name="a"; filename="foo"$cr
|
|
Content-Type: application/octet-stream$cr
|
|
$cr
|
|
foo$cr
|
|
|
|
previously there are two NL$cr
|
|
$cr
|
|
--------------------------55a586f81559face$cr
|
|
Content-Disposition: form-data; name="a"; filename="bar"$cr
|
|
Content-Type: application/octet-stream$cr
|
|
$cr
|
|
bar$cr
|
|
$cr
|
|
--------------------------55a586f81559face--$cr
|
|
EOF
|
|
|
|
check 'mail has 3 attachments' 'mshow -t ./tmp | wc -l | grep 4'
|
|
check 'mail attachment foo has size 35' 'mshow -t ./tmp | grep size=35.*name=\"foo\"'
|
|
|
|
# Mail with linebreaks in base64 quartets
|
|
cat <<EOF >tmp
|
|
Subject: base64
|
|
MIME-Version: 1.0
|
|
Content-Type: multipart/mixed; boundary="----_=_2f8f1e2243b55f8618eaf0d9_=_"
|
|
|
|
This is a multipart message in MIME format.
|
|
|
|
------_=_2f8f1e2243b55f8618eaf0d9_=_
|
|
Content-Disposition: attachment; filename=base64
|
|
Content-Type: application/binary
|
|
Content-Transfer-Encoding: base64
|
|
|
|
dGhp
|
|
cyBpc
|
|
yBzb21
|
|
lIGJhc2
|
|
U2NAo=
|
|
|
|
------_=_2f8f1e2243b55f8618eaf0d9_=_--
|
|
EOF
|
|
|
|
check 'mail decodes correctly' 'mshow -O ./tmp 2 | grep -q "this is some base64"'
|