On 2012-05-18 Phil Pennock <pdp@???> wrote:
> I have uploaded Exim 4.80 RC1 to:
> ftp://ftp.exim.org/pub/exim/exim4/test/
> This release contains a number of backwards-incompatible changes, for
> both OpenSSL and GnuTLS, in the name of security (about the only reason
> we normally accept for being backwards incompatible). Please read over
> README.UPDATING carefully! We have jumped from 4.77 to 4.80 for this
> reason.
[...]
I get a strange error when building with -Werror=format-security:
---------------------
gcc -o em_main.o -c -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -Wall -fvisibility=hidden -I. -I../exim_monitor -I/usr/X11R6/include \
../exim_monitor/`echo em_main.o | sed 's/o$/c/'`
../exim_monitor/em_main.c: In function 'numlock_modifiers':
../exim_monitor/em_main.c:576:5: warning: 'XKeycodeToKeysym' is deprecated (declared at /usr/include/X11/Xlib.h:1695) [-Wdeprecated-declarations]
../exim_monitor/em_main.c: In function 'main':
../exim_monitor/em_main.c:659:3: error: format not a string literal and no format arguments [-Werror=format-security]
cc1: some warnings being treated as errors
make[2]: *** [em_main.o] Error 1
---------------------
which corresponds to
/* Do *not* use "%s" here, we need the %D datestamp in the log_file to
be expanded! */
(void)string_format(log_file_open, sizeof(log_file_open), CS log_file);
What's really strange is that em_main.c has not changed (except for
adding a comment), and 4.77 continues to builds with same flags and
compiler.
cu andreas