# ChangeLog for net-mail/qpopper
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/qpopper/ChangeLog,v 1.37 2011/12/18 17:37:40 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-mail/qpopper/ChangeLog,v 1.38 2011/12/19 15:32:15 eras Exp $
+
+ 19 Dec 2011; Eray Aslan <eras@gentoo.org>
+ -files/qpopper-4.0.14-parallel-build.patch, -qpopper-4.0.16.ebuild,
+ -files/qpopper-4.0.16-glibc-2.10.patch, -files/qpopper-CAN-2005-1151.patch,
+ -files/qpopper-CAN-2005-1152.patch:
+ remove old
18 Dec 2011; Raúl Porcel <armin76@gentoo.org> qpopper-4.0.16.ebuild,
qpopper-4.1.0.ebuild:
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
+Hash: SHA256
-AUX qpopper-4.0.14-parallel-build.patch 392 RMD160 8c809262da075e692c1cdc57935e60d056a21627 SHA1 1762fe3496e2829253dcfff4f736428218026053 SHA256 0a7ea5cddf88e8a405af4bc540bcf2244450ad3d6c73de425bbe559195fbdb26
-AUX qpopper-4.0.16-glibc-2.10.patch 3127 RMD160 a482f95fc1bc18882162e336e9c1551e69eaa08a SHA1 c80872f005d681719070e5821fd7f242fb8477ef SHA256 737ab0a71088957fde762669dec21091f468d1d40c73f8a8e81fb17e27c124c5
AUX qpopper-4.1-parallel-build.patch 464 RMD160 2c6fa96aad9f957337dd5ce448227840d03b2af5 SHA1 657af59f6f339840b8c828172348515ef8652027 SHA256 55a3014b5db01656b062fb374f9e9f31513de0e76b87b448c96268386c8d669b
-AUX qpopper-CAN-2005-1151.patch 4628 RMD160 952a4dfc535d2b02fab10e8c760a764ce0e6b0ff SHA1 992b84fe1413638b5d01cf1e9d465a9a92e14a84 SHA256 0141a199029245e8e08277ae1ea53e6c7eb681cbb4e4aca2428b1b8e88b97451
-AUX qpopper-CAN-2005-1152.patch 429 RMD160 6d13c9453ef334f4eeadc3b0808d3a3de6b50551 SHA1 da120a5c7cb822b2a07d23a9510aedfcc045917c SHA256 c2ab4c613ea259550c6b52d1a40d2f6cdf3edb21ec4a46fdefa3c31f142224e5
AUX qpopper.conf 20457 RMD160 ff9c5e883b40da4aff56a832bc31c1fd39ef9394 SHA1 e0b0198eef3d01332b1ffeac61e962885852cd7b SHA256 ed4d6a22d9e1c5e9cb89c86d7d63a9cf552d76cba9bb94b4adc467662043ae52
AUX qpopper.init.d 519 RMD160 109b681b155c1e89c756330b3abf65d0313c23c3 SHA1 926d3c48f3d7f2793220d4bf3d43f52d91e70a34 SHA256 fca7b5c7646246613acfa1b76dd4e610a64e1ef1f53617b26f1c254cc192f360
AUX qpopper.xinetd 408 RMD160 9b7be25ec7a07a38f857e1a3ff8e2bf8f0f15e8e SHA1 f4f2f602db40191a5f94ab065014dffdcce38f76 SHA256 e6de613540086c0312029c0f0c762a6383df3c3f106c7112a371bdfd1ed087c4
-DIST qpopper4.0.16.tar.gz 2358668 RMD160 079a4a17b6dd36f130112ede4940e44f87c52663 SHA1 ac2f86b898fcba8efa52a85415baf8405f3e5e80 SHA256 57a93e2d3953f2964c0862901191a3e276b58800bb26e67dd886321177717f6e
DIST qpopper4.1.0.tar.gz 1239530 RMD160 5254dd252739b2465795a0161bc2fed82adffbcc SHA1 7806c230cb2b87d131c356de6ce85160650b5aea SHA256 1bc21f83cda47e9b2d5d8ceecc49f169e10fdb9b99ddddcd543218fad269b0de
-EBUILD qpopper-4.0.16.ebuild 3331 RMD160 090a921cac30c9eb7b70cb048e22609dab6a93ee SHA1 42cba02dbd4a091bc6d87cba7f9879d618847bff SHA256 192747136a1b9e4483a168582b387bea74b8ed24ea1097ab4e5938a8e679f302
EBUILD qpopper-4.1.0.ebuild 3184 RMD160 bc0987568973252c900e62b093be34628f570502 SHA1 f77533a8e37e8183919267531267ab361c499852 SHA256 c4045cee08b5b5de510649015609ff0a69483880235d6189224e113094feb122
-MISC ChangeLog 5389 RMD160 97c7d9c9320058fcf71cd3804f7af1f33799a984 SHA1 64e45caf919fa95ccf1f0faa91a6568f15253c5d SHA256 3ab2194025088681c28be5ee46c6fd9e668824e5b56bf1dc0670c39c33e35bb2
+MISC ChangeLog 5630 RMD160 eb04984000200699ed5de673c574daf7cc2bfb1c SHA1 2594da7a13cfd957a231991e5fcae4d3ca955027 SHA256 a0f81b441a15f557ffe0563226760ae4be826b38e35fe86e2bc64be166432f3a
MISC metadata.xml 480 RMD160 8e88bef88cbfc9923e6e01490422d5dd50ae5f54 SHA1 cb3310a29b284e6f07dd5f585b8411108fe19eda SHA256 6b06f6f22801f96ad718e9ec2bdab6acb338339f3dbcb5b0c4624ca4546ddab7
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.17 (GNU/Linux)
+Version: GnuPG v2.0.18 (GNU/Linux)
-iEYEARECAAYFAk7uJOoACgkQuQc30/atMkA7eACeIeZha5pTRwAu8+viy45fPTMG
-rNYAoJrASDWqRwYgGy2uS/tJKDMxd/Ku
-=UM5v
+iQIcBAEBCAAGBQJO71kHAAoJEHfx8XVYajsfEbAP/iRwcUV4ZKbeT8mbdyXwQPrR
+c0KY7Q97nNaipHciwpzUIuVwtOoWd5k+5EehsET5MYl9eivbtpBlSytUIZUaT8cf
+EMbTfv3X98RVO3SSTe++oQPtg7t1H4c6uHK7NW6BYxg0Kb4OkeSxRdJK9rz4WU8/
++0kr79SIEezfFiisWZhg0jDyhRxXQt7IxgoesCysC6UciCwpv8obDLeMv/3S9ui/
+qFf+sCx8WmW5kpph9vdPKoSr4rZM2omCA5N/80T1XbfeBIezHxLlMsYZeESMyxHW
+xPDH53SRIPf9BbHacoXbZuxEYUwQjgXXQKRDSuR3HQOH2APnQ6hiPaGxFyKJkx2O
+xf/gKePQ/bvnpo/BgjoNnPa+/rNQonB8ZvCqWGpLsdkcCfytC9bQOyi9+MyTwV/b
+pHJ0iqH/UX8Dt0MgsyyyKTeE2PhugBTvDoE9rCakhPQuDlFxyyYdAit2ub5rjmyk
+TKVhJb8AdHGXrFfgmwtN9Fjcmf3yISq0g0ATQ8pKKRd/thBXsybXlvbV2A6QBuaE
+7ePCHab47294Z908ubVp75B9OE41nxNocivuV+lvgv3gZvGOppQG7gx4NgfRZQk0
+9JBpl081PPTVrH2jO9QUuQN9EY82PSHMeWrJvSwODX6mdN5wf0KI9Yx3GqqvrDlu
+RehxJ2TdCFyzgDGSxxvR
+=B6a2
-----END PGP SIGNATURE-----
+++ /dev/null
---- popper/Makefile.in.orig 2009-03-30 18:45:20.000000000 +0400
-+++ popper/Makefile.in 2009-03-30 18:45:34.000000000 +0400
-@@ -194,7 +194,7 @@
- -I${common_srcdir} ${common_dir}/libcommon.a \
- ${LIBS} ${LDFLAGS}
-
--popauth: ${POPAUTHOBJS}
-+popauth: ${POPAUTHOBJS} common_library
- ${CC} -o popauth ${POPAUTHOBJS} ${NETWORK_LIBS} ${DBM_LIBS} \
- ${common_dir}/libcommon.a
-
+++ /dev/null
-diff -ur qpopper4.0.16.orig/popper/popper.c qpopper4.0.16/popper/popper.c
---- qpopper4.0.16.orig/popper/popper.c 2009-01-10 02:28:26.000000000 +0200
-+++ qpopper4.0.16/popper/popper.c 2009-08-07 13:42:40.000000000 +0300
-@@ -31,7 +31,7 @@
- * (thanks to Kyle McKay for the patch)
- *
- * 04/04/02 [rg]
-- * - getline() now clears out storage buffer when giving up
-+ * - get_line() now clears out storage buffer when giving up
- * after discarding bytes. Fixes looping DOS attack seen
- * on some systems.
- *
-@@ -41,7 +41,7 @@
- *
- * 06/01/01 [rg]
- * - Added patch by Carles Xavier Munyoz to fix erroneous
-- * scanning for \n in getline().
-+ * scanning for \n in get_line().
- *
- * 01/15/01 [rg]
- * - Handle run-time options bShy, bDo_timing, bUpdate_on_abort.
-@@ -150,7 +150,7 @@
- char message [ MAXLINELEN ];
- pop_result rslt = POP_FAILURE;
- char * tgetline();
-- char * getline();
-+ char * get_line();
-
- /*
- * seed random with the current time to nearest second
-@@ -415,7 +415,7 @@
-
-
- /*
-- * Our own getline. One reason we don't use fgets because there was
-+ * Our own get_line. One reason we don't use fgets because there was
- * a comment here that fgets was broken on AIX. Another reason is
- * that we need to read out of the TLS stream at times.
- *
-@@ -425,7 +425,7 @@
- */
-
- char
--*getline ( char *str, int size, POP *pPOP )
-+*get_line ( char *str, int size, POP *pPOP )
- {
- char *p = NULL;
- int nRead = 0;
-@@ -433,7 +433,7 @@
- int nBufSz = sizeof ( pPOP->pcInBuf );
-
-
-- _DEBUG_LOG2 ( pPOP, "getline(%p,%d)", str, size );
-+ _DEBUG_LOG2 ( pPOP, "get_line(%p,%d)", str, size );
-
- /*
- * See if there's a line in our input buffer
-@@ -472,7 +472,7 @@
- pPOP->pcInStart - pPOP->pcInBuf );
- pPOP->pcInStart = pPOP->pcInEnd = pPOP->pcInBuf;
- }
-- _DEBUG_LOG3 ( pPOP, "getline() returning %d: '%.*s'",
-+ _DEBUG_LOG3 ( pPOP, "get_line() returning %d: '%.*s'",
- strlen(str), MIN(25, (int) strlen(str)), str );
- return ( str );
- } /* got a line */
-@@ -560,7 +560,7 @@
- } /* found a '\n' */
- } /* loop and discard until we see a '\n' */
-
-- _DEBUG_LOG2 ( pPOP, "getline() returning %d ('%c')",
-+ _DEBUG_LOG2 ( pPOP, "get_line() returning %d ('%c')",
- strlen(str), *str );
- return ( str );
- } /* nRoom == 0 */
-@@ -583,7 +583,7 @@
- break;
- } /* main loop */
-
-- _DEBUG_LOG0 ( pPOP, "getline() returning NULL" );
-+ _DEBUG_LOG0 ( pPOP, "get_line() returning NULL" );
- return ( NULL );
- }
-
-@@ -614,7 +614,7 @@
- VERSION, timeout, p->user, p->client, p->ipaddr );
- }
- else
-- str = getline ( str, size, p );
-+ str = get_line ( str, size, p );
-
- alarm ( 0 );
- signal ( SIGALRM, SIG_DFL );
+++ /dev/null
-only in patch2:
-unchanged:
---- qpopper-4.0.4.orig/popper/pop_config.c
-+++ qpopper-4.0.4/popper/pop_config.c
-@@ -85,6 +85,7 @@
- #include <string.h>
- #include <errno.h>
- #include <ctype.h>
-+#include <unistd.h>
- #include <limits.h>
-
- #ifdef QPOP_OPENSSL
-@@ -1487,6 +1488,8 @@
- int rslt;
- char buf [ 256 ];
- struct stat stat_buf;
-+ BOOL bUser = FALSE;
-+ BOOL bSpool = FALSE;
-
-
- if ( p->bUser_opts ) {
-@@ -1497,14 +1500,8 @@
- p->user );
- else {
- rslt = stat ( buf, &stat_buf );
-- if ( rslt == 0 ) {
-- rslt = pop_config ( p, buf, CfgUser );
-- if ( rslt == POP_FAILURE ) {
-- pop_log ( p, POP_PRIORITY, HERE,
-- "Unable to process user options file for user %s",
-- p->user );
-- }
-- }
-+ if ( rslt == 0 )
-+ bUser = TRUE;
- }
- } /* p->user_opts */
-
-@@ -1517,16 +1514,46 @@
- p->user );
- else {
- rslt = stat ( buf, &stat_buf );
-- if ( rslt == 0 ) {
-- rslt = pop_config ( p, buf, CfgConnected );
-- if ( rslt == POP_FAILURE ) {
-- pop_log ( p, POP_PRIORITY, HERE,
-- "Unable to process spool options file for user %s",
-- p->user );
-- }
-- }
-+ if ( rslt == 0 )
-+ bSpool = TRUE;
- }
- } /* p->spool_opts */
-+
-+ /*
-+ * If we are to process either, do it as the user, not root
-+ */
-+ if ( bUser || bSpool ) {
-+ UID_T uid_save = 0;
-+
-+ uid_save = geteuid();
-+ if ( seteuid ( pwp->pw_uid ) != 0 ) {
-+ rslt = POP_FAILURE; /* seteuid failed */
-+ pop_log ( p, POP_PRIORITY, HERE,
-+ "seteuid(%i) for user %s failed",
-+ pwp->pw_uid, p->user );
-+ } /* seteuid failed */
-+ else { /* we are now the user */
-+ if ( bUser ) {
-+ rslt = pop_config ( p, buf, CfgConnected );
-+ if ( rslt == POP_FAILURE )
-+ pop_log ( p, POP_PRIORITY, HERE,
-+ "Unable to process user options file for user %s",
-+ p->user );
-+ }
-+
-+ if ( bSpool ) {
-+ rslt = pop_config ( p, buf, CfgConnected );
-+ if ( rslt == POP_FAILURE )
-+ pop_log ( p, POP_PRIORITY, HERE,
-+ "Unable to process spool options file for user %s",
-+ p->user );
-+ }
-+
-+ if ( seteuid ( uid_save ) != 0 )
-+ pop_log ( p, POP_PRIORITY, HERE,
-+ "seteuid(%i) back failed", uid_save );
-+ } /* we are now the user */
-+ } /* bUser || bSpool */
- }
-
-
-only in patch2:
-unchanged:
---- qpopper-4.0.4.orig/popper/popauth.c
-+++ qpopper-4.0.4/popper/popauth.c
-@@ -107,6 +107,7 @@
- #include <fcntl.h>
- #include <errno.h>
- #include <string.h>
-+#include <unistd.h>
-
- #ifndef HAVE_BCOPY
- # define bcopy(src,dest,len) (void) (memcpy(dest,src,len))
-@@ -277,6 +278,7 @@
- static void helpful ( void );
- static int check_db_err ( void *db, const char *op, BOOL bExp );
- static const char *printable ( const char *p, int len );
-+static void open_trace ( char *fname );
-
-
- static void
-@@ -453,6 +455,30 @@
- }
-
-
-+void
-+open_trace ( char *tname )
-+{
-+ UID_T uid_save = -1;
-+ UID_T myuid = -1;
-+
-+
-+ uid_save = geteuid();
-+ myuid = getuid();
-+ if ( seteuid ( myuid ) != 0 )
-+ adios ( HERE, "internal error @ %i", __LINE__ );
-+
-+ trace_file = fopen ( tname, "a+" );
-+ if ( trace_file == NULL )
-+ adios ( HERE, "Unable to open trace file \"%s\": %s (%d)\n",
-+ tname, STRERROR(errno), errno );
-+ BLATHER1 ( "Trace and Debug destination is file \"%s\"",
-+ tname );
-+
-+ if ( seteuid ( uid_save ) != 0 )
-+ adios ( HERE, "internal error @ %i", __LINE__ );
-+}
-+
-+
- #ifndef HAVE_STRDUP
- #include <stddef.h>
-
-@@ -748,13 +775,7 @@
- helpful();
- case TRACESW:
- debug++;
-- trace_file = fopen ( argv[1], "a+" );
-- if ( trace_file == NULL )
-- adios ( HERE,
-- "Unable to open trace file \"%s\": %s (%d)\n",
-- argv[1], STRERROR(errno), errno );
-- BLATHER1 ( "Trace and Debug destination is file \"%s\"",
-- argv[1] );
-+ open_trace ( argv[1] );
- argc--;
- argv++;
- break;
+++ /dev/null
---- qpopper-4.0.4.orig/popper/popauth.c
-+++ qpopper-4.0.4/popper/popauth.c
-@@ -669,6 +695,7 @@
-
- memset ( &pop_pw, 0, sizeof(pop_pw) );
- memset ( &my_pw, 0, sizeof(my_pw) );
-+ umask ( 0077 ); /* make sure we don't create group- or world-writable files */
- srandom ( (unsigned int) time ( (TIME_T *) 0) ); /* seed random with the
- current time */
+++ /dev/null
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/qpopper/qpopper-4.0.16.ebuild,v 1.7 2011/12/18 17:37:40 armin76 Exp $
-
-EAPI="2"
-#inherit eutils flag-o-matic ssl-cert
-inherit eutils ssl-cert
-
-MY_P=${PN}${PV}
-
-DESCRIPTION="A POP3 Server"
-HOMEPAGE="http://www.eudora.com/products/unsupported/qpopper/index.html"
-SRC_URI="ftp://ftp.qualcomm.com/eudora/servers/unix/popper/${MY_P}.tar.gz"
-
-LICENSE="qpopper ISOC-rfc"
-SLOT="0"
-KEYWORDS="~amd64 x86"
-IUSE="debug drac gdbm mailbox pam ssl xinetd apop"
-
-DEPEND="virtual/mta
- xinetd? ( virtual/inetd )
- gdbm? ( sys-libs/gdbm )
- !gdbm? ( ~sys-libs/db-1.85 )
- drac? ( mail-client/drac )
- pam? (
- >=sys-libs/pam-0.72
- >=net-mail/mailbase-0.00-r8
- )
- ssl? ( dev-libs/openssl )"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-pkg_setup() {
- use apop && enewuser pop
-}
-
-src_prepare() {
- # Test dirs are full of binary craft. Drop it.
- rm -rf test/ ./mmangle/test
- epatch "${FILESDIR}"/${PN}-4.0.14-parallel-build.patch
- epatch "${FILESDIR}"/${P}-glibc-2.10.patch
- sed -i -e 's:-o popauth:& ${LDFLAGS}:' popper/Makefile.in
-}
-
-src_configure() {
-# append-flags -Wa,--noexecstack
-
- econf \
- $(use_enable !xinetd standalone) \
- $(use_enable debug debugging) \
- $(use_with ssl openssl) \
- $(use_with gdbm) \
- $(use_with pam pam pop3) \
- $(use_enable apop apop /etc/pop.auth) \
- $(use_enable mailbox home-dir-mail Mailbox) \
- $(use_with drac) \
- --enable-shy \
- --enable-popuid=pop \
- --enable-log-login \
- --enable-specialauth \
- --enable-log-facility=LOG_MAIL
-
- if ! use gdbm; then
- sed -i -e 's|#define HAVE_GDBM_H|//#define HAVE_GDBM_H|g' config.h || die "sed failed"
- fi
-}
-
-src_install() {
- if use apop; then
- dosbin popper/popauth || die
- fowners pop:root /usr/sbin/popauth
- fperms 4110 /usr/sbin/popauth
- doman man/popauth.8 || die
- fi
-
- dosbin popper/popper || die
- doman man/popper.8 || die
-
- insinto /etc
- doins "${FILESDIR}/qpopper.conf" || die
-
- if use ssl; then
- sed -i -e 's:^# \(set tls-server-cert-file\).*:\1 = /etc/mail/certs/cert.pem:' \
- -e 's:^# \(set tls-support\).*$:\1 = stls:'\
- "${D}/etc/qpopper.conf"
- fi
-
- if use xinetd; then
- insinto /etc/xinetd.d
- newins "${FILESDIR}/qpopper.xinetd" pop-3 || die
- else
- newinitd "${FILESDIR}/qpopper.init.d" qpopper || die
- fi
-
- dodoc README doc/{Release.Notes,Changes} || die
-
- docinto rfc
- dodoc doc/rfc*.txt || die
- dohtml doc/LMOS-FAQ.html || die
-
- insinto /usr/share/doc/${PF}
- doins GUIDE.pdf || die
-}
-
-pkg_postinst () {
- if use ssl; then
- install_cert /etc/mail/certs/cert
- chown root:mail /etc/mail/certs
- chmod 660 /etc/mail/certs
- fi
- if use apop; then
- elog "To authenticate the users with APOP "
- elog "you have to follow these steps:"
- elog ""
- elog "1) initialize the authentication database:"
- elog " # popauth -init"
- elog "2) new users can be added by root:"
- elog " # popauth -user <user>"
- elog " or removed:"
- elog " # popauth -delete <user>"
- elog " Other users can add themeselves or change their"
- elog " password with the command popauth"
- elog "3) scripts or other non-interactive processes can add or change"
- elog " the passwords with the following command:"
- elog " # popauth -user <user> <password>"
- elog ""
- fi
-}