mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-07 14:27:10 +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
|
pkgname=dbmail
|
||||||
_realpkgver=3.0.0-rc3
|
_realpkgver=3.0.0-rc3
|
||||||
pkgver=${_realpkgver/-/_}
|
pkgver=${_realpkgver/-/_}
|
||||||
pkgrel=0
|
pkgrel=1
|
||||||
pkgdesc="Fast and scalable sql based mail services"
|
pkgdesc="Fast and scalable sql based mail services"
|
||||||
url="http://dbmail.org"
|
url="http://dbmail.org"
|
||||||
arch="all"
|
arch="all"
|
||||||
license="GPL"
|
license="GPL"
|
||||||
|
pkgusers="dbmail"
|
||||||
|
pkggroups="dbmail"
|
||||||
depends=
|
depends=
|
||||||
depends_dev="openldap-dev libsieve-dev glib-dev gmime-dev
|
depends_dev="openldap-dev libsieve-dev glib-dev gmime-dev
|
||||||
mhash-dev libevent-dev libzdb-dev"
|
mhash-dev libevent-dev libzdb-dev"
|
||||||
makedepends="$depends_dev asciidoc xmlto automake autoconf"
|
makedepends="$depends_dev asciidoc xmlto automake autoconf"
|
||||||
install=""
|
install=""
|
||||||
subpackages="$pkgname-doc"
|
subpackages="$pkgname-doc $pkgname-auth-ldap:auth_ldap"
|
||||||
source="http://www.dbmail.org/download/3.0/dbmail-${_realpkgver}.tar.gz
|
source="http://www.dbmail.org/download/3.0/dbmail-${_realpkgver}.tar.gz
|
||||||
$pkgname-imapd.initd
|
$pkgname-imapd.initd
|
||||||
$pkgname-lmtpd.initd
|
$pkgname-lmtpd.initd
|
||||||
$pkgname-pop3d.initd
|
$pkgname-pop3d.initd
|
||||||
$pkgname-httpd.initd
|
$pkgname-httpd.initd
|
||||||
$pkgname-timsieved.initd
|
$pkgname-timsieved.initd
|
||||||
|
$pkgname.pre-install
|
||||||
post-rc3.patch
|
post-rc3.patch
|
||||||
gmime-2.6.patch
|
dbmail.conf
|
||||||
"
|
"
|
||||||
|
|
||||||
_builddir="$srcdir/${pkgname}-${_realpkgver}"
|
_builddir="$srcdir/${pkgname}-${_realpkgver}"
|
||||||
@ -34,19 +37,21 @@ prepare() {
|
|||||||
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
|
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
# we need support for gmine 2.6
|
||||||
|
sed -i 's/gmime-2.4/gmime-2.6/g' configure
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd "$_builddir"
|
cd "$_builddir"
|
||||||
autoreconf
|
|
||||||
./configure --prefix=/usr \
|
./configure --prefix=/usr \
|
||||||
--sysconfdir=/etc \
|
--sysconfdir=/etc \
|
||||||
--mandir=/usr/share/man \
|
--mandir=/usr/share/man \
|
||||||
--infodir=/usr/share/info \
|
--infodir=/usr/share/info \
|
||||||
--with-sieve \
|
--with-sieve \
|
||||||
--with-ldap
|
--with-ldap \
|
||||||
|
--disable-static
|
||||||
make || return 1
|
make || return 1
|
||||||
#make man pages
|
# make man pages
|
||||||
cd "$_builddir/man"
|
cd "$_builddir/man"
|
||||||
make || return 1
|
make || return 1
|
||||||
}
|
}
|
||||||
@ -55,7 +60,6 @@ package() {
|
|||||||
cd "$_builddir"
|
cd "$_builddir"
|
||||||
make DESTDIR="$pkgdir" install || return 1
|
make DESTDIR="$pkgdir" install || return 1
|
||||||
rm "$pkgdir"/usr/lib/dbmail/*.la || 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"
|
mkdir -p "$pkgdir/usr/share/$pkgname"
|
||||||
mv sql/* "$pkgdir/usr/share/$pkgname/"
|
mv sql/* "$pkgdir/usr/share/$pkgname/"
|
||||||
mv "$pkgname.schema" "$pkgdir/usr/share/$pkgname/"
|
mv "$pkgname.schema" "$pkgdir/usr/share/$pkgname/"
|
||||||
@ -66,13 +70,25 @@ package() {
|
|||||||
#install man pages
|
#install man pages
|
||||||
cd "$_builddir/man"
|
cd "$_builddir/man"
|
||||||
make DESTDIR="$pkgdir" install || return 1
|
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
|
md5sums="52c3b9aad310efc90a6a2fff0552f73e dbmail-3.0.0-rc3.tar.gz
|
||||||
76a0f8f96ca70a4af14c81716134cc5d dbmail-imapd.initd
|
2f77092fade3b10123a47a5cce5b6a4a dbmail-imapd.initd
|
||||||
a6d79d7f0cf0fb80ef2ada71c25d9350 dbmail-lmtpd.initd
|
f3a84b58ba878375ca088a0b544922cc dbmail-lmtpd.initd
|
||||||
504dd74912daeea4268f8c25ddf6de0f dbmail-pop3d.initd
|
4273524211baefd9f32ea40ce9cb7dd1 dbmail-pop3d.initd
|
||||||
42ac86844fedf5d1afec764170e6a5de dbmail-httpd.initd
|
1bf891189a6daf14254738d28f3c654f dbmail-httpd.initd
|
||||||
4253a7580d82e026ecbaf45ea863e9e7 dbmail-timsieved.initd
|
4cd701bf1a8d292848fffe208afbe182 dbmail-timsieved.initd
|
||||||
5e37f1190c8798edb450a40e97fe9a81 post-rc3.patch
|
f146703e0c8c9badc92de152ac6f1e5b dbmail.pre-install
|
||||||
5c2548b1a68393337c58856614a5f359 gmime-2.6.patch"
|
f609d4cd01dbef95c6a1c498133a2065 post-rc3.patch
|
||||||
|
549f2073f1c6ac902f783b493c0667d4 dbmail.conf"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/sbin/runscript
|
#!/sbin/runscript
|
||||||
#
|
#
|
||||||
|
|
||||||
PIDFILE="/var/run/dbmail-httpd.pid"
|
PIDFILE="/var/run/dbmail/httpd.pid"
|
||||||
|
|
||||||
depend() {
|
depend() {
|
||||||
need net
|
need net
|
||||||
@ -11,23 +11,22 @@ depend() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
checkconfig() {
|
checkconfig() {
|
||||||
if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
|
if [ ! -e "/etc/dbmail.conf" ]; then
|
||||||
eerror "You need to create apropriate config"
|
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
|
return 1
|
||||||
fi
|
fi
|
||||||
# Avoid using root's TMPDIR
|
# Avoid using root's TMPDIR
|
||||||
unset TMPDIR
|
unset TMPDIR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
start() {
|
start() {
|
||||||
checkconfig && \
|
checkconfig && \
|
||||||
ebegin "Starting DBMail HTTP daemon"
|
ebegin "Starting DBMail HTTP daemon"
|
||||||
start-stop-daemon --start --quiet \
|
start-stop-daemon --start --quiet \
|
||||||
--exec /usr/sbin/dbmail-httpd \
|
--exec /usr/sbin/dbmail-httpd \
|
||||||
--name dbmail-httpd \
|
--name dbmail-httpd \
|
||||||
-- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
|
-- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
|
||||||
eend $?
|
eend $?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/sbin/runscript
|
#!/sbin/runscript
|
||||||
#
|
#
|
||||||
|
|
||||||
PIDFILE="/var/run/dbmail-imapd.pid"
|
PIDFILE="/var/run/dbmail/imapd.pid"
|
||||||
|
|
||||||
depend() {
|
depend() {
|
||||||
need net
|
need net
|
||||||
@ -11,23 +11,22 @@ depend() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
checkconfig() {
|
checkconfig() {
|
||||||
if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
|
if [ ! -e "/etc/dbmail.conf" ]; then
|
||||||
eerror "You need to create apropriate config"
|
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
|
return 1
|
||||||
fi
|
fi
|
||||||
# Avoid using root's TMPDIR
|
# Avoid using root's TMPDIR
|
||||||
unset TMPDIR
|
unset TMPDIR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
start() {
|
start() {
|
||||||
checkconfig && \
|
checkconfig && \
|
||||||
ebegin "Starting DBMail IMAP daemon"
|
ebegin "Starting DBMail IMAP daemon"
|
||||||
start-stop-daemon --start --quiet \
|
start-stop-daemon --start --quiet \
|
||||||
--exec /usr/sbin/dbmail-imapd \
|
--exec /usr/sbin/dbmail-imapd \
|
||||||
--name dbmail-imapd \
|
--name dbmail-imapd \
|
||||||
-- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
|
-- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
|
||||||
eend $?
|
eend $?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/sbin/runscript
|
#!/sbin/runscript
|
||||||
#
|
#
|
||||||
|
|
||||||
PIDFILE="/var/run/dbmail-lmtpd.pid"
|
PIDFILE="/var/run/dbmail/lmtpd.pid"
|
||||||
|
|
||||||
depend() {
|
depend() {
|
||||||
need net
|
need net
|
||||||
@ -11,9 +11,9 @@ depend() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
checkconfig() {
|
checkconfig() {
|
||||||
if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
|
if [ ! -e "/etc/dbmail.conf" ]; then
|
||||||
eerror "You need to create apropriate config"
|
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
|
return 1
|
||||||
fi
|
fi
|
||||||
# Avoid using root's TMPDIR
|
# Avoid using root's TMPDIR
|
||||||
@ -27,7 +27,7 @@ start() {
|
|||||||
start-stop-daemon --start --quiet \
|
start-stop-daemon --start --quiet \
|
||||||
--exec /usr/sbin/dbmail-lmtpd \
|
--exec /usr/sbin/dbmail-lmtpd \
|
||||||
--name dbmail-lmtpd \
|
--name dbmail-lmtpd \
|
||||||
-- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
|
-- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
|
||||||
eend $?
|
eend $?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/sbin/runscript
|
#!/sbin/runscript
|
||||||
#
|
#
|
||||||
|
|
||||||
PIDFILE="/var/run/dbmail-pop3d.pid"
|
PIDFILE="/var/run/dbmail/pop3d.pid"
|
||||||
|
|
||||||
depend() {
|
depend() {
|
||||||
need net
|
need net
|
||||||
@ -11,23 +11,22 @@ depend() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
checkconfig() {
|
checkconfig() {
|
||||||
if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
|
if [ ! -e "/etc/dbmail.conf" ]; then
|
||||||
eerror "You need to create apropriate config"
|
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
|
return 1
|
||||||
fi
|
fi
|
||||||
# Avoid using root's TMPDIR
|
# Avoid using root's TMPDIR
|
||||||
unset TMPDIR
|
unset TMPDIR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
start() {
|
start() {
|
||||||
checkconfig && \
|
checkconfig && \
|
||||||
ebegin "Starting DBMail POP3 daemon"
|
ebegin "Starting DBMail POP3 daemon"
|
||||||
start-stop-daemon --start --quiet \
|
start-stop-daemon --start --quiet \
|
||||||
--exec /usr/sbin/dbmail-pop3d \
|
--exec /usr/sbin/dbmail-pop3d \
|
||||||
--name dbmail-pop3d \
|
--name dbmail-pop3d \
|
||||||
-- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
|
-- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
|
||||||
eend $?
|
eend $?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/sbin/runscript
|
#!/sbin/runscript
|
||||||
#
|
#
|
||||||
|
|
||||||
PIDFILE="/var/run/dbmail-timsieved.pid"
|
PIDFILE="/var/run/dbmail/timsieved.pid"
|
||||||
|
|
||||||
depend() {
|
depend() {
|
||||||
need net
|
need net
|
||||||
@ -10,23 +10,22 @@ depend() {
|
|||||||
after mta
|
after mta
|
||||||
}
|
}
|
||||||
|
|
||||||
checkconfig() {
|
checkconfig() checkconfig() {
|
||||||
if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
|
if [ ! -e "/etc/dbmail.conf" ]; then
|
||||||
eerror "You need to create apropriate config"
|
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
|
return 1
|
||||||
fi
|
fi
|
||||||
# Avoid using root's TMPDIR
|
# Avoid using root's TMPDIR
|
||||||
unset TMPDIR
|
unset TMPDIR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
start() {
|
start() {
|
||||||
checkconfig && \
|
checkconfig && \
|
||||||
ebegin "Starting DBMail SIEVE daemon"
|
ebegin "Starting DBMail SIEVE daemon"
|
||||||
start-stop-daemon --start --quiet \
|
start-stop-daemon --start --quiet \
|
||||||
--exec /usr/sbin/dbmail-timsieved \
|
--exec /usr/sbin/dbmail-timsieved \
|
||||||
-- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
|
-- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
|
||||||
eend $?
|
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
|
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