summaryrefslogtreecommitdiff
path: root/package/fetchmail
diff options
context:
space:
mode:
authorwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
committerwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
commit219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch)
treeb9c0f3c43aebba2fcfef777592d0add39f2072f4 /package/fetchmail
Initial import
Diffstat (limited to 'package/fetchmail')
-rw-r--r--package/fetchmail/Config.in17
-rw-r--r--package/fetchmail/Makefile41
-rw-r--r--package/fetchmail/ipkg/fetchmail.control4
-rw-r--r--package/fetchmail/patches/patch-mxget_c127
4 files changed, 189 insertions, 0 deletions
diff --git a/package/fetchmail/Config.in b/package/fetchmail/Config.in
new file mode 100644
index 000000000..fa7f1bfe2
--- /dev/null
+++ b/package/fetchmail/Config.in
@@ -0,0 +1,17 @@
+config ADK_PACKAGE_FETCHMAIL
+ prompt "fetchmail......................... Remote mail retriever"
+ tristate
+ default n
+ help
+ Retrieves remote mail via POP/IMAP
+
+ Very useful in conjunction with mutt or pine.
+ Known to be full of security holes, beware.
+
+config ADK_PACKAGE_FETCHMAIL_SSL
+ bool " Enable SSL/TLS support"
+ depends ADK_PACKAGE_FETCHMAIL
+ select ADK_PACKAGE_LIBOPENSSL
+ default n
+ help
+ Enable this to be able to retrieve mails more securely.
diff --git a/package/fetchmail/Makefile b/package/fetchmail/Makefile
new file mode 100644
index 000000000..388afec92
--- /dev/null
+++ b/package/fetchmail/Makefile
@@ -0,0 +1,41 @@
+# $Id$
+#-
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= fetchmail
+PKG_VERSION:= 6.3.9
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 72c20ad2b9629f1a109668b05a84d823
+MASTER_SITES:= http://download.berlios.de/fetchmail/
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,FETCHMAIL,fetchmail,${PKG_VERSION}-${PKG_RELEASE},${ARCH}))
+
+CONFIGURE_STYLE= gnu
+CONFIGURE_ENV+= ac_cv_c_bigendian=no \
+ ac_cv_sizeof_off_t=8 \
+ ac_cv_sizeof_int=4 \
+ ac_cv_sizeof_long=4
+CONFIGURE_ARGS+= --without-hesiod
+BUILD_STYLE= auto
+INSTALL_STYLE= auto
+
+ifeq (${ADK_PACKAGE_FETCHMAIL_SSL},y)
+CONFIGURE_ARGS+= --with-ssl='${STAGING_DIR}/usr'
+PKG_DEPENDS:= openssl
+else
+CONFIGURE_ARGS+= --without-ssl
+PKG_DEPENDS:=
+endif
+
+post-install:
+ echo 'Depends: ${PKG_DEPENDS}' >>${IDIR_FETCHMAIL}/CONTROL/control
+ ${INSTALL_DIR} ${IDIR_FETCHMAIL}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/${PKG_NAME} ${IDIR_FETCHMAIL}/usr/bin/
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/fetchmail/ipkg/fetchmail.control b/package/fetchmail/ipkg/fetchmail.control
new file mode 100644
index 000000000..1e2a464f9
--- /dev/null
+++ b/package/fetchmail/ipkg/fetchmail.control
@@ -0,0 +1,4 @@
+Package: fetchmail
+Priority: optional
+Section: text
+Description: Mail text client
diff --git a/package/fetchmail/patches/patch-mxget_c b/package/fetchmail/patches/patch-mxget_c
new file mode 100644
index 000000000..ee6d61576
--- /dev/null
+++ b/package/fetchmail/patches/patch-mxget_c
@@ -0,0 +1,127 @@
+$Id$
+--- fetchmail-6.3.8.orig/mxget.c 2006-03-14 11:00:02.000000000 +0100
++++ fetchmail-6.3.8/mxget.c 2008-04-07 23:56:13.000000000 +0200
+@@ -54,6 +54,123 @@
+ /* minimum possible size of MX record in packet */
+ #define MIN_MX_SIZE 8 /* corresp to "a.com 0" w/ terminating space */
+
++/* from bind9 package: */
++/*
++Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
++Copyright (C) 1996-2003 Internet Software Consortium.
++
++Permission to use, copy, modify, and distribute this software for any
++purpose with or without fee is hereby granted, provided that the above
++copyright notice and this permission notice appear in all copies.
++
++THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
++REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
++AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
++INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
++LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
++OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
++PERFORMANCE OF THIS SOFTWARE.
++
++$Id: COPYRIGHT,v 1.9.18.3 2007/01/08 02:41:59 marka Exp $
++
++Portions Copyright (C) 1996-2001 Nominum, Inc.
++
++Permission to use, copy, modify, and distribute this software for any
++purpose with or without fee is hereby granted, provided that the above
++copyright notice and this permission notice appear in all copies.
++
++THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES
++WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
++MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR
++ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
++WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
++ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
++OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++*/
++#define NS_TYPE_ELT 0x40 /*%< EDNS0 extended label
++type
++*/
++#define NS_CMPRSFLGS 0xc0 /*%< Flag bits indicating name compression. */
++#define DNS_LABELTYPE_BITSTRING 0x41
++static int
++labellen(const u_char *lp)
++{
++ int bitlen;
++ u_char l = *lp;
++
++ if ((l & NS_CMPRSFLGS) == NS_CMPRSFLGS) {
++ /* should be avoided by the caller */
++ return(-1);
++ }
++
++ if ((l & NS_CMPRSFLGS) == NS_TYPE_ELT) {
++ if (l == DNS_LABELTYPE_BITSTRING) {
++ if ((bitlen = *(lp + 1)) == 0)
++ bitlen = 256;
++ return((bitlen + 7 ) / 8 + 1);
++ }
++ return(-1); /*%< unknwon ELT */
++ }
++ return(l);
++}
++/*%
++ * Advance *ptrptr to skip over the compressed name it points at.
++ *
++ * return:
++ *\li 0 on success, -1 (with errno set) on failure.
++ */
++int
++ns_name_skip(const u_char **ptrptr, const u_char *eom)
++{
++ const u_char *cp;
++ u_int n;
++ int l;
++
++ cp = *ptrptr;
++ while (cp < eom && (n = *cp++) != 0) {
++ /* Check for indirection. */
++ switch (n & NS_CMPRSFLGS) {
++ case 0: /*%< normal case, n == len */
++ cp += n;
++ continue;
++ case NS_TYPE_ELT: /*%< EDNS0 extended label */
++ if ((l = labellen(cp - 1)) < 0) {
++// errno = EMSGSIZE; /*%< XXX */
++ return(-1);
++ }
++ cp += l;
++ continue;
++ case NS_CMPRSFLGS: /*%< indirection */
++ cp++;
++ break;
++ default: /*%< illegal type */
++// errno = EMSGSIZE;
++ return (-1);
++ }
++ break;
++ }
++ if (cp > eom) {
++// errno = EMSGSIZE;
++ return (-1);
++ }
++ *ptrptr = cp;
++ return (0);
++}
++
++/*%
++ * Skip over a compressed domain name. Return the size or -1.
++ */
++int
++dn_skipname(const u_char *ptr, const u_char *eom) {
++ const u_char *saveptr = ptr;
++
++ if (ns_name_skip(&ptr, eom) == -1)
++ return (-1);
++ return (ptr - saveptr);
++}
++/* End from Bind9 package */
++
++
+ struct mxentry *getmxrecords(const char *name)
+ /* get MX records for given host */
+ {