summaryrefslogtreecommitdiff
path: root/community/dbmail
diff options
context:
space:
mode:
Diffstat (limited to 'community/dbmail')
-rw-r--r--community/dbmail/PKGBUILD71
-rw-r--r--community/dbmail/dbmail-2.2.10-pam-support.patch251
-rw-r--r--community/dbmail/dbmail-imapd.service11
-rw-r--r--community/dbmail/dbmail-imapd.xinetd13
-rw-r--r--community/dbmail/dbmail-lmtpd.service11
-rw-r--r--community/dbmail/dbmail-lmtpd.xinetd13
-rw-r--r--community/dbmail/dbmail-pop3d.service11
-rw-r--r--community/dbmail/dbmail-pop3d.xinetd13
-rw-r--r--community/dbmail/dbmail-timsieved.service11
-rw-r--r--community/dbmail/dbmail-timsieved.xinetd15
-rw-r--r--community/dbmail/dbmail.tmpfiles1
11 files changed, 0 insertions, 421 deletions
diff --git a/community/dbmail/PKGBUILD b/community/dbmail/PKGBUILD
deleted file mode 100644
index f86eb43b9..000000000
--- a/community/dbmail/PKGBUILD
+++ /dev/null
@@ -1,71 +0,0 @@
-# $Id: PKGBUILD 94954 2013-08-01 13:33:14Z spupykin $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: Sebastian Faltoni <sebastian.faltoni@gmail.com>
-
-pkgname=dbmail
-pkgver=3.1.2
-pkgrel=1
-pkgdesc="Fast and scalable sql based mail services"
-arch=('i686' 'x86_64')
-depends=('gmime' 'libzdb' 'mhash' 'libevent')
-makedepends=('asciidoc' 'xmlto' 'docbook-xsl' 'docbook-xml' 'postgresql-libs>=8.4.1'
- 'sqlite' 'libmysqlclient' 'libldap>=2.4.18' 'libsieve'
- 'git')
-optdepends=('libldap: for LDAP authentication'
- 'libsieve: for dbmail-sieve'
- 'python2-mysql2pgsql: migrate from MySQL to PostreSQL')
-url="http://www.dbmail.org"
-license=('GPL')
-options=('!libtool' 'zipman')
-backup=(etc/xinetd.d/dbmail-imapd
- etc/xinetd.d/dbmail-pop3d
- etc/xinetd.d/dbmail-lmtpd
- etc/xinetd.d/dbmail-timsieved)
-source=(http://www.dbmail.org/download/3.1/dbmail-${pkgver/_/-}.tar.gz
- dbmail.tmpfiles
- dbmail-imapd.service
- dbmail-lmtpd.service
- dbmail-pop3d.service
- dbmail-timsieved.service
- dbmail-imapd.xinetd
- dbmail-lmtpd.xinetd
- dbmail-pop3d.xinetd
- dbmail-timsieved.xinetd)
-md5sums=('905bf87cad4336e161b3d0d9cd5311bd'
- 'c4b5793c5422b62a675d4c66ff7e9300'
- '5a6297cb03c8d0b424f978ea1d7402de'
- '070db88538af9833f003f4cb516d337b'
- '422f0399f97a780b7cab84443e8f429a'
- '15c7d367d4242aebac5f87649a2250aa'
- '890de13361afbdf4fed12d6d7eb53e66'
- '961593658cd596297d03d25eb9c9e98f'
- '4cb764894abd3914802e90602bf90a0c'
- 'e78dc86355f9aaf24590bc7c6611162f')
-
-build() {
- cd $srcdir/dbmail-${pkgver/_/-}/
- [ -f Makefile ] || ./configure \
- --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc \
- --with-ldap --with-sieve
- make
-}
-
-package() {
- cd $srcdir/dbmail-${pkgver/_/-}/
- make DESTDIR=$pkgdir install
- (cd man && make && make install DESTDIR=$pkgdir)
-
- mkdir $pkgdir/etc
- install -Dm644 dbmail.conf $pkgdir/etc/dbmail.conf.sample
- mkdir $pkgdir/usr/share/dbmail
- cp -r sql/* $pkgdir/usr/share/dbmail/
- cp -a contrib $pkgdir/usr/share/dbmail/
- cp dbmail.schema $pkgdir/usr/share/dbmail/
-
- for i in dbmail-imapd dbmail-lmtpd dbmail-pop3d dbmail-timsieved; do
- install -Dm0644 $srcdir/$i.service $pkgdir/usr/lib/systemd/system/$i.service
- install -Dm0644 $srcdir/$i.xinetd $pkgdir/etc/xinetd.d/$i
- done
-
- install -Dm0644 $srcdir/dbmail.tmpfiles $pkgdir/usr/lib/tmpfiles.d/dbmail.conf
-}
diff --git a/community/dbmail/dbmail-2.2.10-pam-support.patch b/community/dbmail/dbmail-2.2.10-pam-support.patch
deleted file mode 100644
index 805a7f609..000000000
--- a/community/dbmail/dbmail-2.2.10-pam-support.patch
+++ /dev/null
@@ -1,251 +0,0 @@
-diff -wbBur dbmail-2.2.10/configure.in dbmail-2.2.10.pam/configure.in
---- dbmail-2.2.10/configure.in 2008-03-24 17:49:33.000000000 +0300
-+++ dbmail-2.2.10.pam/configure.in 2008-09-18 16:43:04.000000000 +0400
-@@ -78,6 +78,13 @@
-
- AC_SUBST(CRYPTLIB)
-
-+dnl Check for PAM
-+AC_SUBST(PAMLIBS,"")
-+AC_CHECK_HEADERS(security/pam_appl.h,
-+ [AC_CHECK_LIB(pam,pam_start,
-+ [AC_DEFINE(HAVE_PAM,1,[Define if you have PAN including devel headers])
-+ PAMLIBS="-lpam"],,)])
-+
- AC_SUBST(MYSQLLIB)
- AC_SUBST(MYSQLALIB)
- AC_SUBST(MYSQLLTLIB)
-diff -wbBur dbmail-2.2.10/dbmail-user.c dbmail-2.2.10.pam/dbmail-user.c
---- dbmail-2.2.10/dbmail-user.c 2008-03-24 17:49:33.000000000 +0300
-+++ dbmail-2.2.10.pam/dbmail-user.c 2008-09-18 16:43:04.000000000 +0400
-@@ -157,7 +157,7 @@
- "md5", "md5-raw", "md5sum", "md5sum-raw",
- "md5-hash", "md5-hash-raw", "md5-digest", "md5-digest-raw",
- "md5-base64", "md5-base64-raw", "md5base64", "md5base64-raw",
-- "shadow", "", NULL
-+ "shadow", "pam", "", NULL
- };
-
- /* These must correspond to the easy text names. */
-@@ -166,7 +166,7 @@
- MD5_HASH, MD5_HASH_RAW, MD5_DIGEST, MD5_DIGEST_RAW,
- MD5_HASH, MD5_HASH_RAW, MD5_DIGEST, MD5_DIGEST_RAW,
- MD5_BASE64, MD5_BASE64_RAW, MD5_BASE64, MD5_BASE64_RAW,
-- SHADOW, PLAINTEXT, PWTYPE_NULL
-+ SHADOW, PWTYPE_PAM, PLAINTEXT, PWTYPE_NULL
- };
-
- memset(pw, 0, 50);
-@@ -251,6 +251,12 @@
- *enctype = "crypt";
- }
- break;
-+#ifdef HAVE_PAM
-+ case PWTYPE_PAM:
-+ null_strncpy(pw, passwd, 49);
-+ *enctype = "pam";
-+ break;
-+#endif
- default:
- qerrorf("Error: password type not supported [%s].\n",
- passwdtype);
-diff -wbBur dbmail-2.2.10/dbmail-user.h dbmail-2.2.10.pam/dbmail-user.h
---- dbmail-2.2.10/dbmail-user.h 2008-03-24 17:49:33.000000000 +0300
-+++ dbmail-2.2.10.pam/dbmail-user.h 2008-09-18 16:43:04.000000000 +0400
-@@ -34,7 +34,7 @@
- typedef enum {
- PLAINTEXT = 0, PLAINTEXT_RAW, CRYPT, CRYPT_RAW,
- MD5_HASH, MD5_HASH_RAW, MD5_DIGEST, MD5_DIGEST_RAW,
-- MD5_BASE64, MD5_BASE64_RAW, SHADOW, PWTYPE_NULL
-+ MD5_BASE64, MD5_BASE64_RAW, SHADOW, PWTYPE_PAM, PWTYPE_NULL
- } pwtype_t;
-
- int mkpassword(const char * const user, const char * const passwd,
-diff -wbBur dbmail-2.2.10/modules/authsql.c dbmail-2.2.10.pam/modules/authsql.c
---- dbmail-2.2.10/modules/authsql.c 2008-03-24 17:49:33.000000000 +0300
-+++ dbmail-2.2.10.pam/modules/authsql.c 2008-09-18 16:43:04.000000000 +0400
-@@ -27,6 +27,19 @@
- #include "dbmail.h"
- #define THIS_MODULE "auth"
-
-+#ifdef HAVE_PAM
-+#include <security/pam_appl.h>
-+
-+#ifndef DEFAULT_DBMAIL_PAM_SERVICE
-+#define DEFAULT_DBMAIL_PAM_SERVICE "dbmail"
-+#endif
-+
-+#ifndef DEFAULT_DBMAIL_PAM_TTL
-+#define DEFAULT_DBMAIL_PAM_TTL 60
-+#endif
-+
-+#endif
-+
- extern db_param_t _db_params;
- #define DBPFX _db_params.pfx
-
-@@ -49,17 +62,80 @@
- */
- static int __auth_query(const char *thequery);
-
-+#ifdef HAVE_PAM
-+
-+static char *pam_password = NULL; /* Workaround for Solaris 2.6 brokenness */
-+static pam_handle_t *pamh = NULL;
-+static int pam_ttl = DEFAULT_DBMAIL_PAM_TTL;
-+static char *pam_service = DEFAULT_DBMAIL_PAM_SERVICE;
-+static time_t pamh_created = 0;
-+/*
-+ * A simple "conversation" function returning the supplied password.
-+ * Has a bit to much error control, but this is my first PAM application
-+ * so I'd rather check everything than make any mistakes. The function
-+ * expects a single converstation message of type PAM_PROMPT_ECHO_OFF.
-+ */
-+static int
-+password_conversation(int num_msg, const struct pam_message **msg, struct pam_response **resp, void *appdata_ptr)
-+{
-+ if (num_msg != 1 || msg[0]->msg_style != PAM_PROMPT_ECHO_OFF) {
-+ TRACE(TRACE_ERROR, "Unexpected PAM converstaion '%d/%s'", msg[0]->msg_style, msg[0]->msg);
-+ return PAM_CONV_ERR;
-+ }
-+ if (!appdata_ptr) {
-+ /* Workaround for Solaris 2.6 where the PAM library is broken
-+ * and does not pass appdata_ptr to the conversation routine
-+ */
-+ appdata_ptr = pam_password;
-+ }
-+ if (!appdata_ptr) {
-+ TRACE(TRACE_ERROR, "ERROR: No password available to password_converstation!");
-+ return PAM_CONV_ERR;
-+ }
-+ *resp = calloc(num_msg, sizeof(struct pam_response));
-+ if (!*resp) {
-+ TRACE(TRACE_ERROR, "Out of memory!");
-+ return PAM_CONV_ERR;
-+ }
-+ (*resp)[0].resp = strdup((char *) appdata_ptr);
-+ (*resp)[0].resp_retcode = 0;
-+
-+ return ((*resp)[0].resp ? PAM_SUCCESS : PAM_CONV_ERR);
-+}
-+
-+static struct pam_conv conv =
-+{
-+ &password_conversation,
-+ NULL
-+};
-+
-+#endif
-+
-+
- int auth_connect()
- {
- /* this function is only called after a connection has been made
- * if, in the future this is not the case, db.h should export a
- * function that enables checking for the database connection
- */
-+#ifdef HAVE_PAM
-+
-+#endif
- return 0;
- }
-
- int auth_disconnect()
- {
-+#ifdef HAVE_PAM
-+ int retval=PAM_SUCCESS;
-+ if (pamh) {
-+ retval = pam_end(pamh, retval);
-+ if (retval != PAM_SUCCESS) {
-+ pamh = NULL;
-+ TRACE(TRACE_ERROR, "failed to release PAM authenticator");
-+ }
-+ }
-+#endif
- return 0;
- }
-
-@@ -458,7 +534,71 @@
- is_validated = (strncmp(md5str, query_result, 32) == 0) ? 1 : 0;
- g_free(md5str);
- }
-+#ifdef HAVE_PAM
-+ else if (strcasecmp(query_result, "pam") == 0) {
-+ int retval=0;
-+ TRACE(TRACE_DEBUG, "validating using pam for user [%s] pass:[%s]",real_username,password);
-+ conv.appdata_ptr = (char *) password;
-+ pam_password= password;
-+ if (pam_ttl == 0) {
-+ /* Create PAM connection */
-+ retval = pam_start(pam_service, real_username, &conv, &pamh);
-+ if (retval != PAM_SUCCESS) {
-+ TRACE(TRACE_ERROR, "failed to create PAM authenticator");
-+ goto pam_error;
-+ }
-+ } else if (!pamh || (time(NULL) - pamh_created) >= pam_ttl || pamh_created > time(NULL)) {
-+ /* Close previous PAM connection */
-+ if (pamh) {
-+ retval = pam_end(pamh, retval);
-+ if (retval != PAM_SUCCESS) {
-+ TRACE(TRACE_WARNING, "failed to release PAM authenticator");
-+ }
-+ pamh = NULL;
-+ }
-+ /* Initialize persistent PAM connection */
-+ retval = pam_start(pam_service, "dbmail@", &conv, &pamh);
-+ if (retval != PAM_SUCCESS) {
-+ TRACE(TRACE_ERROR, "failed to create PAM authenticator");
-+ goto pam_error;
-+ }
-+ pamh_created = time(NULL);
-+ }
-+ retval = PAM_SUCCESS;
-+ if (pam_ttl != 0) {
-+ if (retval == PAM_SUCCESS)
-+ retval = pam_set_item(pamh, PAM_USER, real_username);
-+ if (retval == PAM_SUCCESS)
-+ retval = pam_set_item(pamh, PAM_CONV, &conv);
-+ }
-+ if (retval == PAM_SUCCESS)
-+ retval = pam_authenticate(pamh, 0);
-+ if (retval == PAM_SUCCESS ) //&& !no_acct_mgmt
-+ retval = pam_acct_mgmt(pamh, 0);
-+ if (retval == PAM_SUCCESS) {
-+ is_validated=1;
-+ } else {
-+pam_error:
-+ is_validated=0;
-+ }
-+ /* cleanup */
-+ retval = PAM_SUCCESS;
-+#ifdef PAM_AUTHTOK
-+ if (pam_ttl != 0) {
-+ if (retval == PAM_SUCCESS)
-+ retval = pam_set_item(pamh, PAM_AUTHTOK, NULL);
-+ }
-+#endif
-+ if (pam_ttl == 0 || retval != PAM_SUCCESS) {
-+ retval = pam_end(pamh, retval);
-+ if (retval != PAM_SUCCESS) {
-+ TRACE(TRACE_WARNING, "failed to release PAM authenticator\n");
-+ }
-+ pamh = NULL;
-+ }
-
-+ }
-+#endif
- if (is_validated) {
- db_user_log_login(*user_idnr);
- } else {
-diff -wbBur dbmail-2.2.10/modules/Makefile.am dbmail-2.2.10.pam/modules/Makefile.am
---- dbmail-2.2.10/modules/Makefile.am 2008-03-24 17:49:33.000000000 +0300
-+++ dbmail-2.2.10.pam/modules/Makefile.am 2008-09-18 16:44:53.000000000 +0400
-@@ -60,7 +60,7 @@
-
- # This one is always built.
- libauth_sql_la_SOURCES = authsql.c
--libauth_sql_la_LIBADD = @CRYPTLIB@
-+libauth_sql_la_LIBADD = @CRYPTLIB@ @PAMLIBS@
-
- if LDAP
- libauth_ldap_la_SOURCES = authldap.c
diff --git a/community/dbmail/dbmail-imapd.service b/community/dbmail/dbmail-imapd.service
deleted file mode 100644
index bc3319fd0..000000000
--- a/community/dbmail/dbmail-imapd.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=DBMail Imap Server
-After=syslog.target network.target mysqld.service postgresql.service
-
-[Service]
-Type=forking
-PIDFile=/run/dbmail/dbmail-imapd.pid
-ExecStart=/usr/bin/dbmail-imapd -p /run/dbmail/dbmail-imapd.pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/community/dbmail/dbmail-imapd.xinetd b/community/dbmail/dbmail-imapd.xinetd
deleted file mode 100644
index 20f7d607d..000000000
--- a/community/dbmail/dbmail-imapd.xinetd
+++ /dev/null
@@ -1,13 +0,0 @@
-service imap
-{
- socket_type = stream
- wait = no
- user = nobody
- server = /usr/bin/dbmail-imapd
- protocol = tcp
- server_args = -n
- log_on_failure += USERID
- disable = yes
-# env = EVENT_NOEPOLL=yes
-# instances = 200
-}
diff --git a/community/dbmail/dbmail-lmtpd.service b/community/dbmail/dbmail-lmtpd.service
deleted file mode 100644
index 570ba1ec7..000000000
--- a/community/dbmail/dbmail-lmtpd.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=DBMail LMTP Server
-After=syslog.target network.target mysqld.service postgresql.service
-
-[Service]
-Type=forking
-PIDFile=/run/dbmail/dbmail-lmtpd.pid
-ExecStart=/usr/bin/dbmail-lmtpd -p /run/dbmail/dbmail-lmtpd.pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/community/dbmail/dbmail-lmtpd.xinetd b/community/dbmail/dbmail-lmtpd.xinetd
deleted file mode 100644
index 0a0e05620..000000000
--- a/community/dbmail/dbmail-lmtpd.xinetd
+++ /dev/null
@@ -1,13 +0,0 @@
-service lmtp
-{
- port = 24
- type = UNLISTED
- socket_type = stream
- wait = no
- user = nobody
- server = /usr/bin/dbmail-lmtpd
- protocol = tcp
- server_args = -n
- log_on_failure += USERID
- disable = yes
-}
diff --git a/community/dbmail/dbmail-pop3d.service b/community/dbmail/dbmail-pop3d.service
deleted file mode 100644
index edfa2570a..000000000
--- a/community/dbmail/dbmail-pop3d.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=DBMail pop3 Server
-After=syslog.target network.target mysqld.service postgresql.service
-
-[Service]
-Type=forking
-PIDFile=/run/dbmail/dbmail-pop3d.pid
-ExecStart=/usr/bin/dbmail-pop3d -p /run/dbmail/dbmail-pop3d.pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/community/dbmail/dbmail-pop3d.xinetd b/community/dbmail/dbmail-pop3d.xinetd
deleted file mode 100644
index f073aca8b..000000000
--- a/community/dbmail/dbmail-pop3d.xinetd
+++ /dev/null
@@ -1,13 +0,0 @@
-service pop3
-{
- socket_type = stream
- wait = no
- user = nobody
- server = /usr/bin/dbmail-pop3d
- protocol = tcp
- server_args = -n
- log_on_failure += USERID
- disable = yes
-# env = EVENT_NOEPOLL=yes
-# instances = 200
-}
diff --git a/community/dbmail/dbmail-timsieved.service b/community/dbmail/dbmail-timsieved.service
deleted file mode 100644
index 32623e038..000000000
--- a/community/dbmail/dbmail-timsieved.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=DBMail Sieve Server
-After=syslog.target network.target mysqld.service postgresql.service
-
-[Service]
-Type=forking
-PIDFile=/run/dbmail/dbmail-timsieved.pid
-ExecStart=/usr/bin/dbmail-timsieved -p /run/dbmail/dbmail-timsieved.pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/community/dbmail/dbmail-timsieved.xinetd b/community/dbmail/dbmail-timsieved.xinetd
deleted file mode 100644
index 69f6dd66b..000000000
--- a/community/dbmail/dbmail-timsieved.xinetd
+++ /dev/null
@@ -1,15 +0,0 @@
-service sieve
-{
-# port = 2000
-# type = UNLISTED
- socket_type = stream
- wait = no
- user = nobody
- server = /usr/bin/dbmail-timsieved
- protocol = tcp
- server_args = -n
- log_on_failure += USERID
- disable = yes
-# env = EVENT_NOEPOLL=yes
-# instances = 200
-}
diff --git a/community/dbmail/dbmail.tmpfiles b/community/dbmail/dbmail.tmpfiles
deleted file mode 100644
index 4b97c91f5..000000000
--- a/community/dbmail/dbmail.tmpfiles
+++ /dev/null
@@ -1 +0,0 @@
-d /run/dbmail 0755 nobody nobody -