diff options
author | root <root@rshg054.dnsready.net> | 2013-08-11 01:21:34 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-08-11 01:21:34 -0700 |
commit | 18a41d682d6e91e0d28fce23eb75292f477bd620 (patch) | |
tree | bce8f660d7d0b6541cadbc49bf1bac2434e4c0c6 /community/dbmail | |
parent | 0ade1da67addf154d93c6a6399b0a3d5a18a3336 (diff) |
Sun Aug 11 01:21:31 PDT 2013
Diffstat (limited to 'community/dbmail')
-rw-r--r-- | community/dbmail/PKGBUILD | 71 | ||||
-rw-r--r-- | community/dbmail/dbmail-2.2.10-pam-support.patch | 251 | ||||
-rw-r--r-- | community/dbmail/dbmail-imapd.service | 11 | ||||
-rw-r--r-- | community/dbmail/dbmail-imapd.xinetd | 13 | ||||
-rw-r--r-- | community/dbmail/dbmail-lmtpd.service | 11 | ||||
-rw-r--r-- | community/dbmail/dbmail-lmtpd.xinetd | 13 | ||||
-rw-r--r-- | community/dbmail/dbmail-pop3d.service | 11 | ||||
-rw-r--r-- | community/dbmail/dbmail-pop3d.xinetd | 13 | ||||
-rw-r--r-- | community/dbmail/dbmail-timsieved.service | 11 | ||||
-rw-r--r-- | community/dbmail/dbmail-timsieved.xinetd | 15 | ||||
-rw-r--r-- | community/dbmail/dbmail.tmpfiles | 1 |
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 - |