exim.git
5 years agoExpansions: better error messages for parse errors, and better debug
Jeremy Harris [Wed, 13 Apr 2016 15:36:44 +0000 (16:36 +0100)]
Expansions: better error messages for parse errors, and better debug

5 years agotidying: char signedness
Jeremy Harris [Sun, 10 Apr 2016 19:45:46 +0000 (20:45 +0100)]
tidying: char signedness

5 years agoString-handling: rename string_cat() to string_catn() and intro a new string_cat()
Jeremy Harris [Sun, 10 Apr 2016 19:24:06 +0000 (20:24 +0100)]
String-handling: rename string_cat() to string_catn() and intro a new string_cat()
to handle the common-use case of needing strlen() as the length

5 years agoDKIM: use Exim native memoory management
Jeremy Harris [Sat, 9 Apr 2016 20:26:45 +0000 (21:26 +0100)]
DKIM: use Exim native memoory management

5 years agotidying: char signedness
Jeremy Harris [Sun, 10 Apr 2016 15:51:16 +0000 (16:51 +0100)]
tidying: char signedness

5 years agoDocs: fix URL
Jeremy Harris [Sun, 10 Apr 2016 12:00:08 +0000 (13:00 +0100)]
Docs: fix URL

5 years agoCleanup redundant definition of PATH_MAX
Jeremy Harris [Wed, 23 Mar 2016 21:50:20 +0000 (21:50 +0000)]
Cleanup redundant definition of PATH_MAX

5 years agoTidying: coverity issues
Jeremy Harris [Sat, 9 Apr 2016 14:46:12 +0000 (15:46 +0100)]
Tidying: coverity issues

5 years agoTestsuite: 0322 (pipelining errors) avoid triggering SIGPIPE
Jeremy Harris [Fri, 8 Apr 2016 18:37:13 +0000 (19:37 +0100)]
Testsuite: 0322 (pipelining errors) avoid triggering SIGPIPE

This was timing-dependent; if the exim closed the connection before
the script wrote to it _after_ triggerring an error, EPIPE/SIGPIPE.
Unexplained as yet: why runtest (perl) saw this as a 141 server
returncode (NB: 141-128 = 13 = SIGPIPE, the shell behaviour) when
"perldoc -v '$?'" (which runtest is coded to) says that a signum
should be in the top nibble of 16b.

5 years agoDoc: change in proxy variable names. Bug 1813
Andrew Colin Kissa [Fri, 8 Apr 2016 12:56:43 +0000 (14:56 +0200)]
Doc: change in proxy variable names. Bug 1813

5 years agoTestsuite: ignore environment-stripping debug output
Jeremy Harris [Thu, 7 Apr 2016 23:44:36 +0000 (00:44 +0100)]
Testsuite: ignore environment-stripping debug output
since different systems run different environments

5 years agoTestsuite: account for b25c9675b31b (-bV errors)
Jeremy Harris [Thu, 7 Apr 2016 22:30:45 +0000 (23:30 +0100)]
Testsuite: account for b25c9675b31b (-bV errors)

5 years agoDANE: fix build under GnuTLS to properly fail. Bug 1812
Andrew Colin Kissa [Thu, 7 Apr 2016 14:35:03 +0000 (15:35 +0100)]
DANE: fix build under GnuTLS to properly fail.  Bug 1812

5 years agoInit the resolver even in -be mode.
Heiko Schlittermann (HS12-RIPE) [Thu, 24 Mar 2016 15:01:15 +0000 (16:01 +0100)]
Init the resolver even in -be mode.

This gives us consistent behaviour if we use the resolver in -be and in
-bh, and probably other modes. (Perl uses the resolver library linked
into Exim and Perl's Socket6::getaddrinfo() returned different results
in -be and -bh mode.)

5 years agoAdd perl_taintmode option
Heiko Schlittermann (HS12-RIPE) [Mon, 1 Feb 2016 12:13:27 +0000 (13:13 +0100)]
Add perl_taintmode option

5 years agoSuppress tls_advertise_hosts warning during 'make install'
Heiko Schlittermann (HS12-RIPE) [Thu, 7 Apr 2016 07:24:01 +0000 (09:24 +0200)]
Suppress tls_advertise_hosts warning during 'make install'

