diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2012-07-21 11:40:56 -0400 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2012-07-21 11:40:56 -0400 |
commit | 5090e3d0581d824640b86c7001b97837e22f7aea (patch) | |
tree | ad961e0e7c9b1420e6013326471cb69f09fc9b90 | |
parent | scripts/paxmodule.c: fix FLAGS_SIZE (diff) | |
download | elfix-5090e3d0581d824640b86c7001b97837e22f7aea.tar.gz elfix-5090e3d0581d824640b86c7001b97837e22f7aea.tar.bz2 elfix-5090e3d0581d824640b86c7001b97837e22f7aea.zip |
scripts/pypaxctl: frontend to pypax module
-rw-r--r-- | scripts/Makefile.am | 2 | ||||
-rwxr-xr-x | scripts/pypaxctl | 48 |
2 files changed, 49 insertions, 1 deletions
diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 5cbc314..c4eef37 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -1,2 +1,2 @@ dist_sbin_SCRIPTS = revdep-pax -EXTRA_DIST = paxmodule.c setup.py +EXTRA_DIST = paxmodule.c setup.py pypaxctl diff --git a/scripts/pypaxctl b/scripts/pypaxctl new file mode 100755 index 0000000..266a571 --- /dev/null +++ b/scripts/pypaxctl @@ -0,0 +1,48 @@ +#!/usr/bin/env python + +import sys +import getopt +import pax + +def main(): + try: + opts, args = getopt.getopt(sys.argv[1:], 's:g') + except getopt.GetoptError as err: + print(err) + sys.exit(1) + + if len(opts) == 0: + print('Provide either -s <flags> <elf> xor -g <elf>') + sys.exit(1) + + binary = None + + do_set = 0 + do_get = 0 + + for o, a in opts: + if o == '-s': + #pax.setflags(a, flags) + flags = a + do_set = 1 + elif o == '-g': + #( str_flags, bin_flags ) = pax.getflags(a) + do_get = 1 + + if( (do_set + do_get) != 1 ): + print('Provide either -s <flags> <elf> xor -g <elf>') + sys.exit(1) + + if( len(args) < 1 ): + print('Provide either -s <flags> <elf> xor -g <elf>') + sys.exit(1) + + if( do_set == 1 ): + for binary in args: + print('set %s on %s' % (flags,binary)) + else: + for binary in args: + print('get on %s' % binary) + +if __name__ == '__main__': + main() |