Bug#635680: exim4: Fixed string appended when redefining MAIN_HARDCODE_PRIMARY_HOSTNAME
Andreas Metzler
ametzler at downhill.at.eu.org
Thu Jul 28 17:21:49 UTC 2011
On 2011-07-28 Cyril Bouthors <cyb at debian.org> wrote:
> Package: exim4
> I'm unable to dynamically redefine primary_hostname at runtime because the weird
> "OSTNAME" string is appended at the end:
> # exim -bP primary_hostname
> primary_hostname = mail.isvtec.com
> # exim -DMAIN_HARDCODE_PRIMARY_HOSTNAME=foo.com -bP primary_hostname
> primary_hostname = foo.comOSTNAME
> #
> It happens on any stand Debian/Exim configuration.
> If I replace MAIN_HARDCODE_PRIMARY_HOSTNAME by RANDOM_STRING in
> /var/lib/exim4/config.autogenerated (or exim.conf), it works as expected:
[...]
s/RANDOM_STRING/MUCH_SHORTER_STRING/
It looks like there is length limit on macro expansion in -D arguments:
-------------------------
ametzler at argenau:~$ cat /tmp/exim4conftest
.ifdef A123456789B123456789C123
primary_hostname = A123456789B123456789C123
.endif
ametzler at argenau:~$ /usr/sbin/exim -C /tmp/exim4conftest \
-DA123456789B123456789C123=foo.com -bP primary_hostname
primary_hostname = foo.com3
ametzler at argenau:~$ cat /tmp/exim4conftest
.ifdef A123456789B123456789C12
primary_hostname = A123456789B123456789C12
.endif
ametzler at argenau:~$ /usr/sbin/exim -C /tmp/exim4conftest \
-DA123456789B123456789C12=foo.com -bP primary_hostname
primary_hostname = foo.com
-------------------------
Setting the macro in a (.included) file works, however:
-------------------------
ametzler at argenau:~$ cat /tmp/exim4conftest
A123456789B123456789C123=blubb.com
.ifdef A123456789B123456789C123
primary_hostname = A123456789B123456789C123
.endif
ametzler at argenau:~$ /usr/sbin/exim -C /tmp/exim4conftest \
-bP primary_hostname
primary_hostname = blubb.com
-------------------------
Please note that the -D option is almost useless for anything but
debugging, see the entry fo 4.72-3 in
/usr/share/doc/exim4-daemon-*/NEWS.Debian.gz
cu andreas
More information about the Pkg-exim4-maintainers
mailing list