5 years agoLog: -bV should send all output to stderr/stdout
Heiko Schlittermann (HS12-RIPE) [Thu, 7 Apr 2016 07:05:06 +0000 (09:05 +0200)]
Log: -bV should send all output to stderr/stdout

5 years agoDemime: cleanup after WITH_OLD_DEMIME removal
Jeremy Harris [Thu, 7 Apr 2016 00:09:05 +0000 (01:09 +0100)]
Demime: cleanup after WITH_OLD_DEMIME removal

5 years agoACL: remove obsolete demime condition
Jeremy Harris [Fri, 18 Dec 2015 16:05:37 +0000 (16:05 +0000)]
ACL: remove obsolete demime condition

5 years agonicer retry message
Jeremy Harris [Wed, 9 Mar 2016 14:03:58 +0000 (14:03 +0000)]
nicer retry message

5 years agoTLS: Fix ECDH use under LibreSSL. Bug 1806
Renaud Allard [Mon, 7 Mar 2016 19:04:34 +0000 (19:04 +0000)]
TLS: Fix ECDH use under LibreSSL.  Bug 1806

5 years agoAvoid RE compile unneeded unless LOOKUP_MODULE_DIR defined
Jeremy Harris [Sun, 7 Feb 2016 12:10:14 +0000 (12:10 +0000)]
Avoid RE compile unneeded unless LOOKUP_MODULE_DIR defined

5 years agoPass on SIZE to cutthrough connection
Jeremy Harris [Tue, 2 Feb 2016 21:49:02 +0000 (21:49 +0000)]
Pass on SIZE to cutthrough connection

5 years agoDocs: Clean for next release
Jeremy Harris [Wed, 6 Apr 2016 19:28:03 +0000 (20:28 +0100)]
Docs: Clean for next release

5 years agoFix build on systems where size_t is (non-long) uint exim-4_87
Jeremy Harris [Sat, 2 Apr 2016 19:22:00 +0000 (20:22 +0100)]
Fix build on systems where size_t is (non-long) uint

The exemplar was Ubuntu 14.04 LTS 32-bit - but probably many
32-bit systems would be affected

5 years agocontstification
Jeremy Harris [Sat, 2 Apr 2016 17:02:54 +0000 (18:02 +0100)]
contstification

5 years ago Copyright year updates (things touched in 2016)
Jeremy Harris [Sat, 2 Apr 2016 14:53:53 +0000 (15:53 +0100)]
Copyright year updates (things touched in 2016)

    Update current year in docs and banner copyright in src/src/globals.c

    Rest of changes from:

        vi $(git whatchanged --since=2016-01-01 | grep '^:100' | sed -n 's/^[^M]*M//p' | sort -u | fgrep -v test/)

5 years agoConstify use of string_nextinlist()
Heiko Schlittermann (HS12-RIPE) [Fri, 1 Apr 2016 17:00:55 +0000 (19:00 +0200)]
Constify use of string_nextinlist()

5 years agoTestsuite: move perl-dependent testcases exim-4_87_RC7
Jeremy Harris [Thu, 31 Mar 2016 20:33:28 +0000 (21:33 +0100)]
Testsuite: move perl-dependent testcases

5 years agoSupress TLS/Env warnings in checking and listing mode
Heiko Schlittermann (HS12-RIPE) [Sat, 26 Mar 2016 00:13:29 +0000 (01:13 +0100)]
Supress TLS/Env warnings in checking and listing mode

5 years agoTypo fix.
Andreas Metzler [Tue, 29 Mar 2016 16:57:55 +0000 (18:57 +0200)]
Typo fix.

messsage -> message
receved -> received

Found/reported by Vincent Lefevre in <https://bugs.debian.org/819482>.

5 years agoProvide getcwd(NULL, 0) for Solaris (SunOS5)
Heiko Schlittermann (HS12-RIPE) [Wed, 23 Mar 2016 21:53:27 +0000 (22:53 +0100)]
Provide getcwd(NULL, 0) for Solaris (SunOS5)

5 years agoDoc: Improve clarity on -be
Heiko Schlittermann (HS12-RIPE) [Thu, 24 Mar 2016 09:28:46 +0000 (10:28 +0100)]
Doc: Improve clarity on -be

5 years agoAdd os_unsetenv()
Heiko Schlittermann (HS12-RIPE) [Wed, 23 Mar 2016 20:19:56 +0000 (21:19 +0100)]
Add os_unsetenv()

BSDI: void unsetenv(const char*)
Other: int unsetenv(const char*)

