aboutsummaryrefslogtreecommitdiffstats
path: root/main/alpine
diff options
context:
space:
mode:
Diffstat (limited to 'main/alpine')
-rw-r--r--main/alpine/2.00-lpam.patch13
-rw-r--r--main/alpine/APKBUILD53
-rw-r--r--main/alpine/CVE-2008-5514.patch20
3 files changed, 86 insertions, 0 deletions
diff --git a/main/alpine/2.00-lpam.patch b/main/alpine/2.00-lpam.patch
new file mode 100644
index 0000000000..69e66d7efa
--- /dev/null
+++ b/main/alpine/2.00-lpam.patch
@@ -0,0 +1,13 @@
+--- alpine-2.00.orig/alpine/Makefile.in
++++ alpine-2.00/alpine/Makefile.in
+@@ -169,7 +169,7 @@
+ LIBICONV = @LIBICONV@
+ LIBINTL = @LIBINTL@
+ LIBOBJS = @LIBOBJS@
+-LIBS = @LIBS@
++LIBS = @LIBS@ -lpam
+ LIBTOOL = @LIBTOOL@
+ LN = @LN@
+ LN_S = @LN_S@
+ LTLIBICONV = @LTLIBICONV@
+ LTLIBINTL = @LTLIBINTL@
diff --git a/main/alpine/APKBUILD b/main/alpine/APKBUILD
new file mode 100644
index 0000000000..3fb188add6
--- /dev/null
+++ b/main/alpine/APKBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=alpine
+pkgver=2.00_p73
+_ver=${pkgver%_p*}
+_pver=${pkgver##*_p}
+pkgrel=0
+pkgdesc="Text-based email client, friendly for novices but powerful"
+url="http://www.washington.edu/alpine/"
+license="APACHE"
+depends=""
+makedepends="openldap-dev heimdal-dev ncurses-dev openssl-dev"
+subpackages="$pkgname-doc"
+source="ftp://ftp.cac.washington.edu/alpine/alpine.tar.bz2
+ http://staff.washington.edu/chappa/alpine/patches/alpine-${_ver}/all_${_pver}.patch.gz
+ 2.00-lpam.patch
+ CVE-2008-5514.patch"
+
+_builddir="$srcdir"/$pkgname-$_ver
+prepare() {
+ cd "$_builddir"
+ gunzip -c "$srcdir"/all_$_pver.patch.gz | patch -p1 || return 1
+ for i in $source; do
+ case $i in
+ *.patch)
+ msg "Applying $i"
+ patch -p1 -i "$srcdir"/$i || return 1
+ ;;
+ esac
+ done
+ # we dont have pam
+ sed -i -e "s/-lpam//" alpine/Makefile.in
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --without-passfile \
+ --without-tcl \
+ --disable-shared \
+ --with-system-pinerc=/etc/alpine.d/pine.conf \
+ --with-system-fixed-pinerc=/etc/alpine.d/pine.conf.fixed
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="84e44cbf71ed674800a5d57eed9c1c52 alpine.tar.bz2
+12fa93aa8bf008f40bf8cc9326a8751f all_73.patch.gz
+cd3911c16fc6a072e853c0ccfc35857c 2.00-lpam.patch
+1b52a54a656979116c09fb1d948a4325 CVE-2008-5514.patch"
diff --git a/main/alpine/CVE-2008-5514.patch b/main/alpine/CVE-2008-5514.patch
new file mode 100644
index 0000000000..594bea0b25
--- /dev/null
+++ b/main/alpine/CVE-2008-5514.patch
@@ -0,0 +1,20 @@
+--- alpine-2.00/imap/src/c-client/rfc822.c
++++ alpine-2.00/imap/src/c-client/rfc822.c
+@@ -1351,6 +1351,7 @@
+
+ static long rfc822_output_char (RFC822BUFFER *buf,int c)
+ {
++ if ((buf->cur == buf->end) && !rfc822_output_flush (buf)) return NIL;
+ *buf->cur++ = c; /* add character, soutr buffer if full */
+ return (buf->cur == buf->end) ? rfc822_output_flush (buf) : LONGT;
+ }
+@@ -1374,7 +1375,8 @@
+ len -= i;
+ }
+ /* soutr buffer now if full */
+- if (len && !rfc822_output_flush (buf)) return NIL;
++ if ((len || (buf->cur == buf->end)) && !rfc822_output_flush (buf))
++ return NIL;
+ }
+ return LONGT;
+ }