Changeset View
Changeset View
Standalone View
Standalone View
contrib/devtools/test-security-check.py
Show First 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | def test_ELF(self): | ||||
(1, executable + ': failed PIE RELRO Canary')) | (1, executable + ': failed PIE RELRO Canary')) | ||||
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-znoexecstack', '-fstack-protector-all', '-Wl,-znorelro', '-no-pie', '-fno-PIE']), | self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-znoexecstack', '-fstack-protector-all', '-Wl,-znorelro', '-no-pie', '-fno-PIE']), | ||||
(1, executable + ': failed PIE RELRO')) | (1, executable + ': failed PIE RELRO')) | ||||
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-znoexecstack', '-fstack-protector-all', '-Wl,-znorelro', '-pie', '-fPIE']), | self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-znoexecstack', '-fstack-protector-all', '-Wl,-znorelro', '-pie', '-fPIE']), | ||||
(1, executable + ': failed RELRO')) | (1, executable + ': failed RELRO')) | ||||
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-znoexecstack', '-fstack-protector-all', '-Wl,-zrelro', '-Wl,-z,now', '-pie', '-fPIE']), | self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-znoexecstack', '-fstack-protector-all', '-Wl,-zrelro', '-Wl,-z,now', '-pie', '-fPIE']), | ||||
(0, '')) | (0, '')) | ||||
def test_32bit_PE(self): | |||||
source = 'test1.c' | |||||
executable = 'test1.exe' | |||||
cc = 'i686-w64-mingw32-gcc' | |||||
write_testcode(source) | |||||
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,--no-nxcompat', '-Wl,--no-dynamicbase']), | |||||
(1, executable + ': failed DYNAMIC_BASE NX')) | |||||
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,--nxcompat', '-Wl,--no-dynamicbase']), | |||||
(1, executable + ': failed DYNAMIC_BASE')) | |||||
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,--nxcompat', '-Wl,--dynamicbase']), | |||||
(0, '')) | |||||
def test_64bit_PE(self): | def test_64bit_PE(self): | ||||
source = 'test1.c' | source = 'test1.c' | ||||
executable = 'test1.exe' | executable = 'test1.exe' | ||||
cc = 'x86_64-w64-mingw32-gcc' | cc = 'x86_64-w64-mingw32-gcc' | ||||
write_testcode(source) | write_testcode(source) | ||||
self.assertEqual( | self.assertEqual( | ||||
call_security_check( | call_security_check( | ||||
Show All 26 Lines |