Plug-ins now set the ASLR, DEP, LAA and NOSEH flags (bug #1188)

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6942 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
anders_k 2017-10-25 23:11:56 +00:00
parent 8cbccd325b
commit 590bb32e43
3 changed files with 51 additions and 3 deletions

View file

@ -420,6 +420,16 @@ def Sign(targets):
a = defenv.Action('$CODESIGNER "%s"' % t.path)
defenv.AddPostAction(t, a)
Import('EnablePESecurityFlagsHelper')
def EnablePESecurityFlagsAction(target, source, env):
for t in target:
EnablePESecurityFlagsHelper(t.path)
def EnablePESecurityFlags(targets):
for t in targets:
a = defenv.Action(EnablePESecurityFlagsAction, cmdstr=('Setting PE flags on %s' % (t)))
defenv.AddPostAction(t, a)
def TestScript(scripts):
defenv.Install('$TESTDISTDIR/Tests', scripts)
@ -436,6 +446,7 @@ defenv.DistributeDoc = DistributeDoc
defenv.DistributeDocs = DistributeDocs
defenv.DistributeExamples = DistributeExamples
defenv.Sign = Sign
defenv.EnablePESecurityFlags = EnablePESecurityFlags
defenv.TestScript = TestScript
def DistributeExtras(env, target, examples, docs):
@ -675,6 +686,7 @@ def BuildPluginWorker(target, source, libs, examples = None, docs = None,
defenv.Alias(target, plugin)
defenv.Alias('plugins', plugin)
defenv.EnablePESecurityFlags(plugin)
defenv.Sign(plugin)
CleanMap(env, plugin, target)