Bug#1141543: debbugs: fails to separate sendmail flags from recipient addresses
Ben Wong <[email protected]> Sun, 05 Jul 2026 18:08:12 -0700
| Newsgroups | gmane.linux.debian.devel.debbugs |
|---|---|
| Message-ID | <178330009234.968327.17252330771571410958.reportbug__18166.7024780594$1783300289$gmane$org@abyssal.wongs.net> |
This is a multi-part MIME message sent by reportbug.
--===============3401292034236269282==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Source: debbugs
Version: 2.6.5
Severity: normal
Tags: patch
Dear Maintainer,
There is some curious code in Mail.pm:
for my $recipient ($param{parse_for_recipients}?q(-t):(),@recipients)
eval {
_send_message($param{message},@sendmail_arguments,$recipient);
As you can see, it sometimes sets $recipient="-t" to modify how
sendmail works. While clever, it suggests a possible security problem.
In particular, a recipient address may be interpreted as an option
flag. For example,
sendmail -oem -oi -oQ/tmp/[email protected] [email protected]
I am not running debbugs, so I cannot confirm that this weakness is
exploitable, but I am able to simulate it using t/lib/DebbugsTest.pm.
Please see the attached test file, t/24_recipient_injection.t, that
demonstrates the problem. (Run it using `prove -l t/24_*`).
I believe the correct solution is to add "--" in the two places in
lib/Debbugs/Mail.pm which call _send_message(). Please see the second
attachment which includes the fix. Once applied, `prove` will succeed.
The third patch file is optional but useful as it causes
t/lib/DebbugsTest.pm to create properly named tempdirs.
Thank you,
--Ben Wong
-- System Information:
Debian Release: forky/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 7.0.12+deb14.1-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
--===============3401292034236269282==
Content-Type: application/mbox
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="0001-Test-recipient-addresses-injection.patch"
RnJvbSAxMzJiODE0NTE5OWFhNTA3OTI2OWY5YzFlMDcxMzExNzg4NmY4NzJlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBCZW4gV29uZyA8YmVuQHdvbmdzLm5ldD4KRGF0ZTogU3VuLCA1
IEp1bCAyMDI2IDE2OjI4OjE2IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxLzNdIFRlc3QgaWYgdXNl
ciBlbWFpbCBhZGRyZXNzZXMgbWlnaHQgYmUgaW50ZXJwcmV0ZWQgYXMKIHNlbmRtYWlsIGZsYWdz
CgpJdCBpcyBsZWdhbCB0byBoYXZlIGFuIGVtYWlsIGFkZHJlc3MgdGhhdCBiZWdpbnMgd2l0aCBh
IGRhc2ggKCctJyksCmJ1dCB3aGVuIHByZXNlbnRlZCB0byBzZW5kbWFpbCBpdCBtYXkgYmUgcGFy
c2VkIGFzIGEgc3dpdGNoIHRoYXQKY29udHJvbHMgaG93IHRoZSBwcm9ncmFtIHdvcmtzIGluc3Rl
YWQgb2YgYXMgYSByZWNpcGllbnQgYWRkcmVzcy4KKEV4aW0gd29ya3MgdGhlIHNhbWUgd2F5LiBR
bWFpbCBuZXZlciB0YWtlcyBhcmd1bWVudHMgYW5kIGlzCnVuYWZmZWN0ZWQpLgoKUGxlYXNlIHNl
ZSBDV0UtODg6IEltcHJvcGVyIE5ldXRyYWxpemF0aW9uIG9mIEFyZ3VtZW50IERlbGltaXRlcnMg
aW4gYQpDb21tYW5kICgnQXJndW1lbnQgSW5qZWN0aW9uJykuCgpGb3IgY29tcGFyaXNvbiBvZiBh
IHNpbWlsYXIgdnVsbmVyYWJpbGl0eSwgc2VlIENWRS0yMDE2LTEwMDMzLgotLS0KIHQvMjRfcmVj
aXBpZW50X2luamVjdGlvbi50IHwgMTcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxNzAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAw
NjQ0IHQvMjRfcmVjaXBpZW50X2luamVjdGlvbi50CgpkaWZmIC0tZ2l0IGEvdC8yNF9yZWNpcGll
bnRfaW5qZWN0aW9uLnQgYi90LzI0X3JlY2lwaWVudF9pbmplY3Rpb24udApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWJjMGJmCi0tLSAvZGV2L251bGwKKysrIGIvdC8yNF9y
ZWNpcGllbnRfaW5qZWN0aW9uLnQKQEAgLTAsMCArMSwxNzAgQEAKKyMgLSotIG1vZGU6IGNwZXJs
Oy0qLQorCit1c2UgVGVzdDo6TW9yZSB0ZXN0cz0+MzsKKwordXNlIHdhcm5pbmdzOwordXNlIHN0
cmljdDsKKworIyBUaGlzIHRlc3QgY2hlY2tzIHdoZXRoZXIgYW4gYXR0YWNrZXItY29udHJvbGxl
ZCBGcm9tIGhlYWRlciBjYW4KKyMgcmVhY2ggdGhlIHNlbmRtYWlsKiBpbnZvY2F0aW9uIGFzIGEg
bGl0ZXJhbCwgdW5maWx0ZXJlZCBhcmd1bWVudC4KKyMgKE5vdGU6ICJzZW5kbWFpbCIgaXMgYSBz
dGFuZC1pbiBmb3IgYW55IHN1cHBvcnRlZCBNVEE6CisjIHNlbmRtYWlsL2V4aW0vcW1haWwuKQor
Cit1c2UgSU86OkZpbGU7Cit1c2UgRmlsZTo6VGVtcCBxdyh0ZW1wZGlyKTsKK3VzZSBDd2QgcXco
Z2V0Y3dkKTsKK3VzZSBGaWxlOjpCYXNlbmFtZSBxdyhkaXJuYW1lIGJhc2VuYW1lKTsKK3VzZSBs
aWIgcXcodC9saWIpOwordXNlIERlYmJ1Z3NUZXN0IHF3KDphbGwpOworCiskU0lHe0NITER9ID0g
c3ViIHt9OworCitteSAlY29uZmlnID0gY3JlYXRlX2RlYmJ1Z3NfY29uZmlndXJhdGlvbigpOwor
bXkgJHNlbmRtYWlsX2RpciA9ICRjb25maWd7c2VuZG1haWxfZGlyfTsKKworIyBmcm9tX2VtYWls
IGJlZ2lucyB3aXRoICctJyB0aGUgd2F5IGEgaG9zdGlsZSBGcm9tIGxvY2FsLXBhcnQgY291bGQ7
CisjIGl0J3Mgc3ludGFjdGljYWxseSBsZWdhbCBwZXIgUkZDIDUzMjIgYXRleHQsIHNvIG5vdGhp
bmcgdXBzdHJlYW0KKyMgcmVqZWN0cyBpdCBhcyAibm90IGFuIGVtYWlsIGFkZHJlc3MiLgorbXkg
JGZyb21fZW1haWwgPSAnLW9RL3RtcC9zaG91bGQtbm90LWV4aXN0LW1hcmtlckBleGFtcGxlLmNv
bSc7CisKK215ICR0ZXN0X25hbWUgPSAnJzsKKworIyBDcmVhdGUgYSBuZXcgYnVnIHJlcG9ydCB0
byB2ZXJpZnkgaW5pdGlhbCBhdXRvIHJlcGx5LgorJHRlc3RfbmFtZSA9ICdJbml0aWFsIGF1dG9y
ZXBseSB0byBhIGJ1ZyBzdWJtaXNzaW9uJzsKK3NlbmRfbWVzc2FnZSh0byAgICAgID0+ICdzdWJt
aXRAYnVncy5zb21ldGhpbmcnLAorCSAgICAgaGVhZGVycyA9PiBbVG8gICAgICA9PiAnc3VibWl0
QGJ1Z3Muc29tZXRoaW5nJywKKwkJCSBGcm9tICAgID0+ICRmcm9tX2VtYWlsLAorCQkJIFN1Ympl
Y3QgPT4gJ3Rlc3QgYnVnIGZvciBpbmplY3Rpb24gY2hlY2snLAorCQkJXSwKKwkgICAgIGJvZHkg
ICAgPT4gPDxFT0YpIG9yIGZhaWwoJ1VuYWJsZSB0byBzdWJtaXQgdGVzdCBidWcnKTsKK1BhY2th
Z2U6IGZvbworU2V2ZXJpdHk6IG5vcm1hbAorCitSdWJiZXIgYmFieSBidWdneSBidW1wZXJzCitF
T0YKKworbXkgJG1hcmtlcl9wYXR0ZXJuID0gcXIvJ1xRJGZyb21fZW1haWxcRScvOworbXkgJHNh
ZmVfcGF0dGVybiA9IHFyLyAnLS0nLiogJ1xRJGZyb21fZW1haWxcRScvOworCitteSAkbWFya2Vy
X2ZvdW5kID0gMDsKK215ICR1bnNhZmVfZm91bmQgPSAwOworbXkgJG9sZF9tYXJrZXJfZm91bmQ7
CitteSAkb2xkX3Vuc2FmZV9mb3VuZDsKK215ICRmb3VuZF9saW5lOworbXkgJHVuc2FmZV9saW5l
OworCiskb2xkX21hcmtlcl9mb3VuZCA9ICRtYXJrZXJfZm91bmQ7Ciskb2xkX3Vuc2FmZV9mb3Vu
ZCA9ICR1bnNhZmVfZm91bmQ7CiskZm91bmRfbGluZSA9ICcnOworJHVuc2FmZV9saW5lID0gJyc7
CisKK29wZW5kaXIobXkgJG1haWxkaXIsICRzZW5kbWFpbF9kaXIpIG9yIGRpZSAiVW5hYmxlIHRv
IG9wZW4gJHNlbmRtYWlsX2RpcjogJCEiOworZm9yIG15ICRmaWxlIChncmVwIHsgIS9eXC5cLj8k
LyB9IHJlYWRkaXIoJG1haWxkaXIpKSB7CisgIG15ICRmaCA9IElPOjpGaWxlLT5uZXcoIiRzZW5k
bWFpbF9kaXIvJGZpbGUiLCAncicpIG9yIG5leHQ7CisgIG15ICRsaW5lID0gPCRmaD47CisgIG5l
eHQgdW5sZXNzIGRlZmluZWQgJGxpbmUgYW5kICRsaW5lID1+ICRtYXJrZXJfcGF0dGVybjsKKyAg
JG1hcmtlcl9mb3VuZCsrOworICAkZm91bmRfbGluZSA9ICRsaW5lOworICBpZiAoICRsaW5lICF+
ICRzYWZlX3BhdHRlcm4gKSB7CisgICAgJHVuc2FmZV9mb3VuZCsrOworICAgICR1bnNhZmVfbGlu
ZSA9ICRsaW5lOworICB9Cit9CitjbG9zZWRpcigkbWFpbGRpcik7CisKK29rKCR1bnNhZmVfZm91
bmQgPT0gJG9sZF91bnNhZmVfZm91bmQsICR0ZXN0X25hbWUpCisgIG9yIGRpYWcoIlVzZXIgc3Vw
cGxpZWQgRnJvbSBhZGRyZXNzIGNvdWxkIGJlIHRyZWF0ZWQgYXMgYSBmbGFnIHRvIHNlbmRtYWls
OiAkdW5zYWZlX2xpbmUiKTsKKworaWYgKCRFTlZ7REVCVUd9Ly8wIGFuZCAkZm91bmRfbGluZSBh
bmQgJHVuc2FmZV9mb3VuZCA9PSAkb2xkX3Vuc2FmZV9mb3VuZCkgeworICBkaWFnKCJTZW5kbWFp
bCBpbnZvY2F0aW9uIHByb3RlY3RlZCB1c2luZyAtLTogJGZvdW5kX2xpbmUiKTsKK30KKworCisK
KyMgT25jZSBhIGJ1ZyByZXBvcnQgZXhpc3RzLCBjb250cm9sIGNvbW1hbmRzIHRyaWdnZXIgc2Ny
aXB0cy9wcm9jZXNzCisjIHRvIGNhbGwgTWFpbC5wbTpzZW5kX21haWxfbWVzc2FnZSgpIHdpdGgg
cmVjZWlwaWVudHMgc2V0LiBJbiB0dXJuLAorIyBzZW5kX21haWxfbWVzc2FnZSB1c2VzIHJlY2Vp
cGllbnRzIGluIHR3byBwbGFjZXM6IGFuIGluaXRpYWwgYmF0Y2hlZAorIyBhdHRlbXB0LCBhbmQg
KGlmIHRoYXQgZmFpbHMpIGEgcGVyLXJlY2lwaWVudCByZXRyeSBsb29wLgorCisKKyMgVGVzdCBi
YXRjaGVkIHNlbmRfbWFpbF9tZXNzYWdlLgorJHRlc3RfbmFtZSA9ICdCYXRjaGVkIHJlcGx5IHRv
IGEgY29udHJvbCBtZXNzYWdlJzsKK3NlbmRfbWVzc2FnZSh0byAgICAgID0+ICdjb250cm9sQGJ1
Z3Muc29tZXRoaW5nJywKKwkgICAgIGhlYWRlcnMgPT4gW1RvICAgICAgID0+ICdjb250cm9sQGJ1
Z3Muc29tZXRoaW5nJywKKwkJCSBGcm9tICAgICA9PiAkZnJvbV9lbWFpbCwKKwkJCSBTdWJqZWN0
ICA9PiAnTXVuZ2luZyBhIGJ1ZyBmb3IgaW5qZWN0aW9uIHRlc3QnLAorCQkJXSwKKwkgICAgIGJv
ZHkgICAgPT4gPDxFT0YsCitkZWJ1ZyAxMAordGFncyAxICsgc2VjdXJpdHkKK3RoYW5rcworRU9G
CisJICAgICk7CisKKyRvbGRfbWFya2VyX2ZvdW5kID0gJG1hcmtlcl9mb3VuZDsKKyRvbGRfdW5z
YWZlX2ZvdW5kID0gJHVuc2FmZV9mb3VuZDsKKyRmb3VuZF9saW5lID0gJyc7CisKK29wZW5kaXIo
JG1haWxkaXIsICRzZW5kbWFpbF9kaXIpIG9yIGRpZSAiVW5hYmxlIHRvIG9wZW4gJHNlbmRtYWls
X2RpcjogJCEiOworZm9yIG15ICRmaWxlIChncmVwIHsgIS9eXC5cLj8kLyB9IHJlYWRkaXIoJG1h
aWxkaXIpKSB7CisgIG15ICRmaCA9IElPOjpGaWxlLT5uZXcoIiRzZW5kbWFpbF9kaXIvJGZpbGUi
LCAncicpIG9yIG5leHQ7CisgIG15ICRsaW5lID0gPCRmaD47CisgIG5leHQgdW5sZXNzIGRlZmlu
ZWQgJGxpbmUgYW5kICRsaW5lID1+ICRtYXJrZXJfcGF0dGVybjsKKyAgJG1hcmtlcl9mb3VuZCsr
OworICAkZm91bmRfbGluZSA9ICRsaW5lOworICBpZiAoICRsaW5lICF+ICRzYWZlX3BhdHRlcm4g
KSB7CisgICAgJHVuc2FmZV9mb3VuZCsrOworICAgICR1bnNhZmVfbGluZSA9ICRsaW5lOworICB9
Cit9CitjbG9zZWRpcigkbWFpbGRpcik7CisKK29rKCR1bnNhZmVfZm91bmQgPT0gJG9sZF91bnNh
ZmVfZm91bmQsICR0ZXN0X25hbWUpCisgIG9yIGRpYWcoIlVzZXIgc3VwcGxpZWQgRnJvbSBhZGRy
ZXNzIGNvdWxkIGJlIHRyZWF0ZWQgYXMgYSBmbGFnIHRvIHNlbmRtYWlsOiAkdW5zYWZlX2xpbmUi
KTsKKworaWYgKCRFTlZ7REVCVUd9Ly8wIGFuZCAkZm91bmRfbGluZSBhbmQgJHVuc2FmZV9mb3Vu
ZCA9PSAkb2xkX3Vuc2FmZV9mb3VuZCkgeworICBkaWFnKCJTZW5kbWFpbCBpbnZvY2F0aW9uIHBy
b3RlY3RlZCB1c2luZyAtLTogJGZvdW5kX2xpbmUiKTsKK30KKworCisKKyMgRXhlcmNpc2UgdGhl
IHJldHJ5IGxvb3AgaW4gTWFpbC5wbTpzZW5kX21haWxfbWVzc2FnZSgpLgorJHRlc3RfbmFtZSA9
ICdSZXRyeSBpbmRpdmlkdWFsIGFkZHJlc3NlcyByZXBseWluZyB0byBhIGNvbnRyb2wgbWVzc2Fn
ZSc7CiskRU5We0RFQlVHX01BSUxfUkVUUllfTE9PUH0gPSAxOworCitzZW5kX21lc3NhZ2UodG8g
ICAgICA9PiAnY29udHJvbEBidWdzLnNvbWV0aGluZycsCisJICAgICBoZWFkZXJzID0+IFtUbyAg
ICAgICA9PiAnY29udHJvbEBidWdzLnNvbWV0aGluZycsCisJCQkgRnJvbSAgICAgPT4gJGZyb21f
ZW1haWwsCisJCQkgU3ViamVjdCAgPT4gJ011bmdpbmcgYSBidWcgZm9yIGluamVjdGlvbiB0ZXN0
JywKKwkJCV0sCisJICAgICBib2R5ICAgID0+IDw8RU9GLAorZGVidWcgMTAKK3RhZ3MgMSArIHdv
bnRmaXgKK3RoYW5rcworRU9GCisJICAgICk7CisKKyRvbGRfbWFya2VyX2ZvdW5kID0gJG1hcmtl
cl9mb3VuZDsKKyRvbGRfdW5zYWZlX2ZvdW5kID0gJHVuc2FmZV9mb3VuZDsKKyRmb3VuZF9saW5l
ID0gJyc7CisKK29wZW5kaXIoJG1haWxkaXIsICRzZW5kbWFpbF9kaXIpIG9yIGRpZSAiVW5hYmxl
IHRvIG9wZW4gJHNlbmRtYWlsX2RpcjogJCEiOworZm9yIG15ICRmaWxlIChncmVwIHsgIS9eXC5c
Lj8kLyB9IHJlYWRkaXIoJG1haWxkaXIpKSB7CisgIG15ICRmaCA9IElPOjpGaWxlLT5uZXcoIiRz
ZW5kbWFpbF9kaXIvJGZpbGUiLCAncicpIG9yIG5leHQ7CisgIG15ICRsaW5lID0gPCRmaD47Cisg
IG5leHQgdW5sZXNzIGRlZmluZWQgJGxpbmUgYW5kICRsaW5lID1+ICRtYXJrZXJfcGF0dGVybjsK
KyAgJG1hcmtlcl9mb3VuZCsrOworICAkZm91bmRfbGluZSA9ICRsaW5lOworICBpZiAoICRsaW5l
ICF+ICRzYWZlX3BhdHRlcm4gKSB7CisgICAgJHVuc2FmZV9mb3VuZCsrOworICAgICR1bnNhZmVf
bGluZSA9ICRsaW5lOworICB9Cit9CitjbG9zZWRpcigkbWFpbGRpcik7CisKK29rKCR1bnNhZmVf
Zm91bmQgPT0gJG9sZF91bnNhZmVfZm91bmQsICR0ZXN0X25hbWUpCisgIG9yIGRpYWcoIlVzZXIg
c3VwcGxpZWQgRnJvbSBhZGRyZXNzIGNvdWxkIGJlIHRyZWF0ZWQgYXMgYSBmbGFnIHRvIHNlbmRt
YWlsOiAkdW5zYWZlX2xpbmUiKTsKKworaWYgKCRFTlZ7REVCVUd9Ly8wIGFuZCAkZm91bmRfbGlu
ZSBhbmQgJHVuc2FmZV9mb3VuZCA9PSAkb2xkX3Vuc2FmZV9mb3VuZCkgeworICBkaWFnKCJTZW5k
bWFpbCBpbnZvY2F0aW9uIHByb3RlY3RlZCB1c2luZyAtLTogJGZvdW5kX2xpbmUiKTsKK30KLS0g
CjIuNTMuMAoK
--===============3401292034236269282==
Content-Type: application/mbox
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="0002-Prevent-recipient-address-injection.patch"
RnJvbSA5ZjA0MmRmOTFiNGE5ODdkY2I4OTlmMDczZDFhMWQ3MmEwZGQwMTZiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBCZW4gV29uZyA8YmVuQHdvbmdzLm5ldD4KRGF0ZTogU3VuLCA1
IEp1bCAyMDI2IDE2OjQ0OjM5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAyLzNdIFByZXZlbnQgYXJn
dW1lbnQgaW5qZWN0aW9uIGZyb20gcmVjaXBpZW50IGFkZHJlc3MKCkFsc28sIGFkZCBhIHdheSB0
byB0ZXN0IGJvdGggY2FsbHMgdG8gX3NlbmRfbWVzc2FnZSgpIHVzaW5nIHByb3ZlLgotLS0KIGxp
Yi9EZWJidWdzL01haWwucG0gfCAxMyArKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAg
aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvRGViYnVncy9N
YWlsLnBtIGIvbGliL0RlYmJ1Z3MvTWFpbC5wbQppbmRleCBlNGM4YmY3Li45MmY0OTU0IDEwMDY0
NAotLS0gYS9saWIvRGViYnVncy9NYWlsLnBtCisrKyBiL2xpYi9EZWJidWdzL01haWwucG0KQEAg
LTM2OCw5ICszNjgsMTAgQEAgc3ViIHNlbmRfbWFpbF9tZXNzYWdlewogCSAgX3NlbmRfbWVzc2Fn
ZSgkcGFyYW17bWVzc2FnZX0sCiAJCQlAc2VuZG1haWxfYXJndW1lbnRzLAogCQkJJHBhcmFte3Bh
cnNlX2Zvcl9yZWNpcGllbnRzfT9xKC10KTooKSwKKwkJCSctLScsCiAJCQlAcmVjaXBpZW50cyk7
CiAgICAgIH07Ci0gICAgIHJldHVybiAxIHVubGVzcyAkQDsKKyAgICAgcmV0dXJuIDEgdW5sZXNz
ICRAIG9yICRFTlZ7REVCVUdfTUFJTF9SRVRSWV9MT09QfTsKICAgICAgIyBJZiB0aGVyZSdzIG9u
bHkgb25lIHJlY2lwaWVudCwgdGhlcmUncyBub3RoaW5nIG1vcmUgd2UgY2FuIGRvLAogICAgICAj
IHNvIGJhaWwgb3V0LgogICAgICB3YXJuICRAIGFuZCByZXR1cm4gMCBpZiAkQCBhbmQgQHJlY2lw
aWVudHMgPT0gMDsKQEAgLTM3OSw5ICszODAsMTUgQEAgc3ViIHNlbmRfbWFpbF9tZXNzYWdlewog
ICAgICAjIGNhc2Ugb25lIG9mIHRoZSBAcmVjaXBpZW50cyBpcyBvaywgYnV0IHRoZSBhZGRyZXNz
ZXMgaW4gdGhlCiAgICAgICMgbWFpbCBtZXNzYWdlIGl0c2VsZiBhcmUgbWFsZm9ybWVkLgogICAg
ICBteSBAZXJyb3JzOwotICAgICBmb3IgbXkgJHJlY2lwaWVudCAoJHBhcmFte3BhcnNlX2Zvcl9y
ZWNpcGllbnRzfT9xKC10KTooKSxAcmVjaXBpZW50cykgeworICAgICBpZiAoJHBhcmFte3BhcnNl
X2Zvcl9yZWNpcGllbnRzfSkgewogCSAgZXZhbCB7Ci0JICAgICAgIF9zZW5kX21lc3NhZ2UoJHBh
cmFte21lc3NhZ2V9LEBzZW5kbWFpbF9hcmd1bWVudHMsJHJlY2lwaWVudCk7CisJICAgICAgIF9z
ZW5kX21lc3NhZ2UoJHBhcmFte21lc3NhZ2V9LEBzZW5kbWFpbF9hcmd1bWVudHMsJy10Jyk7CisJ
ICB9OworCSAgcHVzaCBAZXJyb3JzLCAiU2VuZGluZyB3aXRoIC10IGZhaWxlZCB3aXRoICRAIiBp
ZiAkQDsKKyAgICAgfQorICAgICBmb3IgbXkgJHJlY2lwaWVudCAoQHJlY2lwaWVudHMpIHsKKwkg
IGV2YWwgeworCSAgICAgICBfc2VuZF9tZXNzYWdlKCRwYXJhbXttZXNzYWdlfSxAc2VuZG1haWxf
YXJndW1lbnRzLCItLSIsJHJlY2lwaWVudCk7CiAJICB9OwogCSAgcHVzaCBAZXJyb3JzLCAiU2Vu
ZGluZyB0byAkcmVjaXBpZW50IGZhaWxlZCB3aXRoICRAIiBpZiAkQDsKICAgICAgfQotLSAKMi41
My4wCgo=
--===============3401292034236269282==
Content-Type: application/mbox
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="0003-Give-sane-names-to-temporary-directories.patch"
RnJvbSA5ZGMyY2E4NTNmMDVkMWM0NDI5MzA5MTY5N2E3YjY4NWYxMTRhYjMxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBCZW4gV29uZyA8YmVuQHdvbmdzLm5ldD4KRGF0ZTogU3VuLCA1
IEp1bCAyMDI2IDE2OjU3OjAxIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIEdpdmUgc2FuZSBu
YW1lcyB0byB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMKClByZXZpb3VzbHksIHJ1bm5pbmcgJ0RFQlVH
PTEgcHJvdmUgLWwgdCcgbGVmdCBkaXJlY3RvcmllcyBpbiAvdG1wIHdpdGgKY29tcGxldGVseSBy
YW5kb20gbmFtZXMgKCJBd3FHQmlKdyIsICIxVWdUeUFXMiIpIG1ha2luZyBpdCBoYXJkIHRvCmNs
ZWFuIHVwIG1hbnVhbGx5IG9yIGV2ZW4gaWRlbnRpZnkgd2hhdCBwcm9ncmFtIGNyZWF0ZWQgdGhl
bS4gTm93LAp0aGV5IGNhbiBhbGwgYmUgcmVtb3ZlZCB3aXRoIGBybSAtciAvdG1wL0RlYmJ1Z3NU
ZXN0XypgLgotLS0KIHQvbGliL0RlYmJ1Z3NUZXN0LnBtIHwgNiArKystLS0KIDEgZmlsZSBjaGFu
Z2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdC9saWIv
RGViYnVnc1Rlc3QucG0gYi90L2xpYi9EZWJidWdzVGVzdC5wbQppbmRleCA2NDgwMjY2Li41OWI2
MWU2IDEwMDY0NAotLS0gYS90L2xpYi9EZWJidWdzVGVzdC5wbQorKysgYi90L2xpYi9EZWJidWdz
VGVzdC5wbQpAQCAtNzUsOSArNzUsOSBAQCBzdWIgY3JlYXRlX2RlYmJ1Z3NfY29uZmlndXJhdGlv
biB7CiAJCQkJCSB9LAogCQkJICAgICAgKTsKICAgICAgJHBhcmFte2NsZWFudXB9ID0gJHBhcmFt
e2RlYnVnfT8wOjEgaWYgbm90IGV4aXN0cyAkcGFyYW17Y2xlYW51cH07Ci0gICAgIG15ICRzZW5k
bWFpbF9kaXIgPSB0ZW1wZGlyKENMRUFOVVAgPT4gJHBhcmFte2NsZWFudXB9KTsKLSAgICAgbXkg
JHNwb29sX2RpciA9IHRlbXBkaXIoQ0xFQU5VUCA9PiAkcGFyYW17Y2xlYW51cH0pOwotICAgICBt
eSAkY29uZmlnX2RpciA9IHRlbXBkaXIoQ0xFQU5VUCA9PiAkcGFyYW17Y2xlYW51cH0pOworICAg
ICBteSAkc2VuZG1haWxfZGlyID0gdGVtcGRpcigiRGViYnVnc1Rlc3Rfc2VuZG1haWxfWFhYWCIs
IENMRUFOVVAgPT4gJHBhcmFte2NsZWFudXB9LCBUTVBESVIgPT4gMSk7CisgICAgIG15ICRzcG9v
bF9kaXIgPSB0ZW1wZGlyKCJEZWJidWdzVGVzdF9zcG9vbF9YWFhYIiwgQ0xFQU5VUCA9PiAkcGFy
YW17Y2xlYW51cH0sIFRNUERJUiA9PiAxKTsKKyAgICAgbXkgJGNvbmZpZ19kaXIgPSB0ZW1wZGly
KCJEZWJidWdzVGVzdF9jb25maWdfWFhYWCIsIENMRUFOVVAgPT4gJHBhcmFte2NsZWFudXB9LCBU
TVBESVIgPT4gMSk7CiAKIAogICAgICAkRU5We0RFQkJVR1NfQ09ORklHX0ZJTEV9ICA9IiRjb25m
aWdfZGlyL2RlYmJ1Z3NfY29uZmlnIjsKLS0gCjIuNTMuMAoK
--===============3401292034236269282==--