public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/elfix:elfix-0.2.x commit in: src/
@ 2011-09-27 18:00 Anthony G. Basile
  0 siblings, 0 replies; 3+ messages in thread
From: Anthony G. Basile @ 2011-09-27 18:00 UTC (permalink / raw
  To: gentoo-commits

commit:     26a53560ddd64f3a9494f9fa33929972edfff79d
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 27 17:29:53 2011 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Sep 27 18:00:12 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/elfix.git;a=commit;h=26a53560

src/paxctl-ng.c: remove redundand call to gelf_getehdr

---
 src/paxctl-ng.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/src/paxctl-ng.c b/src/paxctl-ng.c
index fd04dec..fea0832 100644
--- a/src/paxctl-ng.c
+++ b/src/paxctl-ng.c
@@ -297,9 +297,6 @@ set_flags(Elf *elf, int *pax_flags)
 		ei_flags |= HF_PAX_RANDEXEC;
 
 
-	if(gelf_getehdr(elf, &ehdr) != &ehdr)
-		error(EXIT_FAILURE, 0, "gelf_getehdr(): %s", elf_errmsg(elf_errno()));
-
 	ehdr.e_ident[EI_PAX] = (uint8_t)ei_flags  ;
 	ehdr.e_ident[EI_PAX + 1] = (uint8_t)(ei_flags >> 8) ;
 



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] proj/elfix:elfix-0.2.x commit in: src/
@ 2011-09-27 18:01 Anthony G. Basile
  0 siblings, 0 replies; 3+ messages in thread
