]> git.sesse.net Git - vlc/commitdiff
Win32: Add an option to set the DEP and ASLR flags for all binaries.
authorGeoffroy Couprie <geal@videolan.org>
Thu, 17 Sep 2009 10:51:26 +0000 (12:51 +0200)
committerGeoffroy Couprie <geal@videolan.org>
Thu, 17 Sep 2009 10:57:57 +0000 (12:57 +0200)
This option will make it much harder to exploit vulnerabilities on Vista and Seven

Makefile.am
configure.ac

index 43186dd0a0032765ab4729ffc743112942baf65e..e85fd4a5c619cae0e4a96db6c0ae69113dc05313 100644 (file)
@@ -766,6 +766,13 @@ package-win32-base-debug: package-win-common
 # Contrib *.dll's
        cp $(srcdir)/extras/contrib/lib/*.dll "vlc-$(VERSION)/" || true
 
+#Enable DEP and ASLR for all the binaries
+if USE_PEFLAGS
+       find $(win32_destdir) -type f -name '*.dll' -print -o -name '*.exe' -print | while read i; do \
+       $(PEFLAGS) --dynamicbase=true --nxcompat=true "$$i" ; \
+       done
+endif
+
 # Copy the lua scripts (HTTP)
 if BUILD_LUA
        mkdir -p "$(win32_lua_destdir)/http/images"
index 64977087959352a8699b48a3d898985e36885939..87b9fa760c4fc04f34496283202fab5b57df794f 100644 (file)
@@ -355,6 +355,16 @@ case "${host_os}" in
         VLC_ADD_LIBS([cdda vcdx cddax sdl_image aout_sdl vout_sdl],[-lwinmm])
         VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap slp http stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi],[-lws2_32])
         VLC_ADD_LIBS([access_file], [-lshlwapi])
+        dnl
+        dnl DEP and ASLR options
+        dnl
+        AC_ARG_ENABLE(peflags,
+          [  --enable-peflags          peflags use (default enabled)])
+        if test "${enable_peflags}" != "no"
+        then
+          AC_CHECK_TOOL(PEFLAGS, peflags, :)
+        fi
+        AM_CONDITIONAL(USE_PEFLAGS, [test "${enable_peflags}" = "yes"])
     fi
     if test "${SYS}" = "mingwce"; then
         # add ws2 for closesocket, select, recv