summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Liu2015-06-19 11:53:19 +1000
committerJonathan Liu2015-06-19 11:53:19 +1000
commit1abdf7ffdab930d288b7c38409ad56a269ab918b (patch)
treeec0adec965fa841833b94b08baa755bfcad6d396
downloadaur-1abdf7ffdab930d288b7c38409ad56a269ab918b.tar.gz
Initial import
-rw-r--r--.SRCINFO23
-rw-r--r--PKGBUILD40
-rw-r--r--ef.sh.patch11
-rw-r--r--efence.c.patch12
-rw-r--r--eftest.c.patch18
-rw-r--r--page.c.patch29
-rw-r--r--print.c.patch11
7 files changed, 144 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..870ba42b5c3b
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,23 @@
+pkgbase = electricfence
+ pkgdesc = Debugging malloc() that uses the VM hardware to detect buffer overruns
+ pkgver = 2.2.2
+ pkgrel = 3
+ url = http://perens.com/FreeSoftware/ElectricFence/
+ arch = i686
+ arch = x86_64
+ license = GPL2
+ source = http://dl.packetstormsecurity.net/programming-tutorials/ElectricFence-2.2.2.tar.gz
+ source = ef.sh.patch
+ source = efence.c.patch
+ source = eftest.c.patch
+ source = page.c.patch
+ source = print.c.patch
+ md5sums = 56a3cbfdbf65f916988787c789c63e80
+ md5sums = 3d5905c3cc9c52f09b6a387520a0d86c
+ md5sums = 67023a6cdcae4058e698089b041d00a8
+ md5sums = 3aad193fdc0b282d5d5fb05bb06ba4f9
+ md5sums = 4b5292775e9588b21ccf867f0160a34d
+ md5sums = 5026c7863d3b980ff093cb2d22c2d303
+
+pkgname = electricfence
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..700b58cb7446
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,40 @@
+# Contributor: Jonathan Liu <net147@gmail.com>
+pkgname=electricfence
+pkgver=2.2.2
+pkgrel=3
+pkgdesc="Debugging malloc() that uses the VM hardware to detect buffer overruns"
+arch=('i686' 'x86_64')
+url="http://perens.com/FreeSoftware/ElectricFence/"
+license=('GPL2')
+source=("http://dl.packetstormsecurity.net/programming-tutorials/ElectricFence-${pkgver}.tar.gz"
+ "ef.sh.patch"
+ "efence.c.patch"
+ "eftest.c.patch"
+ "page.c.patch"
+ "print.c.patch")
+md5sums=('56a3cbfdbf65f916988787c789c63e80'
+ '3d5905c3cc9c52f09b6a387520a0d86c'
+ '67023a6cdcae4058e698089b041d00a8'
+ '3aad193fdc0b282d5d5fb05bb06ba4f9'
+ '4b5292775e9588b21ccf867f0160a34d'
+ '5026c7863d3b980ff093cb2d22c2d303')
+
+build() {
+ cd "${srcdir}/ElectricFence-${pkgver}"
+ patch -Np0 -i "$startdir/src/ef.sh.patch"
+ patch -Np0 -i "$startdir/src/efence.c.patch"
+ patch -Np0 -i "$startdir/src/eftest.c.patch"
+ patch -Np0 -i "$startdir/src/page.c.patch"
+ patch -Np0 -i "$startdir/src/print.c.patch"
+ make
+}
+
+package() {
+ cd "${srcdir}/ElectricFence-${pkgver}"
+ install -d -m 755 "${pkgdir}/usr/bin"
+ install -d -m 755 "${pkgdir}/usr/lib"
+ install -d -m 755 "${pkgdir}/usr/man/man3"
+ make install prefix="${pkgdir}/usr" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/ef.sh.patch b/ef.sh.patch
new file mode 100644
index 000000000000..9ee382ac587e
--- /dev/null
+++ b/ef.sh.patch
@@ -0,0 +1,11 @@
+--- ef.sh.orig 1999-04-12 09:59:22.000000000 +1000
++++ ef.sh 2008-02-18 17:00:03.000000000 +1100
+@@ -15,6 +15,6 @@
+
+ # Set the environment to load eletric fence.
+ (\
+-export LD_PRELOAD=libefence.so.0.0;\
+-exec $*;\
++export LD_PRELOAD=libefence.so.0;\
++exec "$@";\
+ )
diff --git a/efence.c.patch b/efence.c.patch
new file mode 100644
index 000000000000..e59ccc473d8f
--- /dev/null
+++ b/efence.c.patch
@@ -0,0 +1,12 @@
+--- efence.c.orig 1999-04-13 11:00:49.000000000 +1000
++++ efence.c 2008-02-18 17:01:45.000000000 +1100
+@@ -271,7 +271,9 @@
+ char * string;
+ Slot * slot;
+
++#if 0
+ EF_Print(version);
++#endif
+
+ #ifdef USE_SEMAPHORE
+ if (sem_init(&EF_sem, 0, 1) >= 0) {
diff --git a/eftest.c.patch b/eftest.c.patch
new file mode 100644
index 000000000000..f638e7afa379
--- /dev/null
+++ b/eftest.c.patch
@@ -0,0 +1,18 @@
+--- eftest.c.orig 1995-01-20 15:54:30.000000000 +1100
++++ eftest.c 2008-02-18 17:05:29.000000000 +1100
+@@ -40,13 +40,13 @@
+ )
+ {
+ signal(PAGE_PROTECTION_VIOLATED_SIGNAL, SIG_DFL);
+- longjmp(env, 1);
++ siglongjmp(env, 1);
+ }
+
+ static int
+ gotSegmentationFault(int (*test)(void))
+ {
+- if ( setjmp(env) == 0 ) {
++ if ( sigsetjmp(env, 1) == 0 ) {
+ int status;
+
+ signal(PAGE_PROTECTION_VIOLATED_SIGNAL
diff --git a/page.c.patch b/page.c.patch
new file mode 100644
index 000000000000..d7740ec5e56e
--- /dev/null
+++ b/page.c.patch
@@ -0,0 +1,29 @@
+--- page.c.orig 1999-04-12 07:45:26.000000000 +1000
++++ page.c 2008-02-18 17:03:21.000000000 +1100
+@@ -31,7 +31,7 @@
+
+ #if ( !defined(sgi) && !defined(_AIX) &&!defined(__USE_BSD))
+ extern int sys_nerr;
+-extern char * sys_errlist[];
++extern const char *const sys_errlist[];
+ #endif
+
+ static const char *
+@@ -70,7 +70,7 @@
+ */
+ allocation = (caddr_t) mmap(
+ startAddr
+- ,(int)size
++ ,size
+ ,PROT_READ|PROT_WRITE
+ ,MAP_PRIVATE|MAP_ANONYMOUS
+ ,-1
+@@ -122,7 +122,7 @@
+ */
+ allocation = (caddr_t) mmap(
+ startAddr
+- ,(int)size
++ ,size
+ ,PROT_READ|PROT_WRITE
+ ,MAP_PRIVATE
+ ,devZeroFd
diff --git a/print.c.patch b/print.c.patch
new file mode 100644
index 000000000000..7797d8ee37a2
--- /dev/null
+++ b/print.c.patch
@@ -0,0 +1,11 @@
+--- print.c.orig 1999-04-12 09:29:21.000000000 +1000
++++ print.c 2008-02-18 17:04:24.000000000 +1100
+@@ -111,7 +111,7 @@
+ break;
+ case 'c':
+ {
+- char c = va_arg(args, char);
++ char c = va_arg(args, int);
+
+ (void) write(2, &c, 1);
+ }