5 years agoConstify spf
Heiko Schlittermann (HS12-RIPE) [Thu, 17 Mar 2016 10:06:38 +0000 (11:06 +0100)]
Constify spf

5 years agotidying: coverity issues
Jeremy Harris [Wed, 16 Mar 2016 15:30:57 +0000 (15:30 +0000)]
tidying: coverity issues

5 years agotidying: coverity issues
Jeremy Harris [Tue, 15 Mar 2016 19:39:07 +0000 (19:39 +0000)]
tidying: coverity issues

5 years agoUtilites: fix exim_lock
Jeremy Harris [Tue, 15 Mar 2016 19:16:14 +0000 (19:16 +0000)]
Utilites: fix exim_lock

Unaccountable fails to lock, seen in testsuite
Fix appeared when tidying a Coverity "unchecked returncode" fault

5 years agoFix build for Solaris: "all" must be the first make target.
Jeremy Harris [Mon, 14 Mar 2016 12:13:43 +0000 (12:13 +0000)]
Fix build for Solaris: "all" must be the first make target.
Broken-by: dfe7d917154a Bug 1578
5 years agoDocs: cuttthrough logging
Jeremy Harris [Mon, 14 Mar 2016 12:13:33 +0000 (12:13 +0000)]
Docs: cuttthrough logging

5 years agoDoc: Minor clarifications about the environment
Heiko Schlittermann (HS12-RIPE) [Sat, 12 Mar 2016 21:41:19 +0000 (22:41 +0100)]
Doc: Minor clarifications about the environment

5 years agotidying: coverity issues
Jeremy Harris [Sat, 12 Mar 2016 21:01:26 +0000 (21:01 +0000)]
tidying: coverity issues

5 years agoTestsuite: fix output for 615, missing spool dir
Heiko Schlittermann (HS12-RIPE) [Fri, 11 Mar 2016 23:44:41 +0000 (00:44 +0100)]
Testsuite: fix output for 615, missing spool dir

5 years agoDon't issue env warning if env is empty
Heiko Schlittermann (HS12-RIPE) [Fri, 11 Mar 2016 22:44:53 +0000 (23:44 +0100)]
Don't issue env warning if env is empty

keep_environment needs to be mentioned in the runtime config.
Setting add_environment isn't enough to suppress the warning.

5 years agoHonour the -n for -bP config
Heiko Schlittermann (HS12-RIPE) [Thu, 10 Mar 2016 22:48:48 +0000 (23:48 +0100)]
Honour the -n for -bP config

5 years agoFix typos.
Heiko Schlittermann (HS12-RIPE) [Thu, 10 Mar 2016 15:49:43 +0000 (16:49 +0100)]
Fix typos.

Thanks to Sander Bos for pointing out.

5 years agoDoc: clarify -n
Heiko Schlittermann (HS12-RIPE) [Thu, 10 Mar 2016 15:48:01 +0000 (16:48 +0100)]
Doc: clarify -n

5 years agoExtend configure.sample and the relevant spec part
Heiko Schlittermann (HS12-RIPE) [Wed, 9 Mar 2016 20:41:34 +0000 (21:41 +0100)]
Extend configure.sample and the relevant spec part

5 years agoString expansions: fix ${extract }, for the numeric/3-string case. Bug 1807
Jeremy Harris [Wed, 9 Mar 2016 17:40:48 +0000 (17:40 +0000)]
String expansions: fix ${extract }, for the numeric/3-string case.  Bug 1807

Broken-by: 82dbd37
In "skipping" mode when parsing an expansion we want to avoid expanding
the arguments, as the data for expansion is not necessarily valid.  This
bit us previously for an extract within an "if inlist". But the number of
args for ${extract } depends on the expanded value of the first arg.

Retreat from strict parsing and just line up the outer braces,
accepting any number of args while skipping.  The separate
non-skipping execution will do the proper checking.

5 years agoTest the return of getcwd()
Heiko Schlittermann (HS12-RIPE) [Wed, 9 Mar 2016 10:51:31 +0000 (11:51 +0100)]
Test the return of getcwd()

5 years agoStore the initial working directory, expand $initial_cwd. Bug 1805
Heiko Schlittermann (HS12-RIPE) [Wed, 9 Mar 2016 10:13:42 +0000 (11:13 +0100)]
Store the initial working directory, expand $initial_cwd. Bug 1805

