Package: tellico Version: 2.3.5+dfsg.1-3 Severity: normal Tags: patch Dear Maintainer,
The LDFLAGS hardening flags are missing because they are
overwritten in debian/rules. The real source of this problem is
in variables.mk (a separate bug was already filed) but as the
patch additionally simplifies debian/rules I reported it here as
well.
DEB_*_MAINT_APPEND is the preferred way to set additional flags
(see man dpkg-buildflags for more information). For more
hardening information please have a look at [1], [2] and [3].
The following patch fixes the issue.
diff -Nru tellico-2.3.5+dfsg.1/debian/rules tellico-2.3.5+dfsg.1/debian/rules
--- tellico-2.3.5+dfsg.1/debian/rules 2011-12-20 01:08:43.000000000 +0100
+++ tellico-2.3.5+dfsg.1/debian/rules 2012-04-18 02:00:11.000000000 +0200
@@ -5,17 +5,13 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
-DEB_KDE_LINK_WITH_AS_NEEDED = yes
-
-include /usr/share/pkg-kde-tools/makefiles/1/variables.mk
+export DEB_LDFLAGS_MAINT_APPEND = -Wl,--no-undefined -Wl,--as-needed
%:
- dh $@ --buildsystem=cmake --builddirectory=build
+ dh $@ --with kde
override_dh_auto_configure:
- dh_auto_configure -- \
- $(DEB_CMAKE_KDE4_FLAGS) \
- $(DEB_CMAKE_CUSTOM_FLAGS) \
+ dh_auto_configure --buildsystem=kde -- \
-DENABLE_WEBCAM=false
override_dh_shlibdeps:
To check if all flags were correctly enabled you can use
`hardening-check` from the hardening-includes package and check
the build log (for example with blhc [4]) (hardening-check
doesn't catch everything):
$ hardening-check /usr/bin/tellico /usr/bin/librecad
/usr/bin/tellico:
Position Independent Executable: no, normal executable!
Stack protected: yes
Fortify Source functions: yes (some protected functions found)
Read-only relocations: yes
Immediate binding: no not found!
/usr/bin/librecad:
Position Independent Executable: no, normal executable!
Stack protected: yes
Fortify Source functions: yes (some protected functions found)
Read-only relocations: yes
Immediate binding: no not found!
(Position Independent Executable and Immediate binding is not
enabled by default.)
Use find -type f \( -executable -o -name \*.so\* \) -exec
hardening-check {} + on the build result to check all files.
Regards,
Simon
[1]: https://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags
[2]: https://wiki.debian.org/HardeningWalkthrough
[3]: https://wiki.debian.org/Hardening
[4]: http://ruderich.org/simon/blhc/
--
+ privacy is necessary
+ using gnupg http://gnupg.org
+ public key id: 0x92FEFDB7E44C32F9
signature.asc
Description: Digital signature