From: Anthony G. Basile @ 2011-09-27 18:01 UTC (permalink / raw
  To: gentoo-commits

commit:     37dda0ddd4a2adf25f5a43d2d754ca8a6391cdae
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 27 17:57:55 2011 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Sep 27 18:00:59 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/elfix.git;a=commit;h=37dda0dd

src/paxctl-ng.c: fix PT_PAX flag setting

---
 src/paxctl-ng.c |   99 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 84 insertions(+), 15 deletions(-)

diff --git a/src/paxctl-ng.c b/src/paxctl-ng.c
index fea0832..c565ffa 100644
--- a/src/paxctl-ng.c
+++ b/src/paxctl-ng.c
@@ -254,6 +254,7 @@ set_flags(Elf *elf, int *pax_flags)
 
 	ei_flags = ehdr.e_ident[EI_PAX] + (ehdr.e_ident[EI_PAX + 1] << 8);
 
+	//PAGEEXEC
 	if(*pax_flags & PF_PAGEEXEC)
 		ei_flags &= ~HF_PAX_PAGEEXEC;
 	if(*pax_flags & PF_NOPAGEEXEC)
@@ -261,6 +262,7 @@ set_flags(Elf *elf, int *pax_flags)
 	if((*pax_flags & PF_PAGEEXEC) && (*pax_flags & PF_NOPAGEEXEC))
 		ei_flags &= ~HF_PAX_PAGEEXEC;
 
+	//SEGMEXEC
 	if(*pax_flags & PF_SEGMEXEC)
 		ei_flags &= ~HF_PAX_SEGMEXEC;
 	if(*pax_flags & PF_NOSEGMEXEC)
@@ -268,6 +270,7 @@ set_flags(Elf *elf, int *pax_flags)
 	if((*pax_flags & PF_SEGMEXEC) && (*pax_flags & PF_NOSEGMEXEC))
 		ei_flags &= ~HF_PAX_SEGMEXEC;
 
+	//MPROTECT
 	if(*pax_flags & PF_MPROTECT)
 		ei_flags &= ~HF_PAX_MPROTECT;
 	if(*pax_flags & PF_NOMPROTECT)
@@ -275,6 +278,7 @@ set_flags(Elf *elf, int *pax_flags)
 	if((*pax_flags & PF_MPROTECT) && (*pax_flags & PF_NOMPROTECT))
 		ei_flags &= ~HF_PAX_MPROTECT;
 
+	//EMUTRAMP
 	if(*pax_flags & PF_EMUTRAMP)
 		ei_flags |= HF_PAX_EMUTRAMP;
 	if(*pax_flags & PF_NOEMUTRAMP)
@@ -282,6 +286,7 @@ set_flags(Elf *elf, int *pax_flags)
 	if((*pax_flags & PF_EMUTRAMP) && (*pax_flags & PF_NOEMUTRAMP))
 		ei_flags &= ~HF_PAX_EMUTRAMP;
 
+	//RANDMMAP
 	if(*pax_flags & PF_RANDMMAP)
 		ei_flags &= ~HF_PAX_RANDMMAP;
 	if(*pax_flags & PF_NORANDMMAP)
@@ -289,6 +294,7 @@ set_flags(Elf *elf, int *pax_flags)
 	if((*pax_flags & PF_RANDMMAP) && (*pax_flags & PF_NORANDMMAP))
 		ei_flags &= ~HF_PAX_RANDMMAP;
 
+	//RANDEXEC
 	if(*pax_flags & PF_RANDEXEC)
 		ei_flags |= HF_PAX_RANDEXEC;
 	if(*pax_flags & PF_NORANDEXEC)
@@ -311,45 +317,108 @@ set_flags(Elf *elf, int *pax_flags)
 
 		if(phdr.p_type == PT_PAX_FLAGS)
 		{
-			//Take and Pp flags and conver them to -
+			//PAGEEXEC
+			if(*pax_flags & PF_PAGEEXEC)
+			{
+				phdr.p_flags |= PF_PAGEEXEC;
+				phdr.p_flags &= ~PF_NOPAGEEXEC;
+			}
+			if(*pax_flags & PF_NOPAGEEXEC)
+			{
+				phdr.p_flags &= ~PF_PAGEEXEC;
+				phdr.p_flags |= PF_NOPAGEEXEC;
+			}
 			if((*pax_flags & PF_PAGEEXEC) && (*pax_flags & PF_NOPAGEEXEC))
 			{
-				*pax_flags ^= PF_PAGEEXEC;
-				*pax_flags ^= PF_NOPAGEEXEC;
+				phdr.p_flags &= ~PF_PAGEEXEC;
+				phdr.p_flags &= ~PF_NOPAGEEXEC;
 			}
 
+			//SEGMEXEC
+			if(*pax_flags & PF_SEGMEXEC)
+			{
+				phdr.p_flags |= PF_SEGMEXEC;
+				phdr.p_flags &= ~PF_NOSEGMEXEC;
+			}
+			if(*pax_flags & PF_NOSEGMEXEC)
+			{
+				phdr.p_flags &= ~PF_SEGMEXEC;
+				phdr.p_flags |= PF_NOSEGMEXEC;
+			}
 			if((*pax_flags & PF_SEGMEXEC) && (*pax_flags & PF_NOSEGMEXEC))
 			{
-				*pax_flags ^= PF_SEGMEXEC;
-				*pax_flags ^= PF_NOSEGMEXEC;
+				phdr.p_flags &= ~PF_SEGMEXEC;
+				phdr.p_flags &= ~PF_NOSEGMEXEC;
 			}
 
+			//MPROTECT
+			if(*pax_flags & PF_MPROTECT)
+			{
+				phdr.p_flags |= PF_MPROTECT;
+				phdr.p_flags &= ~PF_NOMPROTECT;
+			}
+			if(*pax_flags & PF_NOMPROTECT)
+			{
+				phdr.p_flags &= ~PF_MPROTECT;
+				phdr.p_flags |= PF_NOMPROTECT;
+			}
 			if((*pax_flags & PF_MPROTECT) && (*pax_flags & PF_NOMPROTECT))
 			{
-				*pax_flags ^= PF_MPROTECT;
-				*pax_flags ^= PF_NOMPROTECT;
+				phdr.p_flags &= ~PF_MPROTECT;
+				phdr.p_flags &= ~PF_NOMPROTECT;
 			}
 
+			//EMUTRAMP
+			if(*pax_flags & PF_EMUTRAMP)
+			{
+				phdr.p_flags |= PF_EMUTRAMP;
+				phdr.p_flags &= ~PF_NOEMUTRAMP;
+			}
+			if(*pax_flags & PF_NOEMUTRAMP)
+			{
+				phdr.p_flags &= ~PF_EMUTRAMP;
+				phdr.p_flags |= PF_NOEMUTRAMP;
+			}
 			if((*pax_flags & PF_EMUTRAMP) && (*pax_flags & PF_NOEMUTRAMP))
 			{
-				*pax_flags ^= PF_EMUTRAMP;
-				*pax_flags ^= PF_NOEMUTRAMP;
+				phdr.p_flags &= ~PF_EMUTRAMP;
+				phdr.p_flags &= ~PF_NOEMUTRAMP;
 			}
 
+			//RANDMMAP
+			if(*pax_flags & PF_RANDMMAP)
+			{
+				phdr.p_flags |= PF_RANDMMAP;
+				phdr.p_flags &= ~PF_NORANDMMAP;
+			}
+			if(*pax_flags & PF_NORANDMMAP)
+			{
+				phdr.p_flags &= ~PF_RANDMMAP;
+				phdr.p_flags |= PF_NORANDMMAP;
+			}
 			if((*pax_flags & PF_RANDMMAP) && (*pax_flags & PF_NORANDMMAP))
 			{
-				*pax_flags ^= PF_RANDMMAP;
-				*pax_flags ^= PF_NORANDMMAP;
+				phdr.p_flags &= ~PF_RANDMMAP;
+				phdr.p_flags &= ~PF_NORANDMMAP;
 			}
 
+			//RANDEXEC
+			if(*pax_flags & PF_RANDEXEC)
+			{
+				phdr.p_flags |= PF_RANDEXEC;
+				phdr.p_flags &= ~PF_NORANDEXEC;
+			}
+			if(*pax_flags & PF_NORANDEXEC)
+			{
+				phdr.p_flags &= ~PF_RANDEXEC;
+				phdr.p_flags |= PF_NORANDEXEC;
+			}
 			if((*pax_flags & PF_RANDEXEC) && (*pax_flags & PF_NORANDEXEC))
 			{
-				*pax_flags ^= PF_RANDEXEC;
-				*pax_flags ^= PF_NORANDEXEC;
+				phdr.p_flags &= ~PF_RANDEXEC;
+				phdr.p_flags &= ~PF_NORANDEXEC;
 			}
 
-			phdr.p_flags = *pax_flags ;
-
 			if(!gelf_update_phdr(elf, i, &phdr))
 				error(EXIT_FAILURE, 0, "gelf_update_phdr(): %s", elf_errmsg(elf_errno()));
 		}



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] proj/elfix:elfix-0.2.x commit in: src/
@ 2011-09-27 18:59 Anthony G. Basile
  0 siblings, 0 replies; 3+ messages in thread
