mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-06 13:57:14 +02:00
testing/dbmail: fix initd and add default config
This commit is contained in:
parent
dab2a3eaae
commit
30f1ddf1f8
@ -3,25 +3,28 @@
|
||||
pkgname=dbmail
|
||||
_realpkgver=3.0.0-rc3
|
||||
pkgver=${_realpkgver/-/_}
|
||||
pkgrel=0
|
||||
pkgrel=1
|
||||
pkgdesc="Fast and scalable sql based mail services"
|
||||
url="http://dbmail.org"
|
||||
arch="all"
|
||||
license="GPL"
|
||||
pkgusers="dbmail"
|
||||
pkggroups="dbmail"
|
||||
depends=
|
||||
depends_dev="openldap-dev libsieve-dev glib-dev gmime-dev
|
||||
mhash-dev libevent-dev libzdb-dev"
|
||||
makedepends="$depends_dev asciidoc xmlto automake autoconf"
|
||||
install=""
|
||||
subpackages="$pkgname-doc"
|
||||
subpackages="$pkgname-doc $pkgname-auth-ldap:auth_ldap"
|
||||
source="http://www.dbmail.org/download/3.0/dbmail-${_realpkgver}.tar.gz
|
||||
$pkgname-imapd.initd
|
||||
$pkgname-lmtpd.initd
|
||||
$pkgname-pop3d.initd
|
||||
$pkgname-httpd.initd
|
||||
$pkgname-timsieved.initd
|
||||
$pkgname.pre-install
|
||||
post-rc3.patch
|
||||
gmime-2.6.patch
|
||||
dbmail.conf
|
||||
"
|
||||
|
||||
_builddir="$srcdir/${pkgname}-${_realpkgver}"
|
||||
@ -34,19 +37,21 @@ prepare() {
|
||||
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
|
||||
esac
|
||||
done
|
||||
# we need support for gmine 2.6
|
||||
sed -i 's/gmime-2.4/gmime-2.6/g' configure
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$_builddir"
|
||||
autoreconf
|
||||
./configure --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--mandir=/usr/share/man \
|
||||
--infodir=/usr/share/info \
|
||||
--with-sieve \
|
||||
--with-ldap
|
||||
--with-ldap \
|
||||
--disable-static
|
||||
make || return 1
|
||||
#make man pages
|
||||
# make man pages
|
||||
cd "$_builddir/man"
|
||||
make || return 1
|
||||
}
|
||||
@ -55,7 +60,6 @@ package() {
|
||||
cd "$_builddir"
|
||||
make DESTDIR="$pkgdir" install || return 1
|
||||
rm "$pkgdir"/usr/lib/dbmail/*.la || return 1
|
||||
install -Dm644 "$pkgname.conf" "$pkgdir/etc/$pkgname.conf.sample"
|
||||
mkdir -p "$pkgdir/usr/share/$pkgname"
|
||||
mv sql/* "$pkgdir/usr/share/$pkgname/"
|
||||
mv "$pkgname.schema" "$pkgdir/usr/share/$pkgname/"
|
||||
@ -66,13 +70,25 @@ package() {
|
||||
#install man pages
|
||||
cd "$_builddir/man"
|
||||
make DESTDIR="$pkgdir" install || return 1
|
||||
install -m644 -D "$srcdir"/$pkgname.conf \
|
||||
"$pkgdir"/etc/$pkgname.conf || return 1
|
||||
install -dDo dbmail "$pkgdir"/var/run/dbmail || return 1
|
||||
install -dDo dbmail "$pkgdir"/var/lib/dbmail || return 1
|
||||
}
|
||||
|
||||
auth_ldap() {
|
||||
pkgdesc="$pkgname ldap authentication"
|
||||
mkdir -p "$subpkgdir"/usr/lib/dbmail
|
||||
mv "$pkgdir"/usr/lib/dbmail/libauth_ldap* \
|
||||
"$subpkgdir"/usr/lib/dbmail/ || return 1
|
||||
}
|
||||
|
||||
md5sums="52c3b9aad310efc90a6a2fff0552f73e dbmail-3.0.0-rc3.tar.gz
|
||||
76a0f8f96ca70a4af14c81716134cc5d dbmail-imapd.initd
|
||||
a6d79d7f0cf0fb80ef2ada71c25d9350 dbmail-lmtpd.initd
|
||||
504dd74912daeea4268f8c25ddf6de0f dbmail-pop3d.initd
|
||||
42ac86844fedf5d1afec764170e6a5de dbmail-httpd.initd
|
||||
4253a7580d82e026ecbaf45ea863e9e7 dbmail-timsieved.initd
|
||||
5e37f1190c8798edb450a40e97fe9a81 post-rc3.patch
|
||||
5c2548b1a68393337c58856614a5f359 gmime-2.6.patch"
|
||||
2f77092fade3b10123a47a5cce5b6a4a dbmail-imapd.initd
|
||||
f3a84b58ba878375ca088a0b544922cc dbmail-lmtpd.initd
|
||||
4273524211baefd9f32ea40ce9cb7dd1 dbmail-pop3d.initd
|
||||
1bf891189a6daf14254738d28f3c654f dbmail-httpd.initd
|
||||
4cd701bf1a8d292848fffe208afbe182 dbmail-timsieved.initd
|
||||
f146703e0c8c9badc92de152ac6f1e5b dbmail.pre-install
|
||||
f609d4cd01dbef95c6a1c498133a2065 post-rc3.patch
|
||||
549f2073f1c6ac902f783b493c0667d4 dbmail.conf"
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/sbin/runscript
|
||||
#
|
||||
|
||||
PIDFILE="/var/run/dbmail-httpd.pid"
|
||||
PIDFILE="/var/run/dbmail/httpd.pid"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
@ -11,23 +11,22 @@ depend() {
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
|
||||
eerror "You need to create apropriate config"
|
||||
eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist"
|
||||
return 1
|
||||
fi
|
||||
# Avoid using root's TMPDIR
|
||||
unset TMPDIR
|
||||
if [ ! -e "/etc/dbmail.conf" ]; then
|
||||
eerror "You need to create apropriate config"
|
||||
eerror "/etc/dbmail.conf"
|
||||
return 1
|
||||
fi
|
||||
# Avoid using root's TMPDIR
|
||||
unset TMPDIR
|
||||
}
|
||||
|
||||
|
||||
start() {
|
||||
checkconfig && \
|
||||
ebegin "Starting DBMail HTTP daemon"
|
||||
start-stop-daemon --start --quiet \
|
||||
--exec /usr/sbin/dbmail-httpd \
|
||||
--name dbmail-httpd \
|
||||
-- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
|
||||
-- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
|
||||
eend $?
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/sbin/runscript
|
||||
#
|
||||
|
||||
PIDFILE="/var/run/dbmail-imapd.pid"
|
||||
PIDFILE="/var/run/dbmail/imapd.pid"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
@ -11,23 +11,22 @@ depend() {
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
|
||||
eerror "You need to create apropriate config"
|
||||
eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist"
|
||||
return 1
|
||||
fi
|
||||
# Avoid using root's TMPDIR
|
||||
unset TMPDIR
|
||||
if [ ! -e "/etc/dbmail.conf" ]; then
|
||||
eerror "You need to create apropriate config"
|
||||
eerror "/etc/dbmail.conf"
|
||||
return 1
|
||||
fi
|
||||
# Avoid using root's TMPDIR
|
||||
unset TMPDIR
|
||||
}
|
||||
|
||||
|
||||
start() {
|
||||
checkconfig && \
|
||||
ebegin "Starting DBMail IMAP daemon"
|
||||
start-stop-daemon --start --quiet \
|
||||
--exec /usr/sbin/dbmail-imapd \
|
||||
--name dbmail-imapd \
|
||||
-- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
|
||||
-- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
|
||||
eend $?
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/sbin/runscript
|
||||
#
|
||||
|
||||
PIDFILE="/var/run/dbmail-lmtpd.pid"
|
||||
PIDFILE="/var/run/dbmail/lmtpd.pid"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
@ -11,9 +11,9 @@ depend() {
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
|
||||
if [ ! -e "/etc/dbmail.conf" ]; then
|
||||
eerror "You need to create apropriate config"
|
||||
eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist"
|
||||
eerror "/etc/dbmail.conf"
|
||||
return 1
|
||||
fi
|
||||
# Avoid using root's TMPDIR
|
||||
@ -27,7 +27,7 @@ start() {
|
||||
start-stop-daemon --start --quiet \
|
||||
--exec /usr/sbin/dbmail-lmtpd \
|
||||
--name dbmail-lmtpd \
|
||||
-- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
|
||||
-- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
|
||||
eend $?
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/sbin/runscript
|
||||
#
|
||||
|
||||
PIDFILE="/var/run/dbmail-pop3d.pid"
|
||||
PIDFILE="/var/run/dbmail/pop3d.pid"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
@ -11,23 +11,22 @@ depend() {
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
|
||||
eerror "You need to create apropriate config"
|
||||
eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist"
|
||||
return 1
|
||||
fi
|
||||
# Avoid using root's TMPDIR
|
||||
unset TMPDIR
|
||||
if [ ! -e "/etc/dbmail.conf" ]; then
|
||||
eerror "You need to create apropriate config"
|
||||
eerror "/etc/dbmail.conf"
|
||||
return 1
|
||||
fi
|
||||
# Avoid using root's TMPDIR
|
||||
unset TMPDIR
|
||||
}
|
||||
|
||||
|
||||
start() {
|
||||
checkconfig && \
|
||||
ebegin "Starting DBMail POP3 daemon"
|
||||
start-stop-daemon --start --quiet \
|
||||
--exec /usr/sbin/dbmail-pop3d \
|
||||
--name dbmail-pop3d \
|
||||
-- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
|
||||
-- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
|
||||
eend $?
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/sbin/runscript
|
||||
#
|
||||
|
||||
PIDFILE="/var/run/dbmail-timsieved.pid"
|
||||
PIDFILE="/var/run/dbmail/timsieved.pid"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
@ -10,23 +10,22 @@ depend() {
|
||||
after mta
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
|
||||
eerror "You need to create apropriate config"
|
||||
eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist"
|
||||
return 1
|
||||
fi
|
||||
# Avoid using root's TMPDIR
|
||||
unset TMPDIR
|
||||
checkconfig() checkconfig() {
|
||||
if [ ! -e "/etc/dbmail.conf" ]; then
|
||||
eerror "You need to create apropriate config"
|
||||
eerror "/etc/dbmail.conf"
|
||||
return 1
|
||||
fi
|
||||
# Avoid using root's TMPDIR
|
||||
unset TMPDIR
|
||||
}
|
||||
|
||||
|
||||
start() {
|
||||
checkconfig && \
|
||||
ebegin "Starting DBMail SIEVE daemon"
|
||||
start-stop-daemon --start --quiet \
|
||||
--exec /usr/sbin/dbmail-timsieved \
|
||||
-- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
|
||||
-- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
|
||||
eend $?
|
||||
}
|
||||
|
||||
|
408
testing/dbmail/dbmail.conf
Normal file
408
testing/dbmail/dbmail.conf
Normal file
@ -0,0 +1,408 @@
|
||||
|
||||
# (c) 2000-2006 IC&S, The Netherlands
|
||||
#
|
||||
# Configuration file for DBMAIL
|
||||
|
||||
[DBMAIL]
|
||||
#
|
||||
# Database settings
|
||||
#
|
||||
|
||||
#
|
||||
# Supported drivers are mysql, postgresql, sqlite.
|
||||
#
|
||||
driver = sqlite
|
||||
|
||||
#
|
||||
# Supported drivers are sql, ldap.
|
||||
#
|
||||
authdriver = sql
|
||||
|
||||
#
|
||||
# Host for database, set to localhost if database is on
|
||||
# the same host as dbmail and you want to use a local
|
||||
# socket for connecting.
|
||||
#
|
||||
host =
|
||||
|
||||
#
|
||||
# If you want to use TCP/IP for connecting to the database,
|
||||
# and have the database running on a non-standard port.
|
||||
#
|
||||
sqlport =
|
||||
|
||||
#
|
||||
# When using a local socket connection to the database, fill
|
||||
# in the path to the socket here (e.g. /var/run/mysql.sock).
|
||||
#
|
||||
sqlsocket =
|
||||
|
||||
#
|
||||
# Database username.
|
||||
#
|
||||
user = dbmail
|
||||
|
||||
#
|
||||
# Database password.
|
||||
#
|
||||
pass =
|
||||
|
||||
#
|
||||
# Database name.
|
||||
#
|
||||
db = /var/lib/dbmail/dbmail.db
|
||||
|
||||
#
|
||||
# Number of database connections per threaded daemon
|
||||
# This also determines the size of the worker threadpool
|
||||
#
|
||||
#max_db_connections = 10
|
||||
|
||||
#
|
||||
# Table prefix. Defaults to "dbmail_" if not specified.
|
||||
#
|
||||
table_prefix = dbmail_
|
||||
|
||||
#
|
||||
# encoding must match the database/table encoding.
|
||||
# i.e. latin1, utf8
|
||||
encoding = utf8
|
||||
|
||||
#
|
||||
# messages with unknown encoding will be assumed to have
|
||||
# default_msg_encoding
|
||||
# i.e. iso8859-1, utf8
|
||||
default_msg_encoding = utf8
|
||||
|
||||
#
|
||||
# Postmaster's email address for use in bounce messages.
|
||||
#
|
||||
#postmaster = DBMAIL-MAILER
|
||||
|
||||
#
|
||||
# Sendmail executable for forwards, replies, notifies, vacations.
|
||||
# You may use pipes (|) in this command, for example:
|
||||
# dos2unix|/usr/sbin/sendmail works well with Qmail.
|
||||
# You may use quotes (") for executables with unusual names.
|
||||
#
|
||||
sendmail = /usr/sbin/sendmail
|
||||
|
||||
#
|
||||
#
|
||||
# The following items can be overridden in the service-specific sections.
|
||||
#
|
||||
#
|
||||
|
||||
#
|
||||
# Logging via stderr/log file and syslog
|
||||
#
|
||||
# Logging is broken up into 8 logging levels and each level can be indivually turned on or off.
|
||||
# The Stderr/log file logs all entries to stderr or the log file.
|
||||
# Syslog logging uses the facility mail and the logging level of the event for logging.
|
||||
# Syslog can then be configured to log data according to the levels.
|
||||
#
|
||||
# Set the log level to the sum of the values next to the levels you want to record.
|
||||
# 1 = Emergency
|
||||
# 2 = Alert
|
||||
# 4 = Critical
|
||||
# 8 = Error
|
||||
# 16 = Warning
|
||||
# 32 = Notice
|
||||
# 64 = Info
|
||||
# 128 = Debug
|
||||
# 256 = Database -> Logs at debug level
|
||||
#
|
||||
# Examples: 0 = Nothing
|
||||
# 31 = Emergency + Alert + Critical + Error + Warning
|
||||
# 511 = Everything
|
||||
#
|
||||
file_logging_levels = 7
|
||||
#
|
||||
syslog_logging_levels = 31
|
||||
|
||||
#
|
||||
# Generate a log entry for database queries for the log level at number of seconds of query execution time.
|
||||
#
|
||||
query_time_info = 10
|
||||
query_time_notice = 20
|
||||
query_time_warning = 30
|
||||
|
||||
#
|
||||
# Throw an exception is the query takes longer than query_timeout seconds
|
||||
query_timeout = 300
|
||||
|
||||
#
|
||||
# Root privs are used to open a port, then privs
|
||||
# are dropped down to the user/group specified here.
|
||||
#
|
||||
effective_user = dbmail
|
||||
effective_group = dbmail
|
||||
|
||||
#
|
||||
# The IPv4 and/or IPv6 addresses the services will bind to.
|
||||
# Use * for all local interfaces.
|
||||
# Use 127.0.0.1 for localhost only.
|
||||
# Separate multiple entries with spaces ( ) or commas (,).
|
||||
#
|
||||
bindip = 0.0.0.0 # IPv4 only - all IP's
|
||||
#bindip = :: # IPv4 and IPv6 - all IP's (linux)
|
||||
#bindip = :: # IPv6 only - all IP's (BSD)
|
||||
#bindip = 0.0.0.0,:: # IPv4 and IPv6 - all IP's (BSD)
|
||||
|
||||
|
||||
#
|
||||
# Idle time allowed before a connection is shut off.
|
||||
#
|
||||
timeout = 300
|
||||
|
||||
#
|
||||
# Idle time allowed before a connection is shut off if you have not logged in yet.
|
||||
#
|
||||
login_timeout = 60
|
||||
|
||||
#
|
||||
# If yes, resolves IP addresses to DNS names when logging.
|
||||
#
|
||||
resolve_ip = no
|
||||
|
||||
#
|
||||
# If yes, keep statistics in the authlog table for connecting users
|
||||
#
|
||||
authlog = no
|
||||
|
||||
#
|
||||
# logfile for stdout messages
|
||||
#
|
||||
logfile = /var/log/dbmail.log
|
||||
|
||||
#
|
||||
# logfile for stderr messages
|
||||
#
|
||||
errorlog = /var/log/dbmail.err
|
||||
|
||||
#
|
||||
# directory for storing PID files
|
||||
#
|
||||
pid_directory = /var/run/dbmail
|
||||
|
||||
#
|
||||
# directory for locating libraries (normally has a sane default compiled-in)
|
||||
#
|
||||
library_directory = /usr/lib/dbmail
|
||||
|
||||
#
|
||||
# SSL/TLS certificates
|
||||
#
|
||||
# A file containing a list of CAs in PEM format
|
||||
tls_cafile =
|
||||
|
||||
# A file containing a PEM format certificate
|
||||
tls_cert =
|
||||
|
||||
# A file containing a PEM format RSA or DSA key
|
||||
tls_key =
|
||||
|
||||
# A cipher list string in the format given in ciphers(1)
|
||||
tls_ciphers =
|
||||
|
||||
|
||||
# hashing algorithm. You can select your favorite hash type
|
||||
# for generating unique ids for message parts.
|
||||
#
|
||||
# for valid values check mhash(3) but minus the MHASH_ prefix.
|
||||
#
|
||||
# if you ever change this value run 'dbmail-util --rehash' to
|
||||
# update the hash for all mimeparts.
|
||||
#
|
||||
# examples: MD5, SHA1, SHA256, SHA512, TIGER, WHIRLPOOL
|
||||
#
|
||||
hash_algorithm = SHA1
|
||||
|
||||
|
||||
|
||||
[LMTP]
|
||||
port = 24
|
||||
#tls_port =
|
||||
|
||||
|
||||
[POP]
|
||||
port = 110
|
||||
#tls_port = 995
|
||||
|
||||
# You can set an alternate banner to display when connecting to the service
|
||||
# banner = DBMAIL pop3 server ready to rock
|
||||
|
||||
#
|
||||
# If yes, allows SMTP access from the host IP connecting by POP3.
|
||||
# This requires addition configuration of your MTA
|
||||
#
|
||||
pop_before_smtp = no
|
||||
|
||||
[HTTP]
|
||||
port = 41380
|
||||
#
|
||||
# the httpd daemon provides full access to all users, mailboxes
|
||||
# and messages. Be very careful with this one!
|
||||
bindip = 127.0.0.1
|
||||
admin = admin:secret
|
||||
|
||||
[IMAP]
|
||||
# You can set an alternate banner to display when connecting to the service
|
||||
# banner = imap 4r1 server (dbmail 2.3.x)
|
||||
|
||||
#
|
||||
# Port to bind to.
|
||||
#
|
||||
port = 143
|
||||
#tls_port = 993
|
||||
|
||||
#
|
||||
# IMAP prefers a longer timeout than other services.
|
||||
#
|
||||
timeout = 4000
|
||||
|
||||
#
|
||||
# If yes, allows SMTP access from the host IP connecting by IMAP.
|
||||
# This requires addition configuration of your MTA
|
||||
#
|
||||
imap_before_smtp = no
|
||||
|
||||
#
|
||||
# during IDLE, how many seconds between checking the mailbox
|
||||
# status (default: 30)
|
||||
#
|
||||
# idle_timeout = 30
|
||||
|
||||
#
|
||||
# Provide a CAPABILITY to override the default
|
||||
#
|
||||
# capability = IMAP4 IMAP4rev1 AUTH=LOGIN ACL RIGHTS=texk NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE
|
||||
|
||||
# Send '* STATUS "mailbox" (MESSAGES x RECENT x UNSEEN x NEXTUID x)'
|
||||
# for all subscribed mailboxes during IDLE (default: no)
|
||||
# note: EXPERIMENTAL (and most likely disabled in the code)
|
||||
#
|
||||
# idle_status = yes
|
||||
|
||||
|
||||
[SIEVE]
|
||||
#
|
||||
# Port to bind to.
|
||||
#
|
||||
port = 2000
|
||||
tls_port =
|
||||
|
||||
|
||||
[LDAP]
|
||||
port = 389
|
||||
version = 3
|
||||
hostname = ldap
|
||||
base_dn = ou=People,dc=mydomain,dc=com
|
||||
|
||||
#
|
||||
# If your LDAP library supports ldap_initialize(), then you can use the
|
||||
# alternative LDAP server DSN like following.
|
||||
#
|
||||
# URI = ldap://127.0.0.1:389
|
||||
# URI = ldapi://%2fvar%2frun%2fopenldap%2fldapi/
|
||||
|
||||
#
|
||||
# Leave blank for anonymous bind.
|
||||
# example: cn=admin,dc=mydomain,dc=com
|
||||
#
|
||||
bind_dn =
|
||||
|
||||
#
|
||||
# Leave blank for anonymous bind.
|
||||
#
|
||||
bind_pw =
|
||||
scope = SubTree
|
||||
|
||||
# AD users may want to set this to 'no' to disable
|
||||
# ldap referrals if you are seeing 'Operations errors'
|
||||
# in your logs
|
||||
#
|
||||
referrals = yes
|
||||
|
||||
user_objectclass = top,account,dbmailUser
|
||||
forw_objectclass = top,account,dbmailForwardingAddress
|
||||
cn_string = uid
|
||||
field_passwd = userPassword
|
||||
field_uid = uid
|
||||
field_nid = uidNumber
|
||||
min_nid = 10000
|
||||
max_nid = 15000
|
||||
field_cid = gidNumber
|
||||
min_cid = 10000
|
||||
max_cid = 15000
|
||||
|
||||
# a comma-separated list of attributes to match when searching
|
||||
# for users or forwards that match a delivery address. A match
|
||||
# on any of them is a hit.
|
||||
field_mail = mail
|
||||
|
||||
# field that holds the mail-quota size for a user.
|
||||
field_quota = mailQuota
|
||||
|
||||
# field that holds the forwarding address.
|
||||
field_fwdtarget = mailForwardingAddress
|
||||
|
||||
# override the query string used to search for users
|
||||
# or forwards with a delivery address.
|
||||
# query_string = (mail=%s)
|
||||
|
||||
[DELIVERY]
|
||||
#
|
||||
# Run Sieve scripts as messages are delivered.
|
||||
#
|
||||
SIEVE = yes
|
||||
|
||||
#
|
||||
# Use 'user+mailbox@domain' format to deliver to a mailbox.
|
||||
#
|
||||
SUBADDRESS = yes
|
||||
|
||||
#
|
||||
# Turn on/off the Sieve Vacation extension.
|
||||
#
|
||||
SIEVE_VACATION = yes
|
||||
|
||||
#
|
||||
# Turn on/off the Sieve Notify extension
|
||||
#
|
||||
SIEVE_NOTIFY = yes
|
||||
|
||||
#
|
||||
# Turn on/off additional Sieve debugging.
|
||||
#
|
||||
SIEVE_DEBUG = no
|
||||
|
||||
|
||||
# Use the auto_notify table to send email notifications.
|
||||
#
|
||||
AUTO_NOTIFY = no
|
||||
|
||||
#
|
||||
# Use the auto_reply table to send away messages.
|
||||
#
|
||||
AUTO_REPLY = no
|
||||
|
||||
#
|
||||
# Defaults to "NEW MAIL NOTIFICATION"
|
||||
#
|
||||
#AUTO_NOTIFY_SUBJECT =
|
||||
|
||||
#
|
||||
# Defaults to POSTMASTER from the DBMAIL section.
|
||||
#
|
||||
#AUTO_NOTIFY_SENDER =
|
||||
|
||||
|
||||
# If you set this to 'yes' dbmail will check for duplicate
|
||||
# messages in the relevant mailbox during delivery using
|
||||
# the Message-ID header
|
||||
#
|
||||
suppress_duplicates = yes
|
||||
|
||||
|
||||
# end of configuration file
|
5
testing/dbmail/dbmail.pre-install
Normal file
5
testing/dbmail/dbmail.pre-install
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
adduser -s /bin/false -D -H -h /var/lib/dbmail dbmail 2>/dev/null
|
||||
exit 0
|
||||
|
@ -327,3 +327,309 @@ index cf8fc23..8a1a66c 100644
|
||||
--
|
||||
1.7.7.1
|
||||
|
||||
From e95bcfa3f470de0f385a88266bf07065e65695a2 Mon Sep 17 00:00:00 2001
|
||||
From: Paul J Stevens <paul@nfg.nl>
|
||||
Date: Wed, 02 Nov 2011 04:30:45 +0000
|
||||
Subject: re-indent php code
|
||||
|
||||
---
|
||||
diff --git a/contrib/dbmailclient.php b/contrib/dbmailclient.php
|
||||
index ffe5cd0..0693c0a 100644
|
||||
--- a/contrib/dbmailclient.php
|
||||
+++ b/contrib/dbmailclient.php
|
||||
@@ -190,137 +190,137 @@ class DBMailMessage extends DBMailMailbox
|
||||
|
||||
class Curl
|
||||
{
|
||||
- public $cookie_file;
|
||||
- public $headers = array();
|
||||
- public $options = array();
|
||||
- public $referer = '';
|
||||
- public $user_agent = '';
|
||||
+ public $cookie_file;
|
||||
+ public $headers = array();
|
||||
+ public $options = array();
|
||||
+ public $referer = '';
|
||||
+ public $user_agent = '';
|
||||
|
||||
- protected $error = '';
|
||||
- protected $handle;
|
||||
+ protected $error = '';
|
||||
+ protected $handle;
|
||||
|
||||
|
||||
- public function __construct()
|
||||
- {
|
||||
+ public function __construct()
|
||||
+ {
|
||||
$this->cookie_file = realpath('.').'/curl_cookie.txt';
|
||||
- $this->user_agent = isset($_SERVER['HTTP_USER_AGENT']) ?
|
||||
- $_SERVER['HTTP_USER_AGENT'] :
|
||||
- 'Curl/PHP ' . PHP_VERSION . ' (http://github.com/shuber/curl/)';
|
||||
- }
|
||||
-
|
||||
- public function delete($url, $vars = array())
|
||||
- {
|
||||
- return $this->request('DELETE', $url, $vars);
|
||||
- }
|
||||
-
|
||||
- public function error()
|
||||
- {
|
||||
- return $this->error;
|
||||
- }
|
||||
-
|
||||
- public function get($url, $vars = array())
|
||||
- {
|
||||
- if (!empty($vars)) {
|
||||
- $url .= (stripos($url, '?') !== false) ? '&' : '?';
|
||||
- $url .= http_build_query($vars, '', '&');
|
||||
- }
|
||||
- return $this->request('GET', $url);
|
||||
- }
|
||||
-
|
||||
- public function post($url, $vars = array())
|
||||
- {
|
||||
- return $this->request('POST', $url, $vars);
|
||||
- }
|
||||
-
|
||||
- public function put($url, $vars = array())
|
||||
- {
|
||||
- return $this->request('PUT', $url, $vars);
|
||||
- }
|
||||
-
|
||||
- protected function request($method, $url, $vars = array())
|
||||
- {
|
||||
- $this->handle = curl_init();
|
||||
-
|
||||
- # Set some default CURL options
|
||||
- curl_setopt($this->handle, CURLOPT_COOKIEFILE, $this->cookie_file);
|
||||
- curl_setopt($this->handle, CURLOPT_COOKIEJAR, $this->cookie_file);
|
||||
- curl_setopt($this->handle, CURLOPT_FOLLOWLOCATION, true);
|
||||
- curl_setopt($this->handle, CURLOPT_HEADER, true);
|
||||
- curl_setopt($this->handle, CURLOPT_POSTFIELDS, (is_array($vars) ? http_build_query($vars, '', '&') : $vars));
|
||||
- curl_setopt($this->handle, CURLOPT_REFERER, $this->referer);
|
||||
- curl_setopt($this->handle, CURLOPT_RETURNTRANSFER, true);
|
||||
- curl_setopt($this->handle, CURLOPT_URL, $url);
|
||||
- curl_setopt($this->handle, CURLOPT_USERAGENT, $this->user_agent);
|
||||
-
|
||||
- # Format custom headers for this request and set CURL option
|
||||
- $headers = array();
|
||||
- foreach ($this->headers as $key => $value) {
|
||||
- $headers[] = $key.': '.$value;
|
||||
- }
|
||||
- curl_setopt($this->handle, CURLOPT_HTTPHEADER, $headers);
|
||||
-
|
||||
- # Determine the request method and set the correct CURL option
|
||||
- switch ($method) {
|
||||
- case 'GET':
|
||||
- curl_setopt($this->handle, CURLOPT_HTTPGET, true);
|
||||
- break;
|
||||
- case 'POST':
|
||||
- curl_setopt($this->handle, CURLOPT_POST, true);
|
||||
- break;
|
||||
- default:
|
||||
- curl_setopt($this->handle, CURLOPT_CUSTOMREQUEST, $method);
|
||||
- }
|
||||
-
|
||||
- # Set any custom CURL options
|
||||
- foreach ($this->options as $option => $value) {
|
||||
- curl_setopt($this->handle, constant('CURLOPT_'.str_replace('CURLOPT_', '', strtoupper($option))), $value);
|
||||
- }
|
||||
-
|
||||
- $response = curl_exec($this->handle);
|
||||
- if ($response) {
|
||||
- $response = new CurlResponse($response);
|
||||
- } else {
|
||||
- $this->error = curl_errno($this->handle).' - '.curl_error($this->handle);
|
||||
- }
|
||||
- curl_close($this->handle);
|
||||
- return $response;
|
||||
- }
|
||||
+ $this->user_agent = isset($_SERVER['HTTP_USER_AGENT']) ?
|
||||
+ $_SERVER['HTTP_USER_AGENT'] :
|
||||
+ 'Curl/PHP ' . PHP_VERSION . ' (http://github.com/shuber/curl/)';
|
||||
+ }
|
||||
+
|
||||
+ public function delete($url, $vars = array())
|
||||
+ {
|
||||
+ return $this->request('DELETE', $url, $vars);
|
||||
+ }
|
||||
+
|
||||
+ public function error()
|
||||
+ {
|
||||
+ return $this->error;
|
||||
+ }
|
||||
+
|
||||
+ public function get($url, $vars = array())
|
||||
+ {
|
||||
+ if (!empty($vars)) {
|
||||
+ $url .= (stripos($url, '?') !== false) ? '&' : '?';
|
||||
+ $url .= http_build_query($vars, '', '&');
|
||||
+ }
|
||||
+ return $this->request('GET', $url);
|
||||
+ }
|
||||
+
|
||||
+ public function post($url, $vars = array())
|
||||
+ {
|
||||
+ return $this->request('POST', $url, $vars);
|
||||
+ }
|
||||
+
|
||||
+ public function put($url, $vars = array())
|
||||
+ {
|
||||
+ return $this->request('PUT', $url, $vars);
|
||||
+ }
|
||||
+
|
||||
+ protected function request($method, $url, $vars = array())
|
||||
+ {
|
||||
+ $this->handle = curl_init();
|
||||
+
|
||||
+ # Set some default CURL options
|
||||
+ curl_setopt($this->handle, CURLOPT_COOKIEFILE, $this->cookie_file);
|
||||
+ curl_setopt($this->handle, CURLOPT_COOKIEJAR, $this->cookie_file);
|
||||
+ curl_setopt($this->handle, CURLOPT_FOLLOWLOCATION, true);
|
||||
+ curl_setopt($this->handle, CURLOPT_HEADER, true);
|
||||
+ curl_setopt($this->handle, CURLOPT_POSTFIELDS, (is_array($vars) ? http_build_query($vars, '', '&') : $vars));
|
||||
+ curl_setopt($this->handle, CURLOPT_REFERER, $this->referer);
|
||||
+ curl_setopt($this->handle, CURLOPT_RETURNTRANSFER, true);
|
||||
+ curl_setopt($this->handle, CURLOPT_URL, $url);
|
||||
+ curl_setopt($this->handle, CURLOPT_USERAGENT, $this->user_agent);
|
||||
+
|
||||
+ # Format custom headers for this request and set CURL option
|
||||
+ $headers = array();
|
||||
+ foreach ($this->headers as $key => $value) {
|
||||
+ $headers[] = $key.': '.$value;
|
||||
+ }
|
||||
+ curl_setopt($this->handle, CURLOPT_HTTPHEADER, $headers);
|
||||
+
|
||||
+ # Determine the request method and set the correct CURL option
|
||||
+ switch ($method) {
|
||||
+ case 'GET':
|
||||
+ curl_setopt($this->handle, CURLOPT_HTTPGET, true);
|
||||
+ break;
|
||||
+ case 'POST':
|
||||
+ curl_setopt($this->handle, CURLOPT_POST, true);
|
||||
+ break;
|
||||
+ default:
|
||||
+ curl_setopt($this->handle, CURLOPT_CUSTOMREQUEST, $method);
|
||||
+ }
|
||||
+
|
||||
+ # Set any custom CURL options
|
||||
+ foreach ($this->options as $option => $value) {
|
||||
+ curl_setopt($this->handle, constant('CURLOPT_'.str_replace('CURLOPT_', '', strtoupper($option))), $value);
|
||||
+ }
|
||||
+
|
||||
+ $response = curl_exec($this->handle);
|
||||
+ if ($response) {
|
||||
+ $response = new CurlResponse($response);
|
||||
+ } else {
|
||||
+ $this->error = curl_errno($this->handle).' - '.curl_error($this->handle);
|
||||
+ }
|
||||
+ curl_close($this->handle);
|
||||
+ return $response;
|
||||
+ }
|
||||
|
||||
}
|
||||
|
||||
class CurlResponse
|
||||
{
|
||||
- public $body = '';
|
||||
- public $headers = array();
|
||||
-
|
||||
- public function __construct($response)
|
||||
- {
|
||||
- # Extract headers from response
|
||||
- $pattern = '#HTTP/\d\.\d.*?$.*?\r\n\r\n#ims';
|
||||
- preg_match_all($pattern, $response, $matches);
|
||||
- $headers = split("\r\n", str_replace("\r\n\r\n", '', array_pop($matches[0])));
|
||||
-
|
||||
- # Extract the version and status from the first header
|
||||
- $version_and_status = array_shift($headers);
|
||||
- preg_match('#HTTP/(\d\.\d)\s(\d\d\d)\s(.*)#', $version_and_status, $matches);
|
||||
- $this->headers['Http-Version'] = $matches[1];
|
||||
- $this->headers['Status-Code'] = $matches[2];
|
||||
- $this->headers['Status'] = $matches[2].' '.$matches[3];
|
||||
-
|
||||
- # Convert headers into an associative array
|
||||
- foreach ($headers as $header) {
|
||||
- preg_match('#(.*?)\:\s(.*)#', $header, $matches);
|
||||
- $this->headers[$matches[1]] = $matches[2];
|
||||
- }
|
||||
-
|
||||
- # Remove the headers from the response body
|
||||
- $this->body = preg_replace($pattern, '', $response);
|
||||
- }
|
||||
-
|
||||
- public function __toString()
|
||||
- {
|
||||
- return $this->body;
|
||||
- }
|
||||
+ public $body = '';
|
||||
+ public $headers = array();
|
||||
+
|
||||
+ public function __construct($response)
|
||||
+ {
|
||||
+ # Extract headers from response
|
||||
+ $pattern = '#HTTP/\d\.\d.*?$.*?\r\n\r\n#ims';
|
||||
+ preg_match_all($pattern, $response, $matches);
|
||||
+ $headers = split("\r\n", str_replace("\r\n\r\n", '', array_pop($matches[0])));
|
||||
+
|
||||
+ # Extract the version and status from the first header
|
||||
+ $version_and_status = array_shift($headers);
|
||||
+ preg_match('#HTTP/(\d\.\d)\s(\d\d\d)\s(.*)#', $version_and_status, $matches);
|
||||
+ $this->headers['Http-Version'] = $matches[1];
|
||||
+ $this->headers['Status-Code'] = $matches[2];
|
||||
+ $this->headers['Status'] = $matches[2].' '.$matches[3];
|
||||
+
|
||||
+ # Convert headers into an associative array
|
||||
+ foreach ($headers as $header) {
|
||||
+ preg_match('#(.*?)\:\s(.*)#', $header, $matches);
|
||||
+ $this->headers[$matches[1]] = $matches[2];
|
||||
+ }
|
||||
+
|
||||
+ # Remove the headers from the response body
|
||||
+ $this->body = preg_replace($pattern, '', $response);
|
||||
+ }
|
||||
+
|
||||
+ public function __toString()
|
||||
+ {
|
||||
+ return $this->body;
|
||||
+ }
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
cgit v0.8.3.4
|
||||
From 288b73a79fe20bae7737fb622aefff761bb34c3f Mon Sep 17 00:00:00 2001
|
||||
From: Paul J Stevens <paul@nfg.nl>
|
||||
Date: Wed, 02 Nov 2011 04:31:12 +0000
|
||||
Subject: parse From_ time as localtime
|
||||
|
||||
---
|
||||
diff --git a/src/dbmail-mailbox.c b/src/dbmail-mailbox.c
|
||||
index 09be275..5e493ab 100644
|
||||
--- a/src/dbmail-mailbox.c
|
||||
+++ b/src/dbmail-mailbox.c
|
||||
@@ -100,7 +100,7 @@ static gchar * _message_get_envelope_date(const DbmailMessage *self)
|
||||
|
||||
res = g_new0(char, TIMESTRING_SIZE+1);
|
||||
memset(&gmt,'\0', sizeof(struct tm));
|
||||
- gmtime_r(&self->internal_date, &gmt);
|
||||
+ localtime_r(&self->internal_date, &gmt);
|
||||
|
||||
strftime(res, TIMESTRING_SIZE, "%a %b %d %H:%M:%S %Y", &gmt);
|
||||
return res;
|
||||
diff --git a/src/dbmail-message.c b/src/dbmail-message.c
|
||||
index 8a1a66c..1b4d826 100644
|
||||
--- a/src/dbmail-message.c
|
||||
+++ b/src/dbmail-message.c
|
||||
@@ -837,7 +837,7 @@ gchar * dbmail_message_get_internal_date(const DbmailMessage *self, int thisyear
|
||||
|
||||
res = g_new0(char, TIMESTRING_SIZE+1);
|
||||
memset(&gmt,'\0', sizeof(struct tm));
|
||||
- gmtime_r(&self->internal_date, &gmt);
|
||||
+ localtime_r(&self->internal_date, &gmt);
|
||||
|
||||
/* override if the date is not sane */
|
||||
if (thisyear && gmt.tm_year + 1900 > thisyear + 1) {
|
||||
--
|
||||
cgit v0.8.3.4
|
||||
|
Loading…
Reference in New Issue
Block a user