5 years agoRemove trailing \n from {keep,add}_environment config warning
Heiko Schlittermann (HS12-RIPE) [Mon, 7 Mar 2016 08:44:15 +0000 (09:44 +0100)]
Remove trailing \n from {keep,add}_environment config warning

5 years agoFix build for HP-UX and older Solaris: (un)setenv. Bug 1578
Jeremy Harris [Tue, 8 Mar 2016 23:57:37 +0000 (23:57 +0000)]
Fix build for HP-UX and older Solaris: (un)setenv.  Bug 1578

Broken-by: bc3c7bb7d4ab
5 years agotidying: coverity issues exim-4_87_RC6
Jeremy Harris [Mon, 7 Mar 2016 18:46:41 +0000 (18:46 +0000)]
tidying: coverity issues

5 years agoDocs: typo
Jeremy Harris [Mon, 7 Mar 2016 10:14:20 +0000 (10:14 +0000)]
Docs: typo

5 years agotidying: coverity issues
Jeremy Harris [Sun, 6 Mar 2016 23:47:26 +0000 (23:47 +0000)]
tidying: coverity issues

5 years agotidying: coverity issues
Jeremy Harris [Sun, 6 Mar 2016 19:30:17 +0000 (19:30 +0000)]
tidying: coverity issues

5 years agoCoverity: attempt to quieten null-deref whines about stringhandling
Jeremy Harris [Sat, 5 Mar 2016 18:39:14 +0000 (18:39 +0000)]
Coverity: attempt to quieten null-deref whines about stringhandling

5 years agotidying: coverity issues
Jeremy Harris [Sat, 5 Mar 2016 16:04:57 +0000 (16:04 +0000)]
tidying: coverity issues

5 years agotypoes
Andreas Metzler [Sat, 5 Mar 2016 14:58:21 +0000 (14:58 +0000)]
typoes

5 years agotidying: coverity issues
Jeremy Harris [Fri, 4 Mar 2016 11:58:27 +0000 (11:58 +0000)]
tidying: coverity issues

5 years agotidying: coverity issues
Jeremy Harris [Thu, 3 Mar 2016 22:55:34 +0000 (22:55 +0000)]
tidying: coverity issues

5 years agotidying
Jeremy Harris [Thu, 3 Mar 2016 18:21:41 +0000 (18:21 +0000)]
tidying

5 years agoCutthrough: Reflect 5xx recipient reject from target to originator
Jeremy Harris [Tue, 1 Mar 2016 20:58:00 +0000 (20:58 +0000)]
Cutthrough: Reflect 5xx recipient reject from target to originator

When connection not opened by verify and target hard-rejects a RCPT,
the reject was not being passed to the originating system (just the
cutthrough connection was being dropped).  Fix this.

5 years agoTestsuite: testcases for rejected rcpt-callout-triggered cutthrough
Jeremy Harris [Tue, 1 Mar 2016 19:23:14 +0000 (19:23 +0000)]
Testsuite: testcases for rejected rcpt-callout-triggered cutthrough

5 years agoCutthrough: fix operation under -bhc to not actually deliver. Bug 1800
Jeremy Harris [Wed, 24 Feb 2016 18:19:04 +0000 (18:19 +0000)]
Cutthrough: fix operation under -bhc to not actually deliver.  Bug 1800

5 years agoSolaris /bin/sh does not understand 'export LC_ALL=C'
Heiko Schlittermann (HS12-RIPE) [Thu, 3 Mar 2016 13:16:39 +0000 (14:16 +0100)]
Solaris /bin/sh does not understand 'export LC_ALL=C'

5 years agoDelay chdir(/) until we opened the main config
Heiko Schlittermann (HS12-RIPE) [Wed, 2 Mar 2016 21:07:45 +0000 (22:07 +0100)]
Delay chdir(/) until we opened the main config

5 years agoTidying: Issues detected by gcc --fsanitize=undefined
Jeremy Harris [Fri, 26 Feb 2016 16:14:04 +0000 (16:14 +0000)]
Tidying: Issues detected by gcc --fsanitize=undefined

5 years agoMerge branch 'master'
Heiko Schlittermann (HS12-RIPE) [Wed, 2 Mar 2016 18:53:07 +0000 (19:53 +0100)]
Merge branch 'master'

