commit: c206aab32dce7db944996628f160a3dcbaeb6c6f
Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 30 19:40:36 2014 +0000
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Jul 30 19:40:36 2014 +0000
URL:
http://sources.gentoo.org/gitweb/?p=proj/elfix.git;a=commit;h=c206aab3
Split misc/ into misc/ for production and poc/ for experimental stuff.
---
README | 32 ++++++++++++++++++++++++
{misc => pocs}/change-interp/.gitignore | 0
{misc => pocs}/change-interp/Makefile | 0
{misc => pocs}/change-interp/change-interp.c | 0
{misc => pocs/eclass}/pax-utils.eclass | 8 +++---
{misc => pocs}/elf-manipulate/.gitignore | 0
{misc => pocs}/elf-manipulate/Makefile | 0
{misc => pocs}/elf-manipulate/clear-dt-path.c | 0
{misc => pocs}/elf-manipulate/parse-elf.c | 0
{misc => pocs}/elf-manipulate/print-sections.c | 0
{misc => pocs}/elf-manipulate/remove-ptpax.c | 0
{misc => pocs}/ldd/ldd.py | 0
{misc => pocs}/link-maps/link_map.py | 0
{misc => pocs}/link-maps/link_map_test | 0
{misc => pocs}/mangle-paxflags/.gitignore | 0
{misc => pocs}/mangle-paxflags/Makefile | 0
{misc => pocs}/mangle-paxflags/bad-mmap.c | 0
{misc => pocs}/mangle-paxflags/mangle-paxflags.c | 0
{misc => pocs}/mangle-paxflags/poc.sh | 0
{misc => pocs}/paxmark-libs/Makefile.am | 0
{misc => pocs}/paxmark-libs/autogen.sh | 0
{misc => pocs}/paxmark-libs/configure.ac | 0
{misc => pocs}/paxmark-libs/libmypax.c | 0
{misc => pocs}/paxmark-libs/testdlpax.c | 0
{misc => pocs}/paxmark-libs/testpax.c | 0
{misc => pocs/revdep-pax-ng}/revdep-pax-ng | 0
26 files changed, 36 insertions(+), 4 deletions(-)
diff --git a/README b/README
index 354a4c7..21ec330 100644
--- a/README
+++ b/README
@@ -1,3 +1,35 @@
Utilities to modify Elf binaries to work with PaX hardened kernel.
+There are several utilities in here, to help you navigate:
+
+Directories src/ scripts/ doc/ test/ are integral parts of the elfix package.
+These are distributed as one source tarball with `make dist` run in the top
+diretory.
+ * paxctl-ng - C utility for doing XT_PAX and/or PT_PAX markings.
+ * pypaxctl - python utility for doing XT_PAX and/or PT_PAX markings.
Depends on pax.so.
+ * migrate-pax - python utility for migrating from XT_PAX flags to PT_PAX.
Depends on pax.so.
+ * revdep-pax - python utility for mapping ELF libraries to/from the ELF
objects that link
+ against them and migrating PAX flags between them. Depends on pax.so.
+ * paxmark.sh - Bash script that does intelligent pax-marking like the
pax-utils.eclass.
+ * paxmodule.c - C code for python module pax.so
+
+Directories under misc/ are independant packages from one another and from the
+elfix package. They are NOT distributed with elfix when running `make dist` in
+the top directory. Each directory supplies its own build system.
+ * install-xattr - C wrapper to coreutils' install which preserves file
system extended attributes.
+
+Directory pocs/ - Very experimental stuff.
+ * change-interp - C utility to the dynamic linker, INTERP as reported by
`readelf -l`.
+ * eclass - a local copy of the pax-utils.eclass
+ * elf-manipulate - some dirty utilities to
+ * clear-dt-path.c - remove RPATH and RUNPATH
+ * parse-elf.c - print out the ELF header, sections headers and program
headers.
+ * print-sections.c - print out the contents of the section headers
+ * remove-ptpax.c - change a PT_PAX_FLAGS phdr to PT_NULL
+ * ldd - python script to reproduce ldd's output using pyelftools
+ * link-maps - use VDB information to produce a full linkage map of the
system
+ * mangle-paxflags - printout old EI_PAX flags and PT_PAX flags
+ * paxmark-libs - test how PAX flags migrate from libraries and plugins to
their consumers
+ * revdep-pax-ng - same as revdep-pax but using information obtained from
`ldd` and
+ not VDB information.
diff --git a/misc/change-interp/.gitignore b/pocs/change-interp/.gitignore
similarity index 100%
rename from misc/change-interp/.gitignore
rename to pocs/change-interp/.gitignore
diff --git a/misc/change-interp/Makefile b/pocs/change-interp/Makefile
similarity index 100%
rename from misc/change-interp/Makefile
rename to pocs/change-interp/Makefile
diff --git a/misc/change-interp/change-interp.c
b/pocs/change-interp/change-interp.c
similarity index 100%
rename from misc/change-interp/change-interp.c
rename to pocs/change-interp/change-interp.c
diff --git a/misc/pax-utils.eclass b/pocs/eclass/pax-utils.eclass
similarity index 97%
rename from misc/pax-utils.eclass
rename to pocs/eclass/pax-utils.eclass
index 547d6ac..719e15b 100644
--- a/misc/pax-utils.eclass
+++ b/pocs/eclass/pax-utils.eclass
@@ -1,6 +1,6 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/pax-utils.eclass,v 1.21 2013/05/18
13:43:20 zorry Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/pax-utils.eclass,v 1.22 2014/07/11
08:21:58 ulm Exp $
# @ECLASS: pax-utils.eclass
# @MAINTAINER:
@@ -22,8 +22,8 @@
# to contain either "PT", "XT" or "none". The default is to attempt both
# PT_PAX and XATTR_PAX.
-if [[ ${___ECLASS_ONCE_PAX_UTILS} != "recur -_+^+_- spank" ]] ; then
-___ECLASS_ONCE_PAX_UTILS="recur -_+^+_- spank"
+if [[ -z ${_PAX_UTILS_ECLASS} ]]; then
+_PAX_UTILS_ECLASS=1
# @ECLASS-VARIABLE: PAX_MARKINGS
# @DESCRIPTION:
diff --git a/misc/elf-manipulate/.gitignore b/pocs/elf-manipulate/.gitignore
similarity index 100%
rename from misc/elf-manipulate/.gitignore
rename to pocs/elf-manipulate/.gitignore
diff --git a/misc/elf-manipulate/Makefile b/pocs/elf-manipulate/Makefile
similarity index 100%
rename from misc/elf-manipulate/Makefile
rename to pocs/elf-manipulate/Makefile
diff --git a/misc/elf-manipulate/clear-dt-path.c
b/pocs/elf-manipulate/clear-dt-path.c
similarity index 100%
rename from misc/elf-manipulate/clear-dt-path.c
rename to pocs/elf-manipulate/clear-dt-path.c
diff --git a/misc/elf-manipulate/parse-elf.c b/pocs/elf-manipulate/parse-elf.c
similarity index 100%
rename from misc/elf-manipulate/parse-elf.c
rename to pocs/elf-manipulate/parse-elf.c
diff --git a/misc/elf-manipulate/print-sections.c
b/pocs/elf-manipulate/print-sections.c
similarity index 100%
rename from misc/elf-manipulate/print-sections.c
rename to pocs/elf-manipulate/print-sections.c
diff --git a/misc/elf-manipulate/remove-ptpax.c
b/pocs/elf-manipulate/remove-ptpax.c
similarity index 100%
rename from misc/elf-manipulate/remove-ptpax.c
rename to pocs/elf-manipulate/remove-ptpax.c
diff --git a/misc/ldd/ldd.py b/pocs/ldd/ldd.py
similarity index 100%
rename from misc/ldd/ldd.py
rename to pocs/ldd/ldd.py
diff --git a/misc/link-maps/link_map.py b/pocs/link-maps/link_map.py
similarity index 100%
rename from misc/link-maps/link_map.py
rename to pocs/link-maps/link_map.py
diff --git a/misc/link-maps/link_map_test b/pocs/link-maps/link_map_test
similarity index 100%
rename from misc/link-maps/link_map_test
rename to pocs/link-maps/link_map_test
diff --git a/misc/mangle-paxflags/.gitignore b/pocs/mangle-paxflags/.gitignore
similarity index 100%
rename from misc/mangle-paxflags/.gitignore
rename to pocs/mangle-paxflags/.gitignore
diff --git a/misc/mangle-paxflags/Makefile b/pocs/mangle-paxflags/Makefile
similarity index 100%
rename from misc/mangle-paxflags/Makefile
rename to pocs/mangle-paxflags/Makefile
diff --git a/misc/mangle-paxflags/bad-mmap.c b/pocs/mangle-paxflags/bad-mmap.c
similarity index 100%
rename from misc/mangle-paxflags/bad-mmap.c
rename to pocs/mangle-paxflags/bad-mmap.c
diff --git a/misc/mangle-paxflags/mangle-paxflags.c
b/pocs/mangle-paxflags/mangle-paxflags.c
similarity index 100%
rename from misc/mangle-paxflags/mangle-paxflags.c
rename to pocs/mangle-paxflags/mangle-paxflags.c
diff --git a/misc/mangle-paxflags/poc.sh b/pocs/mangle-paxflags/poc.sh
similarity index 100%
rename from misc/mangle-paxflags/poc.sh
rename to pocs/mangle-paxflags/poc.sh
diff --git a/misc/paxmark-libs/Makefile.am b/pocs/paxmark-libs/Makefile.am
similarity index 100%
rename from misc/paxmark-libs/Makefile.am
rename to pocs/paxmark-libs/Makefile.am
diff --git a/misc/paxmark-libs/autogen.sh b/pocs/paxmark-libs/autogen.sh
similarity index 100%
rename from misc/paxmark-libs/autogen.sh
rename to pocs/paxmark-libs/autogen.sh
diff --git a/misc/paxmark-libs/configure.ac b/pocs/paxmark-libs/configure.ac
similarity index 100%
rename from misc/paxmark-libs/configure.ac
rename to pocs/paxmark-libs/configure.ac
diff --git a/misc/paxmark-libs/libmypax.c b/pocs/paxmark-libs/libmypax.c
similarity index 100%
rename from misc/paxmark-libs/libmypax.c
rename to pocs/paxmark-libs/libmypax.c
diff --git a/misc/paxmark-libs/testdlpax.c b/pocs/paxmark-libs/testdlpax.c
similarity index 100%
rename from misc/paxmark-libs/testdlpax.c
rename to pocs/paxmark-libs/testdlpax.c
diff --git a/misc/paxmark-libs/testpax.c b/pocs/paxmark-libs/testpax.c
similarity index 100%
rename from misc/paxmark-libs/testpax.c
rename to pocs/paxmark-libs/testpax.c
diff --git a/misc/revdep-pax-ng b/pocs/revdep-pax-ng/revdep-pax-ng
similarity index 100%
rename from misc/revdep-pax-ng
rename to pocs/revdep-pax-ng/revdep-pax-ng