-AUX paxctl-0.3-error-codes.patch 11421 RMD160 3f0ae43b0c6ad21941eaf7d494cd09e6c82ef81d SHA1 2acb34db28481039cf48d295c5c7f366da4b1104 SHA256 44b1f5cf9ed66e18633676c6502c544f1b58f04bfbe562023f910d5e0cf4c6b3
-MD5 3fc2f5499fe5630cab3a2c01e4bdbbe7 files/paxctl-0.3-error-codes.patch 11421
-RMD160 3f0ae43b0c6ad21941eaf7d494cd09e6c82ef81d files/paxctl-0.3-error-codes.patch 11421
-SHA256 44b1f5cf9ed66e18633676c6502c544f1b58f04bfbe562023f910d5e0cf4c6b3 files/paxctl-0.3-error-codes.patch 11421
-DIST paxctl-0.3.tar.gz 5382 RMD160 12572c8cc7948dd2fa5274f87b13bafc3f0d6d0d SHA1 ee4a88fda6a32bd812678e1a9f0cdaf3f2de98a5 SHA256 6b5537db6981265b95b564e8b07e935e1273c0523211399d332ce964b6292a21
DIST paxctl-0.4.tar.gz 7592 RMD160 5dfe8720f66367c04773a28955345ff1969937f7 SHA1 cfca05dad0664d2f65c5da02e04d0a6e91ec0ac0 SHA256 c5c7b6b3974f3022eb23115b1900c1a6f4fe909300cf3cdfe2af9d08621c6dec
-EBUILD paxctl-0.3-r1.ebuild 894 RMD160 69e1ded005c31bd9bb3d805608dff56d1c3706c1 SHA1 bb45f8f46de6bc5c7f8915c0db9bde4a61a29c5c SHA256 1aef947be70c83bb343908178acb223140ab0654ee4d44de99ad56f8f5dc1ab3
-MD5 9ff6272ccde25a7f8b2df6348892beea paxctl-0.3-r1.ebuild 894
-RMD160 69e1ded005c31bd9bb3d805608dff56d1c3706c1 paxctl-0.3-r1.ebuild 894
-SHA256 1aef947be70c83bb343908178acb223140ab0654ee4d44de99ad56f8f5dc1ab3 paxctl-0.3-r1.ebuild 894
-EBUILD paxctl-0.3.ebuild 721 RMD160 3979f89c6d37aef36cc35a9946975aecf5c5a16c SHA1 a3b3e1afd345832923b4265b74822da8ef9aa32b SHA256 45c3ea6c29013bc66de5f470733000e9ecaa99586e3a67b2e7bfa43a948114b6
-MD5 31beea0ceacae83ee49222384372c6f0 paxctl-0.3.ebuild 721
-RMD160 3979f89c6d37aef36cc35a9946975aecf5c5a16c paxctl-0.3.ebuild 721
-SHA256 45c3ea6c29013bc66de5f470733000e9ecaa99586e3a67b2e7bfa43a948114b6 paxctl-0.3.ebuild 721
-EBUILD paxctl-0.4.ebuild 728 RMD160 2efb83782b2b4add253dd5f2fec09ef94658919c SHA1 907c6410076468144b9b0e182214210aeec249ee SHA256 f5eb9c42f9e94544a245d3e81180550d5202894d0a3405a69cbec090e0a24cb5
-MD5 a1e4317af68679dc19ef2e612aa66fe5 paxctl-0.4.ebuild 728
-RMD160 2efb83782b2b4add253dd5f2fec09ef94658919c paxctl-0.4.ebuild 728
-SHA256 f5eb9c42f9e94544a245d3e81180550d5202894d0a3405a69cbec090e0a24cb5 paxctl-0.4.ebuild 728
-MISC ChangeLog 3373 RMD160 3871902ace1bf500d376cdee94bcf19aee07d971 SHA1 acd1486296c2cc8aa1b4f265921c42648eff328e SHA256 50d354424bb5129080039b3a64c0a0c8a57a951531cfaddab15a6d97663695da
-MD5 8a8361cb917173ad5d0b958d80153967 ChangeLog 3373
-RMD160 3871902ace1bf500d376cdee94bcf19aee07d971 ChangeLog 3373
-SHA256 50d354424bb5129080039b3a64c0a0c8a57a951531cfaddab15a6d97663695da ChangeLog 3373
+DIST paxctl-0.5.tar.gz 7587 RMD160 1abdf467a1b4a30a2ec6f522bcbc607b0a76ff90 SHA1 8f8f61fb6a4305b5145600b0664908db81f372d7 SHA256 d26e33179b31bb9fc3cbe5eb708ec29db4c4eba68600a89ac302856946a0d1d0
+EBUILD paxctl-0.4.ebuild 730 RMD160 e817651d1ef85fc2be324c2cd09558fb45dd5875 SHA1 d7a7d0570e494abc34fe2a8200ed571ac92294e6 SHA256 b51dde42192c776bfeca0b1eea63ff39fd3035130f12ba09d95db6cd3c0fba36
+MD5 aedcdaafa638ab82985a7ffe37482701 paxctl-0.4.ebuild 730
+RMD160 e817651d1ef85fc2be324c2cd09558fb45dd5875 paxctl-0.4.ebuild 730
+SHA256 b51dde42192c776bfeca0b1eea63ff39fd3035130f12ba09d95db6cd3c0fba36 paxctl-0.4.ebuild 730
+EBUILD paxctl-0.5.ebuild 720 RMD160 706e4ce99f3c5bd966de8713f61ff45839ce6bea SHA1 3dbf0798219529aa8f31987f0b2e986f63e04d42 SHA256 23a5a45a133aa936d56628b185e227c46e9d3f85c6ea168b486b9d24de8cb81f
+MD5 e0385e8d8eeb8dec34c2f52027c38dee paxctl-0.5.ebuild 720
+RMD160 706e4ce99f3c5bd966de8713f61ff45839ce6bea paxctl-0.5.ebuild 720
+SHA256 23a5a45a133aa936d56628b185e227c46e9d3f85c6ea168b486b9d24de8cb81f paxctl-0.5.ebuild 720
+MISC ChangeLog 3666 RMD160 dcbfa980d2592c936f2e0f840a2287b416218258 SHA1 d6d8274f3fbf8b0dff53a0683739906811b82433 SHA256 109b664cede36971fcc7ae4ee22151b956d18751d893612791f072aa5105b8d9
+MD5 d9f6b7d75eda2b7ea7f4cc518f4f651c ChangeLog 3666
+RMD160 dcbfa980d2592c936f2e0f840a2287b416218258 ChangeLog 3666
+SHA256 109b664cede36971fcc7ae4ee22151b956d18751d893612791f072aa5105b8d9 ChangeLog 3666
MISC metadata.xml 161 RMD160 600015e5b2643ae38ea2f9e5aaff6d31d42470a8 SHA1 578b6ea4c02d377eb40ee4000df8bc3d97497f82 SHA256 f9146563cc3df2b0d02d2f554c5293d439b56a4d36bc5aed0c66aa83dfb06c2f
MD5 035ff78da2388cc0585f93ef2247332d metadata.xml 161
RMD160 600015e5b2643ae38ea2f9e5aaff6d31d42470a8 metadata.xml 161
SHA256 f9146563cc3df2b0d02d2f554c5293d439b56a4d36bc5aed0c66aa83dfb06c2f metadata.xml 161
-MD5 7b054a1fd9ae5162417eab37c3f13dfa files/digest-paxctl-0.3 226
-RMD160 b268a73f24c2b6f09bbefcac8e895455fe6c4fd0 files/digest-paxctl-0.3 226
-SHA256 cf0f8d146d199072afc7d68dd289f367fe96718c30d4fd94ef1aba2042f67519 files/digest-paxctl-0.3 226
-MD5 7b054a1fd9ae5162417eab37c3f13dfa files/digest-paxctl-0.3-r1 226
-RMD160 b268a73f24c2b6f09bbefcac8e895455fe6c4fd0 files/digest-paxctl-0.3-r1 226
-SHA256 cf0f8d146d199072afc7d68dd289f367fe96718c30d4fd94ef1aba2042f67519 files/digest-paxctl-0.3-r1 226
MD5 8ac563dccc3da5da74f41927e68c8537 files/digest-paxctl-0.4 226
RMD160 53bff57d6296c6d42505d559d6b286b64e1038a4 files/digest-paxctl-0.4 226
SHA256 ff1d0574437ffe74d16b1b9bc1d801763ed3721e589ba0509d902fed2d19c885 files/digest-paxctl-0.4 226
+MD5 656999d72e945db38e53a79a496332c0 files/digest-paxctl-0.5 226
+RMD160 efb9a2cb37f38a53070f10da7b6fae32d06889ef files/digest-paxctl-0.5 226
+SHA256 a82c7bd94ab6801e1ebd1b6acd07bbe7ae874420384091727c863c923c12c21f files/digest-paxctl-0.5 226
+++ /dev/null
-diff -urp paxctl-0.3/ChangeLog paxctl-0.4/ChangeLog
---- paxctl-0.3/ChangeLog 2005-05-03 20:04:30.000000000 +0100
-+++ paxctl-0.4/ChangeLog 2005-05-29 13:01:11.000000000 +0100
-@@ -1,3 +1,6 @@
-+2005.05.29 PaX Team <pageexec@freemail.hu>>
-+ cleaned up error code reporting, thanks to Kevin F. Quinn <co@kevquinn.com>
-+
- 2005.05.03 PaX Team <pageexec@freemail.hu>>
- added -c option to convert PT_GNU_STACK into PT_PAX_FLAGS
- minor typo fixes in the code/manpage
-diff -urp paxctl-0.3/Makefile paxctl-0.4/Makefile
---- paxctl-0.3/Makefile 2004-02-25 15:20:44.000000000 +0000
-+++ paxctl-0.4/Makefile 2005-05-29 12:46:27.000000000 +0100
-@@ -1,8 +1,8 @@
- CC:=gcc
- CP:=cp
--CFLAGS:=-Wall -W -O2# -fPIC
-+CFLAGS:=-O2 -Wall -W -Wcast-qual -Wcast-align -Wbad-function-cast -Wsign-compare -Wshadow -Wwrite-strings -Wnested-externs -Winline -Wredundant-decls -Waggregate-return -Wno-format-y2k -Wno-format-extra-args -Wformat-nonliteral -Wformat-security -Wformat=2 -Wdisabled-optimization -Werror -Wpointer-arith -Wconversion -Wmissing-declarations -Wmissing-prototypes -Wunreachable-code
- DESTDIR:=
--LDFLAGS:=#-Wl,-pie
-+LDFLAGS:=
- MANDIR:=/usr/share/man/man1
- MKDIR:=mkdir -p
- PROG:=paxctl
-diff -urp paxctl-0.3/paxctl.c paxctl-0.4/paxctl.c
---- paxctl-0.3/paxctl.c 2005-05-03 21:11:06.000000000 +0100
-+++ paxctl-0.4/paxctl.c 2005-05-29 13:03:37.000000000 +0100
-@@ -64,7 +64,7 @@ static void * elf32_map_phdr(const int f
- return mmap(NULL, size, flags, MAP_SHARED, fd, (off_t)0);
- }
-
--static void elf32_modify_phdr(unsigned char * const map, const struct pax_state * const state)
-+static int elf32_modify_phdr(unsigned char * const map, const struct pax_state * const state)
- {
- unsigned int i, gnu_stack = state->ops->phnum._32, pax_flags = state->ops->phnum._32;
- Elf32_Phdr * const phdr = (Elf32_Phdr *)(map + state->ops->phoff._32);
-@@ -81,7 +81,7 @@ static void elf32_modify_phdr(unsigned c
- if (gnu_stack == state->ops->phnum._32) {
- if (!state->quiet)
- fprintf(stderr, "file %s does not have a PT_GNU_STACK program header, conversion failed\n", state->argv[state->files]);
-- return;
-+ return EXIT_FAILURE;
- }
- phdr[gnu_stack].p_type = PT_PAX_FLAGS;
- phdr[gnu_stack].p_flags = PF_NORANDEXEC | PF_NOEMUTRAMP;
-@@ -89,7 +89,7 @@ static void elf32_modify_phdr(unsigned c
- } else {
- if (!state->quiet)
- fprintf(stderr, "file %s does not have a PT_PAX_FLAGS program header\n", state->argv[state->files]);
-- return;
-+ return EXIT_FAILURE;
- }
- }
-
-@@ -106,6 +106,7 @@ static void elf32_modify_phdr(unsigned c
- phdr[pax_flags].p_flags |= state->flags_on;
- }
- }
-+ return EXIT_SUCCESS;
- }
-
- static void * elf64_map_phdr(const int fd, const struct pax_state * const state)
-@@ -116,7 +117,7 @@ static void * elf64_map_phdr(const int f
- return mmap(NULL, size, flags, MAP_SHARED, fd, (off_t)0);
- }
-
--static void elf64_modify_phdr(unsigned char * const map, const struct pax_state * const state)
-+static int elf64_modify_phdr(unsigned char * const map, const struct pax_state * const state)
- {
- unsigned int i, gnu_stack = state->ops->phnum._64, pax_flags = state->ops->phnum._64;;
- Elf64_Phdr * const phdr = (Elf64_Phdr *)(map + state->ops->phoff._64);
-@@ -133,7 +134,7 @@ static void elf64_modify_phdr(unsigned c
- if (gnu_stack == state->ops->phnum._64) {
- if (!state->quiet)
- fprintf(stderr, "file %s does not have a PT_GNU_STACK program header, conversion failed\n", state->argv[state->files]);
-- return;
-+ return EXIT_FAILURE;
- }
- phdr[gnu_stack].p_type = PT_PAX_FLAGS;
- phdr[gnu_stack].p_flags = PF_NORANDEXEC | PF_NOEMUTRAMP;
-@@ -141,7 +142,7 @@ static void elf64_modify_phdr(unsigned c
- } else {
- if (!state->quiet)
- fprintf(stderr, "file %s does not have a PT_PAX_FLAGS program header\n", state->argv[state->files]);
-- return;
-+ return EXIT_FAILURE;
- }
- }
-
-@@ -158,6 +159,7 @@ static void elf64_modify_phdr(unsigned c
- phdr[pax_flags].p_flags |= state->flags_on;
- }
- }
-+ return EXIT_SUCCESS;
- }
-
- static struct elf_ops elf32 = {
-@@ -193,7 +195,7 @@ static void usage(void)
- "\t-q: suppress error messages\t-Q: report flags in short format\n"
- "\t-c: convert PT_GNU_STACK into PT_PAX_FLAGS (see manpage!)\n"
- );
-- exit(EXIT_SUCCESS);
-+ exit(EXIT_FAILURE);
- }
-
- static int is_elf32(const void * const map, off_t size, struct pax_state * const state)
-@@ -257,41 +259,41 @@ static int is_elf64(const void * const m
- static int pax_verify_file(struct pax_state * const state)
- {
- int fd;
-- const void * map;
-+ void * map;
- size_t size = sizeof(Elf64_Ehdr);
- struct stat st;
-
- fd = open(state->argv[state->files], O_RDONLY);
- if (0 > fd) {
- if (!state->quiet)
-- perror("open: ");
-- return -1;
-+ perror(state->argv[state->files]);
-+ return EXIT_FAILURE;
- }
-
- if (-1 == fstat(fd, &st)) {
- close(fd);
- if (!state->quiet)
-- perror("fstat: ");
-- return -1;
-+ perror(state->argv[state->files]);
-+ return EXIT_FAILURE;
- }
-
- map = mmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, (off_t)0);
- close(fd);
- if (MAP_FAILED == map) {
- if (!state->quiet)
-- perror("mmap: ");
-- return -1;
-+ perror(state->argv[state->files]);
-+ return EXIT_FAILURE;
- }
-
- if (st.st_size < 0 || (!is_elf32(map, st.st_size, state) && !is_elf64(map, st.st_size, state))) {
-- munmap((void *)map, size);
-+ munmap(map, size);
- if (!state->quiet)
- fprintf(stderr, "file %s is not a valid ELF executable\n", state->argv[state->files]);
-- return -1;
-+ return EXIT_FAILURE;
- }
-
-- munmap((void *)map, size);
-- return 0;
-+ munmap(map, size);
-+ return EXIT_SUCCESS;
- }
-
- static int pax_modify_file(const struct pax_state * const state)
-@@ -303,8 +305,8 @@ static int pax_modify_file(const struct
- fd = open(state->argv[state->files], (state->flags_on | state->flags_off | state->convert) ? O_RDWR : O_RDONLY);
- if (0 > fd) {
- if (!state->quiet)
-- perror("open: ");
-- return -1;
-+ perror(state->argv[state->files]);
-+ return EXIT_FAILURE;
- }
-
- /* mmap file */
-@@ -312,36 +314,35 @@ static int pax_modify_file(const struct
- close(fd);
- if (MAP_FAILED == map) {
- if (!state->quiet)
-- perror("mmap: ");
-- return -1;
-+ perror(state->argv[state->files]);
-+ return EXIT_FAILURE;
- }
-
- /* report/modify flags */
-- state->ops->modify_phdr(map, state);
-- return 0;
-+ return state->ops->modify_phdr(map, state);
- }
-
- static int pax_process_file(struct pax_state * const state)
- {
- /* get/verify ELF header */
-- if (0 > pax_verify_file(state))
-- return -1;
--
-- /* report/modify program header */
-- if (0 > pax_modify_file(state))
-- return -1;
-+ if (EXIT_SUCCESS == pax_verify_file(state))
-+ /* report/modify program header */
-+ return pax_modify_file(state);
-
-- return 0;
-+ return EXIT_FAILURE;
- }
-
- static int pax_process_files(struct pax_state * const state)
- {
-+ int status = EXIT_SUCCESS;
-+
- while (state->argv[state->files]) {
-- pax_process_file(state);
-+ if (EXIT_SUCCESS != pax_process_file(state))
-+ status = EXIT_FAILURE;
- ++state->files;
- }
-
-- return 0;
-+ return status;
- }
-
- static int pax_parse_args(int argc, struct pax_state * const state)
-@@ -350,31 +351,31 @@ static int pax_parse_args(int argc, stru
- switch(getopt(argc, state->argv, "pPsSmMeErRxXvqQzc")) {
- case -1:
- state->files = optind;
-- return optind < argc ? 0 : -1;
-+ return optind < argc ? EXIT_SUCCESS : EXIT_FAILURE;
-
- case '?':
-- return -1;
-+ return EXIT_FAILURE;
-
- #define parse_flag(option1, option2, flag) \
-- case option1: \
-- state->flags_on &= ~PF_##flag; \
-- state->flags_on |= PF_NO##flag; \
-- state->flags_off &= ~PF_NO##flag; \
-- state->flags_off |= PF_##flag; \
-- break; \
-- case option2: \
-- state->flags_on &= ~PF_NO##flag; \
-- state->flags_on |= PF_##flag; \
-- state->flags_off &= ~PF_##flag; \
-- state->flags_off |= PF_NO##flag; \
-- break;
--
-- parse_flag('p', 'P', PAGEEXEC);
-- parse_flag('s', 'S', SEGMEXEC);
-- parse_flag('m', 'M', MPROTECT);
-- parse_flag('e', 'E', EMUTRAMP);
-- parse_flag('r', 'R', RANDMMAP);
-- parse_flag('x', 'X', RANDEXEC);
-+ case option1: \
-+ state->flags_on &= ~PF_##flag; \
-+ state->flags_on |= PF_NO##flag; \
-+ state->flags_off &= ~PF_NO##flag; \
-+ state->flags_off |= PF_##flag; \
-+ break; \
-+ case option2: \
-+ state->flags_on &= ~PF_NO##flag; \
-+ state->flags_on |= PF_##flag; \
-+ state->flags_off &= ~PF_##flag; \
-+ state->flags_off |= PF_NO##flag; \
-+ break;
-+
-+ parse_flag('p', 'P', PAGEEXEC);
-+ parse_flag('s', 'S', SEGMEXEC);
-+ parse_flag('m', 'M', MPROTECT);
-+ parse_flag('e', 'E', EMUTRAMP);
-+ parse_flag('r', 'R', RANDMMAP);
-+ parse_flag('x', 'X', RANDEXEC);
-
- #undef parse_flag
-
-@@ -420,15 +421,12 @@ int main(int argc, char * argv[])
- usage();
-
- /* parse arguments */
-- if (0 > pax_parse_args(argc, &state))
-- return -1;
-+ if (EXIT_SUCCESS != pax_parse_args(argc, &state))
-+ return EXIT_FAILURE;
-
- if (state.view)
- banner();
-
- /* process files */
-- if (0 > pax_process_files(&state))
-- return -2;
--
-- return 0;
-+ return pax_process_files(&state);
- }
-diff -urp paxctl-0.3/paxctl.h paxctl-0.4/paxctl.h
---- paxctl-0.3/paxctl.h 2005-05-02 22:21:39.000000000 +0100
-+++ paxctl-0.4/paxctl.h 2005-05-29 12:41:03.000000000 +0100
-@@ -3,13 +3,13 @@
-
- #include <elf.h>
-
--#define PAXCTL_VERSION "0.3"
-+#define PAXCTL_VERSION "0.4"
-
- struct pax_state;
-
- struct elf_ops {
- void * (* const map_phdr)(const int, const struct pax_state * const);
-- void (* const modify_phdr)(unsigned char * const, const struct pax_state * const);
-+ int (* const modify_phdr)(unsigned char * const, const struct pax_state * const);
- union {
- Elf32_Off _32;
- Elf64_Off _64;
-@@ -40,18 +40,18 @@ struct pax_state {
-
- #define PT_PAX_FLAGS 0x65041580
-
--#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */
--#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */
--#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */
--#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */
--#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */
--#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */
--#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */
--#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */
--#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */
--#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */
--#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */
--#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */
-+#define PF_PAGEEXEC (1U << 4) /* Enable PAGEEXEC */
-+#define PF_NOPAGEEXEC (1U << 5) /* Disable PAGEEXEC */
-+#define PF_SEGMEXEC (1U << 6) /* Enable SEGMEXEC */
-+#define PF_NOSEGMEXEC (1U << 7) /* Disable SEGMEXEC */
-+#define PF_MPROTECT (1U << 8) /* Enable MPROTECT */
-+#define PF_NOMPROTECT (1U << 9) /* Disable MPROTECT */
-+#define PF_RANDEXEC (1U << 10) /* Enable RANDEXEC */
-+#define PF_NORANDEXEC (1U << 11) /* Disable RANDEXEC */
-+#define PF_EMUTRAMP (1U << 12) /* Enable EMUTRAMP */
-+#define PF_NOEMUTRAMP (1U << 13) /* Disable EMUTRAMP */
-+#define PF_RANDMMAP (1U << 14) /* Enable RANDMMAP */
-+#define PF_NORANDMMAP (1U << 15) /* Disable RANDMMAP */
-
- #endif
-