5 years agoUse right type casts in string_compare_by_pointer exim-4_87_RC5
Heiko Schlittermann (HS12-RIPE) [Wed, 2 Mar 2016 16:25:01 +0000 (17:25 +0100)]
Use right type casts in string_compare_by_pointer

5 years agoRemove confusing #ifndef environ
Heiko Schlittermann (HS12-RIPE) [Wed, 2 Mar 2016 07:12:49 +0000 (08:12 +0100)]
Remove confusing #ifndef environ

5 years agoTestsuite: Adapt to portability fix in environment.c
Heiko Schlittermann (HS12-RIPE) [Wed, 2 Mar 2016 07:12:16 +0000 (08:12 +0100)]
Testsuite: Adapt to portability fix in environment.c

5 years agoMake qsort() in readconf.c more portable
Heiko Schlittermann (HS12-RIPE) [Tue, 1 Mar 2016 23:14:28 +0000 (00:14 +0100)]
Make qsort() in readconf.c more portable

5 years agoMake environment.c more portable
Heiko Schlittermann (HS12-RIPE) [Tue, 1 Mar 2016 20:11:42 +0000 (21:11 +0100)]
Make environment.c more portable

5 years agoRelease: fix release script
Heiko Schlittermann (HS12-RIPE) [Wed, 24 Feb 2016 22:59:26 +0000 (23:59 +0100)]
Release: fix release script

- accept minor version number
- allow to skip the build-of-documentation step
- allow release of "any" version from anywhere
- avoid calling "old" reversion scripts, create version.sh

5 years agoRemoved doc references to relay-test.mail-abuse.org
Nigel Metheringham [Wed, 24 Feb 2016 16:44:59 +0000 (16:44 +0000)]
Removed doc references to relay-test.mail-abuse.org

As per github ticket #37 - https://github.com/Exim/exim/issues/37

relay-test.mail-abuse.org is no longer available so references to it have been removed from the documentation.

5 years agoFix CVE-2016-1531 exim-4_87_RC4
Heiko Schlittermann (HS12-RIPE) [Thu, 28 Jan 2016 21:20:33 +0000 (22:20 +0100)]
Fix CVE-2016-1531

Add keep_environment, add_environment.
Change the working directory to "/" during the early startup
phase.

(cherry picked from commit 2b92b67bfc33efe05e6ff2ea3852731ac2273832)
(cherry picked from commit 14b82c8b736c8ed24eda144f57703cb9feac6323)
(cherry picked from commit 9ca92d0c6e9c6f161bd8111366c6952d3a9315e2)
(cherry picked from commit 0020c6d9ecfd98ed7b2b337ed4f898fdc409784b)
(cherry picked from commit e8f96966360ea8867ad6a8b5affda6c37fa4958c)
(cherry picked from commit ef6fb807c1e1a665f444f644c60c77269f7c5209)

5 years agoDocs: clarify unit of S= log line element
Jeremy Harris [Thu, 18 Feb 2016 14:20:43 +0000 (14:20 +0000)]
Docs: clarify unit of S= log line element

5 years agoCompiler quietening
Jeremy Harris [Mon, 15 Feb 2016 18:03:04 +0000 (18:03 +0000)]
Compiler quietening

5 years agoMalware: fix error logged on a scanner connect fail. Bug 1796
Jeremy Harris [Sun, 14 Feb 2016 23:04:08 +0000 (23:04 +0000)]
Malware: fix error logged on a scanner connect fail.  Bug 1796

5 years agoTLS: support build with OpenSSL 1.1.0 Bug 1771
Jeremy Harris [Mon, 8 Feb 2016 22:43:54 +0000 (22:43 +0000)]
TLS: support build with OpenSSL 1.1.0   Bug 1771

5 years agoDoc: correct minor typo
Heiko Schlittermann (HS12-RIPE) [Wed, 10 Feb 2016 09:48:13 +0000 (10:48 +0100)]
Doc: correct minor typo

5 years agoDKIM: fix selection of header for signing/verification given several. Bug 1792
Jeremy Harris [Tue, 9 Feb 2016 23:27:59 +0000 (23:27 +0000)]
DKIM: fix selection of header for signing/verification given several.  Bug 1792

5 years agoDKIM: support oversigning. Bugs 1309, 1310
Jeremy Harris [Sun, 7 Feb 2016 21:14:37 +0000 (21:14 +0000)]
DKIM: support oversigning.  Bugs 1309, 1310