From: Anthony G. Basile @ 2011-09-27 18:59 UTC (permalink / raw
  To: gentoo-commits

commit:     c27eea10b3bc9776b1e0b89b7abed66e689a9735
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 27 18:49:37 2011 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Sep 27 18:59:00 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/elfix.git;a=commit;h=c27eea10

src/paxctl-ng.c: removed unused ei_buf[] and pt_buf[]

---
 src/paxctl-ng.c |    7 -------
 1 files changed, 0 insertions(+), 7 deletions(-)

diff --git a/src/paxctl-ng.c b/src/paxctl-ng.c
index c565ffa..5d92d58 100644
--- a/src/paxctl-ng.c
+++ b/src/paxctl-ng.c
@@ -237,18 +237,11 @@ void
 set_flags(Elf *elf, int *pax_flags)
 {
 	GElf_Ehdr ehdr;
-	char ei_buf[BUF_SIZE];
 	uint16_t ei_flags;
 
 	GElf_Phdr phdr;
-	char pt_buf[BUF_SIZE];
-	uint16_t pt_flags;
-	char found_pt_pax;
 	size_t i, phnum;
 
-	memset(ei_buf, 0, BUF_SIZE);
-	memset(pt_buf, 0, BUF_SIZE);
-
 	if(gelf_getehdr(elf, &ehdr) != &ehdr)
 		error(EXIT_FAILURE, 0, "gelf_getehdr(): %s", elf_errmsg(elf_errno()));
 



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-09-27 18:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-27 18:01 [gentoo-commits] proj/elfix:elfix-0.2.x commit in: src/ Anthony G. Basile
  -- strict thread matches above, loose matches on Subject: below --
2011-09-27 18:59 Anthony G. Basile
2011-09-27 18:00 Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox