On Thu, Mar 15, 2012 at 11:54:29AM +0400, Konstantin Khomoutov wrote:
> Are you positive there really is an issue to fix?

Yes.

> To my knowledge, ejabberd contains no C++ code, and CPPFLAGS variable
> is supposed to be processed by C++ compilers; C compilers process
> the CFLAGS variable, and it appears to contain the correct hardening
> flags after we've fixed [1] (well, at least I saw them being passed to
> gcc during builds on my sandbox).

CPPFLAGS is for preprocessor flags (e.g. -Dsomething), CXXFLAGS
is for C++ flags. The default CFLAGS and CXXFLAGS from
dpkg-buildflags contain the same flags, but CPPFLAGS contains
-D_FORTIFY_SOURCE=2 which enables fortification [1].

`hardening-check` (package hardening includes) can be used to
detect missing flags (not perfect though, checking the build log
is better). Without the patch "Fortify Source functions" is
always no, with the patch it's enabled where possible.

Regards,
Simon

[1]: 
https://wiki.debian.org/Hardening#DEB_BUILD_HARDENING_FORTIFY_.28gcc.2BAC8-g.2B-.2B-_-D_FORTIFY_SOURCE.3D2.29
-- 
+ privacy is necessary
+ using gnupg http://gnupg.org
+ public key id: 0x92FEFDB7E44C32F9

Attachment: pgpws8wWrDnXJ.pgp
Description: PGP signature

Reply via email to