diff --git a/Docs/src/history.but b/Docs/src/history.but index 09159429..7c2fb70c 100644 --- a/Docs/src/history.but +++ b/Docs/src/history.but @@ -26,9 +26,11 @@ Released on ??? ??rd, 20?? \b Added IntOp and System::Int64Op >>> operator -\b Removed unused NSD_LB_Clear macro parameter +\b Plug-ins now set the ASLR, DEP, LAA and NOSEH PE flags (\W{http://sf.net/p/nsis/bugs/1188}{bug #1188}) -\b MakeNSIS now returns 0 for various information commands (\W{http://sf.net/p/nsis/bugs/1193}{bug #1193}) +\b MakeNSIS exits with code 0 for various information commands (\W{http://sf.net/p/nsis/bugs/1193}{bug #1193}) + +\b Removed unused NSD_LB_Clear macro parameter \S2{} Translations diff --git a/SCons/utils.py b/SCons/utils.py index 1a54b111..b0f250d4 100644 --- a/SCons/utils.py +++ b/SCons/utils.py @@ -131,4 +131,38 @@ def GetOptionOrEnv(name, defval = None): return os.environ[name] return defval -Export('AddAvailableLibs AddZLib FlagsConfigure GetAvailableLibs GetOptionOrEnv') +def EnablePESecurityFlagsHelper(filepath): + """ + Sets the [HE]ASLR, DEP and LAA flags in the PE header + """ + import struct + def ReadU16LE(f, fpos): + if not fpos is None: f.seek(fpos) + return struct.unpack("