[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: missing backslash escaping in AC_TRY_EVAL yields binary data in conf
From: |
Vincent Lefevre |
Subject: |
Re: missing backslash escaping in AC_TRY_EVAL yields binary data in config.log with dash |
Date: |
Tue, 2 Oct 2018 17:46:14 +0200 |
User-agent: |
Mutt/1.10.1+101 (b181996c) vl-108074 (2018-09-27) |
On 2018-10-02 09:31:33 -0400, Nick Bowler wrote:
> Drilling into the Autoconf source, we find that this is intentional:
>
> # The AC_TRY_EVAL and AC_TRY_COMMAND macros are dangerous and
> # undocumented, and should not be used.
> # They may be removed or their API changed in a future release.
> # Autoconf itself no longer uses these two macros; they are present
> # only for backward compatibility with previous versions of Autoconf.
> # Not every shell command will work due to problems with eval
> # and quoting, and the rules for exactly what does work are tricky.
> # Worse, due to double-expansion during evaluation, arbitrary unintended
> # shell commands could be executed in some situations.
>
> If libtool is still using this macro, and it is causing problems,
> then this does seem like a bug in libtool. The solution would seem
> to be for libtool to stop using AC_TRY_EVAL.
This is what I've seen too, but I fear that as long as it is not
removed from autoconf, this will never be done. IMHO, a replacement
should be proposed and these macros should be removed. Or these
macros should be fixed and documented.
In the mean time, I wrote a patch for libtool[*] to replace the
occurrence that was generating binary data.
[*] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=21309#19
--
Vincent Lefèvre <address@hidden> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)