5 years agoTestsuite: Support running exim under valgrind
Jeremy Harris [Sun, 7 Feb 2016 12:12:19 +0000 (12:12 +0000)]
Testsuite: Support running exim under valgrind

Fails mostly thanks to lack of suid handling, but -be tests usable
if you retry after de-suid of eximdir/exim

5 years agoRemove empty lines from .mailmap, fix root
Heiko Schlittermann (HS12-RIPE) [Mon, 8 Feb 2016 22:59:40 +0000 (23:59 +0100)]
Remove empty lines from .mailmap, fix root

5 years agoAdd .mailmap for git
Heiko Schlittermann (HS12-RIPE) [Mon, 8 Feb 2016 22:57:35 +0000 (23:57 +0100)]
Add .mailmap for git

5 years agoTestsuite: avoid retry db issue after deliberate fail subtests
Jeremy Harris [Sat, 6 Feb 2016 20:25:06 +0000 (20:25 +0000)]
Testsuite: avoid retry db issue after deliberate fail subtests

5 years agoTestsuite: avoid assuming 127.0.0.2 is a viable sending address
Jeremy Harris [Sat, 6 Feb 2016 19:58:36 +0000 (19:58 +0000)]
Testsuite: avoid assuming 127.0.0.2 is a viable sending address

5 years agoTestsuite: allow for different data arrival in SMTP synch check
Jeremy Harris [Sat, 6 Feb 2016 19:20:06 +0000 (19:20 +0000)]
Testsuite: allow for different data arrival in SMTP synch check

5 years agoTestsuite: log some stderr output on bad exit-code in --CONTINUE mode
Jeremy Harris [Sat, 6 Feb 2016 16:24:37 +0000 (16:24 +0000)]
Testsuite: log some stderr output on bad exit-code in --CONTINUE mode

5 years agoSRS: fix crash in queryprogram router when compiled with EXPERIMENTAL_SRS
Jeremy Harris [Sat, 6 Feb 2016 16:22:00 +0000 (16:22 +0000)]
SRS: fix crash in queryprogram router when compiled with EXPERIMENTAL_SRS

5 years agoTLS: Whine to log on client config of SNI under too-old OpenSSL version
Jeremy Harris [Fri, 5 Feb 2016 18:47:45 +0000 (18:47 +0000)]
TLS: Whine to log on client config of SNI under too-old OpenSSL version

5 years agoTestsuite: enforce different exim/testuser group numbers
Jeremy Harris [Fri, 5 Feb 2016 18:16:30 +0000 (18:16 +0000)]
Testsuite: enforce different exim/testuser group numbers

5 years agoTestsuite: sort logs in cases where we do parallel deliveries
Jeremy Harris [Fri, 5 Feb 2016 17:37:43 +0000 (17:37 +0000)]
Testsuite: sort logs in cases where we do parallel deliveries

5 years agoFix EXPERIMENTAL_DMARC build
Jeremy Harris [Fri, 5 Feb 2016 16:58:22 +0000 (16:58 +0000)]
Fix EXPERIMENTAL_DMARC build

Broken-by: df3def24
5 years agoTestsuite: nuke retry db after deliberate-fail subtests in ocsp testcase
Jeremy Harris [Fri, 5 Feb 2016 15:55:04 +0000 (15:55 +0000)]
Testsuite: nuke retry db after deliberate-fail subtests in ocsp testcase

5 years agoAdd backward compatibility for EXIM_TMPDIR
Heiko Schlittermann (HS12-RIPE) [Thu, 4 Feb 2016 09:00:50 +0000 (10:00 +0100)]
Add backward compatibility for EXIM_TMPDIR

5 years agoRename build-time option TMPDIR to EXIM_TMPDIR
Alexander Tsoy [Tue, 2 Feb 2016 17:56:15 +0000 (20:56 +0300)]
Rename build-time option TMPDIR to EXIM_TMPDIR

Build-time option TMPDIR included in Makefile clashes with environment
variable of the same name. This breaks tools that make use of that
variable, such as distcc.

The following example demonstrates what's going on:

$ cat Makefile
TMPDIR="/tmp"
all:
env
$ export TMPDIR=test
$ make | grep ^TMPDIR
TMPDIR="/tmp"

distcc error (note the extra quotes):
ERROR: can't use TMPDIR ""/tmp"": No such file or directory