summaryrefslogtreecommitdiff
path: root/extra/a2ps
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-02-06 03:51:56 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-02-06 03:51:56 +0000
commitae5e27e4900c0c38025462f59e0524aef7aa630b (patch)
tree951c929d4f60923f41a62500d865724dfa68c42e /extra/a2ps
parent8b3a0b83eb5ad9bcff19b466bcd72c18fdf466ce (diff)
Thu Feb 6 03:50:19 UTC 2014
Diffstat (limited to 'extra/a2ps')
-rw-r--r--extra/a2ps/PKGBUILD19
-rw-r--r--extra/a2ps/a2ps-4.13-security.patch65
2 files changed, 76 insertions, 8 deletions
diff --git a/extra/a2ps/PKGBUILD b/extra/a2ps/PKGBUILD
index 8c0eed41e..f82f5b6b4 100644
--- a/extra/a2ps/PKGBUILD
+++ b/extra/a2ps/PKGBUILD
@@ -1,21 +1,22 @@
-# $Id: PKGBUILD 197210 2013-10-24 03:42:33Z eric $
+# $Id: PKGBUILD 205465 2014-02-05 16:42:48Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=a2ps
pkgver=4.14
-pkgrel=5
+pkgrel=6
pkgdesc="An Any to PostScript filter"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/a2ps/"
license=('GPL3')
-depends=('ghostscript' 'psutils' 'imagemagick')
+depends=('psutils' 'imagemagick')
makedepends=('gperf')
backup=('etc/a2ps/a2ps.cfg' 'etc/a2ps/a2ps-site.cfg')
install=a2ps.install
source=(ftp://ftp.gnu.org/gnu/a2ps/${pkgname}-${pkgver}.tar.gz{,.sig}
- a2ps-4.13c-fnmatch-replacement.patch a2ps-4.13c-emacs.patch
- a2ps-4.13-manpage-chmod.patch a2ps-4.14-check-mempcpy.patch
- a2ps-4.14-fix-stpcpy-proto.patch a2ps-texinfo5.patch)
+ a2ps-4.13c-fnmatch-replacement.patch a2ps-4.13c-emacs.patch
+ a2ps-4.13-manpage-chmod.patch a2ps-4.14-check-mempcpy.patch
+ a2ps-4.14-fix-stpcpy-proto.patch a2ps-texinfo5.patch
+ a2ps-4.13-security.patch)
sha1sums=('365abbbe4b7128bf70dad16d06e23c5701874852'
'SKIP'
'8783952d3410d8d59ed953e1db45e2ef1a0b8f65'
@@ -23,7 +24,8 @@ sha1sums=('365abbbe4b7128bf70dad16d06e23c5701874852'
'2bb3d0a2ef2f3ff9262723e35c742a80ab0235ce'
'6aed29c1399e79f3914b408059610f9e7c0fc38e'
'58fa90134f1027e3f05aeb08212cbcc10f420738'
- '81269db9dd29685b0ece2539070ced3f7a8472df')
+ '81269db9dd29685b0ece2539070ced3f7a8472df'
+ '93a4db17edfaa99e3498c7d952c560dab49dbe42')
prepare() {
cd ${pkgname}-${pkgver}
@@ -37,13 +39,14 @@ prepare() {
patch -p1 -i "${srcdir}/a2ps-4.14-check-mempcpy.patch"
patch -p0 -i "${srcdir}/a2ps-4.14-fix-stpcpy-proto.patch"
patch -p1 -i "${srcdir}/a2ps-texinfo5.patch"
+ patch -p1 -i "${srcdir}/a2ps-4.13-security.patch"
}
build() {
cd ${pkgname}-${pkgver}
libtoolize --force --copy
autoreconf --force --install -I m4
- ./configure --prefix=/usr --sysconfdir=/etc/a2ps \
+ LIBS+="-lm" ./configure --prefix=/usr --sysconfdir=/etc/a2ps \
--includedir=/usr/include --enable-shared --enable-nls
make
}
diff --git a/extra/a2ps/a2ps-4.13-security.patch b/extra/a2ps/a2ps-4.13-security.patch
new file mode 100644
index 000000000..cff622535
--- /dev/null
+++ b/extra/a2ps/a2ps-4.13-security.patch
@@ -0,0 +1,65 @@
+--- a2ps-4.13/lib/routines.c.security Sat Oct 16 05:46:37 1999
++++ a2ps-4.13/lib/routines.c Mon Feb 12 17:45:15 2001
+@@ -242,3 +242,50 @@
+ /* Don't complain if you can't unlink. Who cares of a tmp file? */
+ unlink (filename);
+ }
++
++/*
++ * Securely generate a temp file, and make sure it gets
++ * deleted upon exit.
++ */
++static char ** tempfiles;
++static unsigned ntempfiles;
++
++static void
++cleanup_tempfiles()
++{
++ while (ntempfiles--)
++ unlink(tempfiles[ntempfiles]);
++}
++
++char *
++safe_tempnam(const char *pfx)
++{
++ char *dirname, *filename;
++ int fd;
++
++ if (!(dirname = getenv("TMPDIR")))
++ dirname = "/tmp";
++
++ tempfiles = (char **) realloc(tempfiles,
++ (ntempfiles+1) * sizeof(char *));
++ if (tempfiles == NULL)
++ return NULL;
++
++ filename = malloc(strlen(dirname) + strlen(pfx) + sizeof("/XXXXXX"));
++ if (!filename)
++ return NULL;
++
++ sprintf(filename, "%s/%sXXXXXX", dirname, pfx);
++
++ if ((fd = mkstemp(filename)) < 0) {
++ free(filename);
++ return NULL;
++ }
++ close(fd);
++
++ if (ntempfiles == 0)
++ atexit(cleanup_tempfiles);
++ tempfiles[ntempfiles++] = filename;
++
++ return filename;
++}
+--- a2ps-4.13/lib/routines.h.security Mon Oct 18 21:24:41 1999
++++ a2ps-4.13/lib/routines.h Mon Feb 12 17:39:30 2001
+@@ -255,7 +255,8 @@
+ /* If _STR_ is not defined, give it a tempname in _TMPDIR_ */
+ #define tempname_ensure(Str) \
+ do { \
+- (Str) = (Str) ? (Str) : tempnam (NULL, "a2_"); \
++ (Str) = (Str) ? (Str) : safe_tempnam("a2_"); \
+ } while (0)
++char * safe_tempnam(const char *);
+
+ #endif