OT - copied maildir from 2T drive to 4T drive
And it's taking up more space on the 4T drive. What did I miss?
External Program for Authentication?
Is it possible to run a bash script for authentication where a 0 exit code indicates success and a non-zero is failure? What I'm trying to do is create a shadow IMAP server that authenticates against a different server. That way my server will use the same passwords as an existing server. So what I would need is for dovecot to pass the username and password to my script, I attempt to log in remotely and if I succeed I allow access on my side. My side will be used to configure black lists and where spam is dragged from their side to my side. (I'm a spam filtering company)
Install still locks up my server
This is still broken in the 2.2.32. config.guess forks copies till the server dies. Running Centos 6.6 under OpenVZ. On 06/26/17 16:03, Marc Perkel wrote: On 06/26/17 14:42, Timo Sirainen wrote: On 26 Jun 2017, at 23.19, Marc Perkel <m...@perkel.com> wrote: Ever since 2.26 I haven't been able to upgrade. In fact the install locks up my server. I get into and infinite recursive loop where the config-guess program calls itself until the server locks up from overload. I'm running Centos 6 under OpenVZ. What am I missing? I think there's a serious bug. 31233 pts/3S 0:00 /bin/sh ./config.guess 31235 pts/3S 0:00 \_ /bin/sh ./config.guess 31238 pts/3S 0:00 \_ /bin/sh ./config.guess 31240 pts/3S 0:00 \_ /bin/sh ./config.guess I think I remember seeing this before, but unfortunately can't remember what the solution was. Maybe it was something something messed up in the OS or in the build directory. Are you compiling from the tarballs? So it's the "configure" that fails? Also if you run "./config.guess" manually? What's the output if you run "bash -x ./config.guess"? bash -x ./config.guess + timestamp=2015-08-20 ++ sed -e 's,.*/,,' ++ echo ./config.guess + me=config.guess + usage='Usage: ./config.guess [OPTION] Output the configuration name of the system `config.guess'\'' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to <config-patc...@gnu.org>.' + version='GNU config.guess (2015-08-20) Originally written by Per Bothner. Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.' + help=' Try `config.guess --help'\'' for more information.' + test 0 -gt 0 + test 0 '!=' 0 + trap 'exit 1' 1 2 15 + set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,)echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' + UNAME_MACHINE=x86_64 + UNAME_RELEASE=2.6.32-042stab123.3 + UNAME_SYSTEM=Linux + UNAME_VERSION='#1 SMP Fri May 5 12:29:05 MSK 2017' + case "${UNAME_SYSTEM}" in + LIBC=gnu + eval trap '"exitcode=\$?;' '(rm' -f '\$tmpfiles' '2>/dev/null;' rmdir '\$tmp' '2>/dev/null)' '&&' exit '\$exitcode"' 0 ';' trap '"rm' -f '\$tmpfiles' '2>/dev/null;' rmdir '\$tmp' '2>/dev/null;' exit '1"' 1 2 13 15 ';' : '${TMPDIR=/tmp}' ';' '{' 'tmp=`(umask' 077 '&&' mktemp -d '"$TMPDIR/cgXX")' '2>/dev/null`' '&&' test -n '"$tmp"' '&&' test -d '"$tmp"' ';' '}' '||' '{' test -n '"$RANDOM"' '&&' 'tmp=$TMPDIR/cg$$-$RANDOM' '&&' '(umask' 077 '&&' mkdir '$tmp)' ';' '}' '||' '{' 'tmp=$TMPDIR/cg-$$' '&&' '(umask' 077 '&&' mkdir '$tmp)' '&&' echo '"Warning:' creating insecure temp 'directory"' '>&2' ';' '}' '||' '{' echo '"$me:' cannot create a temporary directory in '$TMPDIR"' '>&2' ';' exit 1 ';' '}' ';' 'dummy=$tmp/dummy' ';' 'tmpfiles="$dummy.c' '$dummy.o' '$dummy.rel' '$dummy"' ';' case '$CC_FOR_BUILD,$HOST_CC,$CC' in ',,)' echo '"int' 'x;"' '>' '$dummy.c' ';' for c in cc gcc c89 c99 ';' do if '($c' -c -o '$dummy.o' '$dummy.c)' '>/dev/null' '2>&1' ';' then 'CC_FOR_BUILD="$c";' break ';' fi ';' done ';' if test 'x"$CC_FOR_BUILD"' = x ';' then CC_FOR_BUILD=no_compiler_found ';' fi ';;' ',,*)' 'CC_FOR_BUILD=$CC' ';;' ',*,*)' 'CC_FOR_BUILD=$HOST_CC' ';;' esac ';' set_cc_for_build= ';' ++ trap 'exitcode=$?; (rm -f $tmpfiles 2>/dev/null; rmdir $tmp 2>/dev/null) && exit $exitcode' 0 ++ trap 'rm -f $tmpfiles 2>/dev/null; rmdir $tmp 2>/dev/null; exit 1' 1 2 13 15 ++ : /tmp ++ tmp=/tmp/cgpmW24a ++ test -n /tmp/cgpmW24a ++ test -d /tmp/cgpmW24a ++ dummy=/tmp/cgpmW24a/dummy ++ tmpfiles='/tmp/cgpmW24a/dummy.c /tmp/cgpmW24a/dummy.o /tmp/cgpmW24a/dummy.rel /tmp/cgpmW24a/dummy' ++ case $CC_FOR_BUILD,$HOST_CC,$CC in ++ echo 'int x;' ++ for c in cc gcc c89 c99
Re: Install locks up my server
This is still broken in the 2.2.32 release candidate. config.guess forks copies till the server dies. Running Centos 6.6 under OpenVZ. On 06/26/17 16:03, Marc Perkel wrote: On 06/26/17 14:42, Timo Sirainen wrote: On 26 Jun 2017, at 23.19, Marc Perkel <m...@perkel.com> wrote: Ever since 2.26 I haven't been able to upgrade. In fact the install locks up my server. I get into and infinite recursive loop where the config-guess program calls itself until the server locks up from overload. I'm running Centos 6 under OpenVZ. What am I missing? I think there's a serious bug. 31233 pts/3S 0:00 /bin/sh ./config.guess 31235 pts/3S 0:00 \_ /bin/sh ./config.guess 31238 pts/3S 0:00 \_ /bin/sh ./config.guess 31240 pts/3S 0:00 \_ /bin/sh ./config.guess I think I remember seeing this before, but unfortunately can't remember what the solution was. Maybe it was something something messed up in the OS or in the build directory. Are you compiling from the tarballs? So it's the "configure" that fails? Also if you run "./config.guess" manually? What's the output if you run "bash -x ./config.guess"? bash -x ./config.guess + timestamp=2015-08-20 ++ sed -e 's,.*/,,' ++ echo ./config.guess + me=config.guess + usage='Usage: ./config.guess [OPTION] Output the configuration name of the system `config.guess'\'' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to <config-patc...@gnu.org>.' + version='GNU config.guess (2015-08-20) Originally written by Per Bothner. Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.' + help=' Try `config.guess --help'\'' for more information.' + test 0 -gt 0 + test 0 '!=' 0 + trap 'exit 1' 1 2 15 + set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,)echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' + UNAME_MACHINE=x86_64 + UNAME_RELEASE=2.6.32-042stab123.3 + UNAME_SYSTEM=Linux + UNAME_VERSION='#1 SMP Fri May 5 12:29:05 MSK 2017' + case "${UNAME_SYSTEM}" in + LIBC=gnu + eval trap '"exitcode=\$?;' '(rm' -f '\$tmpfiles' '2>/dev/null;' rmdir '\$tmp' '2>/dev/null)' '&&' exit '\$exitcode"' 0 ';' trap '"rm' -f '\$tmpfiles' '2>/dev/null;' rmdir '\$tmp' '2>/dev/null;' exit '1"' 1 2 13 15 ';' : '${TMPDIR=/tmp}' ';' '{' 'tmp=`(umask' 077 '&&' mktemp -d '"$TMPDIR/cgXX")' '2>/dev/null`' '&&' test -n '"$tmp"' '&&' test -d '"$tmp"' ';' '}' '||' '{' test -n '"$RANDOM"' '&&' 'tmp=$TMPDIR/cg$$-$RANDOM' '&&' '(umask' 077 '&&' mkdir '$tmp)' ';' '}' '||' '{' 'tmp=$TMPDIR/cg-$$' '&&' '(umask' 077 '&&' mkdir '$tmp)' '&&' echo '"Warning:' creating insecure temp 'directory"' '>&2' ';' '}' '||' '{' echo '"$me:' cannot create a temporary directory in '$TMPDIR"' '>&2' ';' exit 1 ';' '}' ';' 'dummy=$tmp/dummy' ';' 'tmpfiles="$dummy.c' '$dummy.o' '$dummy.rel' '$dummy"' ';' case '$CC_FOR_BUILD,$HOST_CC,$CC' in ',,)' echo '"int' 'x;"' '>' '$dummy.c' ';' for c in cc gcc c89 c99 ';' do if '($c' -c -o '$dummy.o' '$dummy.c)' '>/dev/null' '2>&1' ';' then 'CC_FOR_BUILD="$c";' break ';' fi ';' done ';' if test 'x"$CC_FOR_BUILD"' = x ';' then CC_FOR_BUILD=no_compiler_found ';' fi ';;' ',,*)' 'CC_FOR_BUILD=$CC' ';;' ',*,*)' 'CC_FOR_BUILD=$HOST_CC' ';;' esac ';' set_cc_for_build= ';' ++ trap 'exitcode=$?; (rm -f $tmpfiles 2>/dev/null; rmdir $tmp 2>/dev/null) && exit $exitcode' 0 ++ trap 'rm -f $tmpfiles 2>/dev/null; rmdir $tmp 2>/dev/null; exit 1' 1 2 13 15 ++ : /tmp ++ tmp=/tmp/cgpmW24a ++ test -n /tmp/cgpmW24a ++ test -d /tmp/cgpmW24a ++ dummy=/tmp/cgpmW24a/dummy ++ tmpfiles='/tmp/cgpmW24a/dummy.c /tmp/cgpmW24a/dummy.o /tmp/cgpmW24a/dummy.rel /tmp/cgpmW24a/dummy' ++ case $CC_FOR_BUILD,$HOST_CC,$CC in ++ echo 'int x;' ++ for c in cc gcc c89 c99
Re: Install locks up my server
On 06/26/17 14:42, Timo Sirainen wrote: On 26 Jun 2017, at 23.19, Marc Perkel <m...@perkel.com> wrote: Ever since 2.26 I haven't been able to upgrade. In fact the install locks up my server. I get into and infinite recursive loop where the config-guess program calls itself until the server locks up from overload. I'm running Centos 6 under OpenVZ. What am I missing? I think there's a serious bug. 31233 pts/3S 0:00 /bin/sh ./config.guess 31235 pts/3S 0:00 \_ /bin/sh ./config.guess 31238 pts/3S 0:00 \_ /bin/sh ./config.guess 31240 pts/3S 0:00 \_ /bin/sh ./config.guess I think I remember seeing this before, but unfortunately can't remember what the solution was. Maybe it was something something messed up in the OS or in the build directory. Are you compiling from the tarballs? So it's the "configure" that fails? Also if you run "./config.guess" manually? What's the output if you run "bash -x ./config.guess"? bash -x ./config.guess + timestamp=2015-08-20 ++ sed -e 's,.*/,,' ++ echo ./config.guess + me=config.guess + usage='Usage: ./config.guess [OPTION] Output the configuration name of the system `config.guess'\'' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to <config-patc...@gnu.org>.' + version='GNU config.guess (2015-08-20) Originally written by Per Bothner. Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.' + help=' Try `config.guess --help'\'' for more information.' + test 0 -gt 0 + test 0 '!=' 0 + trap 'exit 1' 1 2 15 + set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,)echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' + UNAME_MACHINE=x86_64 + UNAME_RELEASE=2.6.32-042stab123.3 + UNAME_SYSTEM=Linux + UNAME_VERSION='#1 SMP Fri May 5 12:29:05 MSK 2017' + case "${UNAME_SYSTEM}" in + LIBC=gnu + eval trap '"exitcode=\$?;' '(rm' -f '\$tmpfiles' '2>/dev/null;' rmdir '\$tmp' '2>/dev/null)' '&&' exit '\$exitcode"' 0 ';' trap '"rm' -f '\$tmpfiles' '2>/dev/null;' rmdir '\$tmp' '2>/dev/null;' exit '1"' 1 2 13 15 ';' : '${TMPDIR=/tmp}' ';' '{' 'tmp=`(umask' 077 '&&' mktemp -d '"$TMPDIR/cgXX")' '2>/dev/null`' '&&' test -n '"$tmp"' '&&' test -d '"$tmp"' ';' '}' '||' '{' test -n '"$RANDOM"' '&&' 'tmp=$TMPDIR/cg$$-$RANDOM' '&&' '(umask' 077 '&&' mkdir '$tmp)' ';' '}' '||' '{' 'tmp=$TMPDIR/cg-$$' '&&' '(umask' 077 '&&' mkdir '$tmp)' '&&' echo '"Warning:' creating insecure temp 'directory"' '>&2' ';' '}' '||' '{' echo '"$me:' cannot create a temporary directory in '$TMPDIR"' '>&2' ';' exit 1 ';' '}' ';' 'dummy=$tmp/dummy' ';' 'tmpfiles="$dummy.c' '$dummy.o' '$dummy.rel' '$dummy"' ';' case '$CC_FOR_BUILD,$HOST_CC,$CC' in ',,)' echo '"int' 'x;"' '>' '$dummy.c' ';' for c in cc gcc c89 c99 ';' do if '($c' -c -o '$dummy.o' '$dummy.c)' '>/dev/null' '2>&1' ';' then 'CC_FOR_BUILD="$c";' break ';' fi ';' done ';' if test 'x"$CC_FOR_BUILD"' = x ';' then CC_FOR_BUILD=no_compiler_found ';' fi ';;' ',,*)' 'CC_FOR_BUILD=$CC' ';;' ',*,*)' 'CC_FOR_BUILD=$HOST_CC' ';;' esac ';' set_cc_for_build= ';' ++ trap 'exitcode=$?; (rm -f $tmpfiles 2>/dev/null; rmdir $tmp 2>/dev/null) && exit $exitcode' 0 ++ trap 'rm -f $tmpfiles 2>/dev/null; rmdir $tmp 2>/dev/null; exit 1' 1 2 13 15 ++ : /tmp ++ tmp=/tmp/cgpmW24a ++ test -n /tmp/cgpmW24a ++ test -d /tmp/cgpmW24a ++ dummy=/tmp/cgpmW24a/dummy ++ tmpfiles='/tmp/cgpmW24a/dummy.c /tmp/cgpmW24a/dummy.o /tmp/cgpmW24a/dummy.rel /tmp/cgpmW24a/dummy' ++ case $CC_FOR_BUILD,$HOST_CC,$CC in ++ echo 'int x;' ++ for c in cc gcc c89 c99
Install locks up my server
Ever since 2.26 I haven't been able to upgrade. In fact the install locks up my server. I get into and infinite recursive loop where the config-guess program calls itself until the server locks up from overload. I'm running Centos 6 under OpenVZ. What am I missing? I think there's a serious bug. 31233 pts/3S 0:00 /bin/sh ./config.guess 31235 pts/3S 0:00 \_ /bin/sh ./config.guess 31238 pts/3S 0:00 \_ /bin/sh ./config.guess 31240 pts/3S 0:00 \_ /bin/sh ./config.guess 31241 pts/3S 0:00 \_ /bin/sh ./config.guess 31267 pts/3S 0:00 \_ /bin/sh ./config.guess 31272 pts/3S 0:00 \_ /bin/sh ./config.guess 31279 pts/3S 0:00 \_ /bin/sh ./config.guess 31280 pts/3S 0:00 \_ /bin/sh ./config.guess 31281 pts/3S 0:00 \_ /bin/sh ./config.guess 31283 pts/3S 0:00 \_ /bin/sh ./config.guess 31284 pts/3S 0:00 \_ /bin/sh ./config.guess 31285 pts/3S 0:00 \_ /bin/sh ./config.guess 31292 pts/3S 0:00 \_ /bin/sh ./config.guess 31303 pts/3S 0:00 \_ /bin/sh ./config.guess 31304 pts/3S 0:00 \_ /bin/sh ./config.guess 31305 pts/3S 0:00 \_ /bin/sh ./config.guess 31306 pts/3S 0:00 \_ /bin/sh ./config.guess 31307 pts/3S 0:00 \_ /bin/sh ./config.guess 31321 pts/3S 0:00 \_ /bin/sh ./config.guess 31340 pts/3S 0:00 \_ /bin/sh ./config.guess 31341 pts/3S 0:00 \_ /bin/sh ./config.guess 31426 pts/3S 0:00 \_ /bin/sh ./config.guess 31530 pts/3S 0:00 \_ /bin/sh ./config.guess
Trouble compiling 2.2.29.1
Not sure what I'm doing wrong but I run this: ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-maintainer-mode --with-mysql and it forks thousands of copies of config.guess and will eventually lock up the computer. What am I doing wrong?
Re: Multiple email clients not in sync
On 7/9/2014 9:49 AM, Reindl Harald wrote: Am 09.07.2014 17:23, schrieb Marc Perkel: Hello everyone, I'm not sure if this is an issue with dovecot or my various email clients, or my settings. I'm running 2.2.13 and I have Thunderbird on my desktop and K@mail on my android phone. In theory if I delete email on one it should delete it on the other. It does delete it on the server - but the other client isn't always aware of it. Same thing sometimes with read messages. I read on one device but the other didn't know it's read unless I shut down and restart the app. Not knowing the details of how this all works I'm assuming there is some form of notification that goes on in the background so as to let other clients know what other clients do so they can sync up. And that where my setup isn't working consistently. Maybe my expectations are just too high? Maybe I don't have things set up correctly? What am I missing? Thanks in advance * do you have imap idle enabled on the server * do you have imap idle enabled on all clients * if both is yes - in case of subfolders: make sure enough connections are allowed * thunderbird AFAIK needs some tweek to watch all folders for notifications too lazy to dig in my configs however imap idle and your software on each end should be a good start for Google Thanks for your help. How do I turn on idle on the server?
Re: Multiple email clients not in sync
On 7/9/2014 9:49 AM, Reindl Harald wrote: Am 09.07.2014 17:23, schrieb Marc Perkel: Hello everyone, I'm not sure if this is an issue with dovecot or my various email clients, or my settings. I'm running 2.2.13 and I have Thunderbird on my desktop and K@mail on my android phone. In theory if I delete email on one it should delete it on the other. It does delete it on the server - but the other client isn't always aware of it. Same thing sometimes with read messages. I read on one device but the other didn't know it's read unless I shut down and restart the app. Not knowing the details of how this all works I'm assuming there is some form of notification that goes on in the background so as to let other clients know what other clients do so they can sync up. And that where my setup isn't working consistently. Maybe my expectations are just too high? Maybe I don't have things set up correctly? What am I missing? Thanks in advance * do you have imap idle enabled on the server * do you have imap idle enabled on all clients * if both is yes - in case of subfolders: make sure enough connections are allowed * thunderbird AFAIK needs some tweek to watch all folders for notifications too lazy to dig in my configs however imap idle and your software on each end should be a good start for Google Yes - server and all email clients do IDLE. And it does seem to work sometime. My real question is if it can work all the time or are my expectations too high?
Re: [Dovecot] Setting mail location in SQL?
Is there any way to do it without modifying the MySQL database? I want to force it it maildir:/fakedir/%d/%n for this userdb only. Other userdb has a different value. On 5/19/2014 11:44 PM, Steffen Kaiser wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Mon, 19 May 2014, Marc Perkel wrote: Trying to figure out the syntax to set a mail_location for SQL. This doesn't work: userdb { driver = sql args = /etc/dovecot/master-combined-sql.conf override_fields = mail_location=maildir:/fakedir/%d/%n:INBOX=/fakedir:LAYOUT=fs } Does anyone know the proper syntax? http://wiki2.dovecot.org/AuthDatabase/SQL#User_database_lookups It's the mail field. You configured the reverse case: http://wiki2.dovecot.org/UserDatabase?highlight=%28override_fields%29 - -- Steffen Kaiser -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) iQEVAwUBU3r553z1H7kL/d9rAQL87gf/b7+5vsp3eHcmqbqwrpSQXn8OElg3rpb+ wa/ym3NOBv3neiDFIW+VuOuYvuS8pddjvmpf+SLSDfuqPbDnLZ6WD1dJ9e6RMLT+ FCqw720HUrKJ2gra0i9yQZcskXEOIL23pz8p+9jf4vibHsTUJ47VKFPjV15mSB7Z TKmXG960cKdXcdeP1SndxwF735ZC6QVlJ2fQWdwsLOA0gQUFsfO+UQY/cfJiWLKZ omt0nIj2RduXZUDJoG9s+5UtXRJck4SC0oqXdmAebPYnJB+1H+vpdY1tscItD7GN EuQCouev2L0m4LIGpvrhyOoZy2/Xsh/U+wQDB6tJYrBZlZom1L3pOA== =oXX4 -END PGP SIGNATURE-
[Dovecot] Applying a DNS RBL to deny authentication?
Hope to get some attention about this idea to reduce hacking passwords. Here is a list of about 700,000 IP addresses that are hacking passwords through SMTP AUTH http://ipadmin.junkemailfilter.com/auth-hack.txt This is a list of IP addresses that attempted to authenticate against my fake AUTH advertizing on servers with no authentication. We do front end spam filtering for thousands of domains and I decided to advertize authentication where there is none and I accept and blackhole all authenticated email to those servers. I have harvested the IP addresses in this list that is available through an RBL. It seems to me that a nice dovecot feature would be the ability to do a black list check against IP addresses connecting and deny access if listed. Thoughts?
[Dovecot] master password
This is probably easy but how would a set a secret static master password so that if I typed it in for any login it would be happy? I can't use the * separator method in this case because it screws up squirrelmail.
Re: [Dovecot] Dovecot deliver into folder question
On 1/6/2014 11:28 PM, Steffen Kaiser wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Mon, 6 Jan 2014, Marc Perkel wrote: On 1/6/2014 12:27 PM, Charles Marcus wrote: On 2014-01-06 3:20 PM, Marc Perkel m...@perkel.com wrote: If I want to user dovecot deliver into a folder that is not at the root level - how do I do that? How do I specify a folder in a folder? For *all* messages? Or for certain messages? Kind of an incomplete question. Certain messages. I'm talking about the deliver utility - the -m option. Usage: dovecot-lda [-c config file] [-a address] [-d username] [-p path] [-f envelope sender] [-m mailbox] [-e] [-k] when specifying the mailbox - how do you specify a subfolder? Do you use a / separator? You have to experiment a bit. As far as I remember, there had been bug reports in some versions that maybe a mixture of / and the configured separator must be used, e.g. prefix = shared. separator = . try: - -m shared.sub1.sub2.sub3 - -m shared.sub1/sub2/sub3 - -m shared/sub1/sub2/sub3 When I used Dovecot LDA, the first variant worked. Yes - I tried that and it worked with the period. However I think if I weren't using maildir format it might have failed. There should be an official way to do this.
[Dovecot] [OT] cool bash script for cron with seconds resolution
Short bash script to run a program 30 20 15 12 10 6 5 4 3 2 executions per minute. http://wiki.junkemailfilter.com/index.php/How_to_run_a_Linux_script_every_few_seconds_under_cron
[Dovecot] Dovecot deliver into folder question
If I want to user dovecot deliver into a folder that is not at the root level - how do I do that? How do I specify a folder in a folder?
Re: [Dovecot] Dovecot deliver into folder question
On 1/6/2014 12:27 PM, Charles Marcus wrote: On 2014-01-06 3:20 PM, Marc Perkel m...@perkel.com wrote: If I want to user dovecot deliver into a folder that is not at the root level - how do I do that? How do I specify a folder in a folder? For *all* messages? Or for certain messages? Kind of an incomplete question. Certain messages. I'm talking about the deliver utility - the -m option. Usage: dovecot-lda [-c config file] [-a address] [-d username] [-p path] [-f envelope sender] [-m mailbox] [-e] [-k] when specifying the mailbox - how do you specify a subfolder? Do you use a / separator?
Re: [Dovecot] v2.2.9 released
Well, it's not crashing like 2.2.8 did. So far so good after 10 minutes. :) On 11/24/2013 4:27 PM, Timo Sirainen wrote: http://dovecot.org/releases/2.2/dovecot-2.2.9.tar.gz http://dovecot.org/releases/2.2/dovecot-2.2.9.tar.gz.sig + Full text search indexing can now be done automatically after saving/copying mails by setting plugin { fts_autoindex=yes } + replicator: Added replication_dsync_parameters setting to pass doveadm sync parameters (for controlling what to replicate). + Added mail-filter plugin + Added liblzma/xz support (zlib_save=xz) - v2.2.8's improved cache file handling exposed several old bugs related to fetching mail headers. - v2.2.7's iostream handling changes were causing some connections to be disconnected before flushing their output (e.g. POP3 logout message wasn't being sent)
Re: [Dovecot] Dovecot login slow
On 11/13/2013 4:34 PM, Benny Pedersen wrote: Marc Perkel skrev den 2013-11-14 01:13: I does act like a DNS problem but why is DNS involved? It doesn't have a delay in connecting. It's the login that's slow. you use a auth that depends on fast dns ? lost now how your dovecot -n was are we sure its dns at all ?, i see the INDEX on another path then MAILDIR was, is it 2 diff harddisk drives ? is it running on shared resources ? My AUTH depends only on MYSQL. There's no DNS involved. At least not that I can see there should be. So why would localhost take 10-15 seconds to do the login part and coming into the servers IP address is instant. And in both cases the connection itself is instant. It's when I type in the LOGIN command that the delay occurs. # 2.2.7: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-042stab083.2 x86_64 CentOS release 6.4 (Final) ext4 auth_master_user_separator = * auth_mechanisms = login plain disable_plaintext_auth = no first_valid_uid = 12 info_log_path = /var/log/dovecot.log log_path = /var/log/dovecot.log login_greeting = Computer Tyme Dovecot ready. mail_fsync = never mail_gid = mail mail_location = maildir:/vhome/%d/home/%n:INDEX=/email/imap-cache/%d-%n mail_uid = mail passdb { args = /etc/dovecot/sql.conf driver = sql } passdb { args = /etc/dovecot/master-combined-sql.conf driver = sql master = yes pass = yes } protocols = imap pop3 service anvil { client_limit = 2 } service auth { client_limit = 2 unix_listener auth-client { mode = 0666 } unix_listener auth-master { mode = 0666 } } service imap-login { process_limit = 4000 process_min_avail = 30 service_count = 0 } service imap { process_limit = 4000 } service pop3-login { process_limit = 2000 process_min_avail = 20 service_count = 0 } service pop3 { process_limit = 2000 } ssl_ca = /usr/share/ssl/certs/rapidssl.crt ssl_cert = /usr/share/ssl/certs/imapd.pem ssl_key = /usr/share/ssl/certs/imapd.pem verbose_proctitle = yes protocol imap { mail_max_userip_connections = 50 } protocol pop3 { pop3_uidl_format = %v.%u }
Re: [Dovecot] Dovecot login slow
On 11/14/2013 11:32 AM, Benny Pedersen wrote: Marc Perkel skrev den 2013-11-14 05:25: My AUTH depends only on MYSQL. There's no DNS involved. At least not that I can see there should be. So why would localhost take 10-15 seconds to do the login part and coming into the servers IP address is instant. And in both cases the connection itself is instant. It's when I type in the LOGIN command that the delay occurs. i cant see what in sql.conf here, never mind, but localhost is a hostname so it needs dns to find the ip, change the hostname in sql.conf to 127.0.0.1 or use socket file instaed of dns if that its, give me a hand ? That would be understandable if the delay were connecting, but it's not. The connection is instand. And localhost resolves instantly. The delay is after I type in the login command. That's what I don't understand.
[Dovecot] Dovecot login slow
Can't figure out why the login is slow. I telnet to port 143 on localhost. I type: 0 login user password Takes about 10 seconds and it lets me in. I'm using MYSQL and it's a small indexed database on a fast server so it's not the mysql query that's slowing it down. At least I don't think it is. But - kind of stumped. Just wondering if there's something obvious I'm overlooking.
Re: [Dovecot] Dovecot login slow
On 11/13/2013 12:41 PM, Marc Perkel wrote: Can't figure out why the login is slow. I telnet to port 143 on localhost. I type: 0 login user password Takes about 10 seconds and it lets me in. I'm using MYSQL and it's a small indexed database on a fast server so it's not the mysql query that's slowing it down. At least I don't think it is. But - kind of stumped. Just wondering if there's something obvious I'm overlooking. Here's my dovecot -n listing. Not using PAM # 2.2.7: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-042stab083.2 x86_64 CentOS release 6.4 (Final) ext4 auth_master_user_separator = * auth_mechanisms = login plain disable_plaintext_auth = no first_valid_uid = 12 info_log_path = /var/log/dovecot.log log_path = /var/log/dovecot.log login_greeting = Computer Tyme Dovecot ready. mail_fsync = never mail_gid = mail mail_location = maildir:/vhome/%d/home/%n:INDEX=/email/imap-cache/%d-%n mail_uid = mail passdb { args = /etc/dovecot/sql.conf driver = sql } passdb { args = /etc/dovecot/master-combined-sql.conf driver = sql master = yes pass = yes } protocols = imap pop3 service anvil { client_limit = 2 } service auth { client_limit = 2 unix_listener auth-client { mode = 0666 } unix_listener auth-master { mode = 0666 } } service imap-login { process_limit = 4000 process_min_avail = 30 service_count = 0 } service imap { process_limit = 4000 } service pop3-login { process_limit = 2000 process_min_avail = 20 service_count = 0 } service pop3 { process_limit = 2000 } ssl_ca = /usr/share/ssl/certs/rapidssl.crt ssl_cert = /usr/share/ssl/certs/imapd.pem ssl_key = /usr/share/ssl/certs/imapd.pem verbose_proctitle = yes protocol imap { mail_max_userip_connections = 50 } protocol pop3 { pop3_uidl_format = %v.%u }
Re: [Dovecot] Dovecot login slow
More information When i telnet to localhost on 143 it takes 10-15 seconds to log in. but When I telnet to the host name of the server it logs in instantly. Why would it be slow on localhost by fast on the server's IP address?
Re: [Dovecot] Dovecot login slow
On 11/13/2013 3:28 PM, Pascal Volk wrote: On 11/13/2013 11:17 PM Marc Perkel wrote: More information When i telnet to localhost on 143 it takes 10-15 seconds to log in. but When I telnet to the host name of the server it logs in instantly. Why would it be slow on localhost by fast on the server's IP address? Sounds like a DNS lookup problem. Did you list all related ip addresses in /etc/hosts? Regards, Pascal I does act like a DNS problem but why is DNS involved? It doesn't have a delay in connecting. It's the login that's slow.
Re: [Dovecot] Encryption solution for messages at rest
On 10/28/2013 9:02 AM, Douglas Mortensen wrote: Hi, We have clients with various security compliance requirements. Although not required, it would be ideal to have messages encrypted at rest. We already use SSL/TLS to secure the transmission of most email. However, it would be nice to have them encrypted sitting on our server. Is anyone doing this? I think that ideally, rather than full-disk encryption, we should use an encryption that encrypts the actual email messages as they sit on our file system. This way even if we ever had our server breached by an attacker, they wouldn't be able to do anything with the messages. However, this would also mean that if the attacker can't decrypt the files, than dovecot and postfix still would need to. This means that the encryption key would need to be available to the dovecot deamon. We'd either need to have it in a file that is restricted to access only by dovecot (less secure), or use an encryption passphrase for the certificate which would have to be typed in manually each time that dovecot starts or restarts (more secure, but also more work and possibility of disruption because the server can't restart gracefully without a human being having to be present [although I don't think we have issues with unexpected restarts anyway]). Is anyone doing anything like this with dovecot? Thanks!! - Doug Mortensen Network Consultant Impala Networks Inc CCNA, MCSA, Security+, A+ Linux+, Network+, Server+ A.A.S. Information Technology . www.impalanetworks.com P: (505) 327-7300 F: (505) 327-7545 I use OpenVZ which is a near 0 overhead virtualization for Linux only. So I create a separate virtual machine for web services and email services. So someone hacking the web will never get at the email because it's not there. It also allows me to back them up separately and move/restore them separately on different computers.
[Dovecot] Odd Feature Request - RBL blacklist lookup to prevent authentication
I would like to have a list of IPs (hacker list) that I can do a lookup on so that if anyone tries to authenticate to dovecot they always fail if they are on my list. I have the list - and the list is available as a DNS blacklist. I'd like to have it work with both local IP lists or RBL lookup. The idea is so hackers from known IP addresses never succeed. If Dovecot provides the feature I have about 1/2 million IP addresses of known current hackers to block. Anyone else interested in this?
Re: [Dovecot] XFS vs EXT4 for mail storage
On 5/2/2013 4:16 AM, Charles Marcus wrote: Hello, I'm in the process of finalizing the spec for my new dovecot VM, and this is the last question I need to address... I've read until I'm just about decided on XFS, but I have no experience with it (been using reiserfs on my old box (@ 8 yrs old now), and never had a problem (knock on wood), but considering its current situation (little to no development support for reasons everyone is aware of), I've decided now is the time to switch. It came down to XFS or EXT4, and I like what I've read about XFS, but am unsure how to tune it (or even if I should). I've decided to use mdbox for storage (been using maildir), and will enable SIS for attachments. So, anyone (Stan?) have any suggestions? Should I go with EXT4? Or XFS with just the defaults? Or XFS with one or more tuned parameters? Appreciate any suggestions (including links to docs dealing with tuning XFS for my mail storage conditions that are written more at the layman level) or comments from anyone experienced using both... Thanks, For what it's worth if you can afford it I'd use SSD drives. My server screams since I went to SSD.
Re: [Dovecot] v2.2.1 released
Message search is FIXED! On 4/18/2013 2:41 PM, Timo Sirainen wrote: http://dovecot.org/releases/2.2/dovecot-2.2.1.tar.gz http://dovecot.org/releases/2.2/dovecot-2.2.1.tar.gz.sig - mailbox_list_index=yes was broken. - LAYOUT=index didn't list subscriptions. - auth: Multiple master passdbs didn't work. - Message parsing (e.g. during search) crashed when multipart message didn't actually contain any parts.
Re: [Dovecot] v2.2.0 - possible bug?
On 4/15/2013 2:09 AM, Timo Sirainen wrote: On 15.4.2013, at 8.35, Marc Perkel m...@perkel.com wrote: When doing a server side message body search I got this in the logs: Apr 14 22:32:24 imap(supp...@junkemailfilter.com): Panic: file message-parser.c: line 698 (preparsed_parse_prologue_more): assertion failed: (ctx-part-children != NULL) You can reproduce this? What if you delete that mailbox's dovecot.index.cache and search twice after that? I deleted all index files in location INDEX=/email/imap-cache/%d-%n - same result. I then deleted these files: -rw--- 1 mail mail 41 Mar 21 2007 dovecot-keywords -rw--- 1 mail mail 694046 Apr 15 06:20 dovecot-uidlist -rw--- 1 mail mail 8 Dec 5 07:58 dovecot-uidvalidity -rw--- 1 mail mail 0 Apr 1 2009 dovecot-uidvalidity.49d3bf54 The search still didn't work but there was no crash report in the logs. When I say the search didn't work it found nothing and it returned way to fast.
Re: [Dovecot] v2.2.0 - possible bug?
On 4/15/2013 2:09 AM, Timo Sirainen wrote: On 15.4.2013, at 8.35, Marc Perkel m...@perkel.com wrote: When doing a server side message body search I got this in the logs: Apr 14 22:32:24 imap(supp...@junkemailfilter.com): Panic: file message-parser.c: line 698 (preparsed_parse_prologue_more): assertion failed: (ctx-part-children != NULL) You can reproduce this? What if you delete that mailbox's dovecot.index.cache and search twice after that? New update - tried it again and got the error in the logs: Apr 15 06:40:28 imap-login: Info: Login: user=supp...@junkemailfilter.com, method=PLAIN, rip=::1, lip=::1, mpid=11228, secured, session=82RcZWbaRgAB Apr 15 06:40:28 imap(supp...@junkemailfilter.com): Panic: file message-parser.c: line 698 (preparsed_parse_prologue_more): assertion failed: (ctx-part-children != NULL) Apr 15 06:40:28 imap(supp...@junkemailfilter.com): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x5f45a) [0x7f6d585bf45a] - /usr/lib/dovecot/libdovecot.so.0(+0x5f4a6) [0x7f6d585bf4a6] - /usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f6d5857fd4f] - /usr/lib/dovecot/libdovecot.so.0(+0x52863) [0x7f6d585b2863] - /usr/lib/dovecot/libdovecot.so.0(message_parser_parse_next_block+0x29) [0x7f6d585b2349] - /usr/lib/dovecot/libdovecot.so.0(message_search_msg+0x5d) [0x7f6d585b451d] - /usr/lib/dovecot/libdovecot-storage.so.0(+0x9d558) [0x7f6d588bd558] - /usr/lib/dovecot/libdovecot-storage.so.0(mail_search_args_foreach+0x3c) [0x7f6d58894c3c] - /usr/lib/dovecot/libdovecot-storage.so.0(+0x9d289) [0x7f6d588bd289] - /usr/lib/dovecot/libdovecot-storage.so.0(+0x9e2fd) [0x7f6d588be2fd] - /usr/lib/dovecot/libdovecot-storage.so.0(index_storage_search_next_nonblock+0xe8) [0x7f6d588be938] - /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_search_next_nonblock+0x27) [0x7f6d58899057] - dovecot/imap [supp...@junkemailfilter.com ::1 UID SEARCH]() [0x41a78f] - dovecot/imap [supp...@junkemailfilter.com ::1 UID SEARCH](imap_search_start+0xe9) [0x41abf9] - dovecot/imap [supp...@junkemailfilter.com ::1 UID SEARCH](cmd_search+0xc5) [0x40ff75] - dovecot/imap [supp...@junkemailfilter.com ::1 UID SEARCH](command_exec+0x3d) [0x414f5d] - dovecot/imap [supp...@junkemailfilter.com ::1 UID SEARCH]() [0x4140c0] - dovecot/imap [supp...@junkemailfilter.com ::1 UID SEARCH]() [0x4141ad] - dovecot/imap [supp...@junkemailfilter.com ::1 UID SEARCH](client_handle_input+0x11d) [0x41442d] - dovecot/imap [supp...@junkemailfilter.com ::1 UID SEARCH](client_input+0x6f) [0x41479f] - /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f6d585ce3a6] - /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xa7) [0x7f6d585cf407] - /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x28) [0x7f6d585ce348] - /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f6d58584a03] - dovecot/imap [supp...@junkemailfilter.com ::1 UID SEARCH](main+0x2a7) [0x41d997] - /lib64/libc.so.6(__libc_start_main+0xfd) [0x7f6d581e6cdd] - dovecot/imap [supp...@junkemailfilter.com ::1 UID SEARCH]() [0x40a4d9] Apr 15 06:40:28 imap(supp...@junkemailfilter.com): Fatal: master: service(imap): child 11228 killed with signal 6 (core dumps disabled) These files were recreated: -rw-rw 1 mail mail 48 Apr 15 06:40 dovecot-keywords -rw-rw 1 mail mail 678358 Apr 15 06:40 dovecot-uidlist
Re: [Dovecot] v2.2.0 - possible bug?
On 4/15/2013 7:23 AM, Timo Sirainen wrote: On Mon, 2013-04-15 at 17:10 +0300, Timo Sirainen wrote: Apr 14 22:32:24 imap(supp...@junkemailfilter.com): Panic: file message-parser.c: line 698 (preparsed_parse_prologue_more): assertion failed: (ctx-part-children != NULL) You can reproduce this? What if you delete that mailbox's dovecot.index.cache and search twice after that? Actually don't bother, looks like I can reproduce it myself also. :) I thought it was a more rare problem. I don't think it is a very common problem actually, I just happened to have such mail in my inbox. This fixes it: http://hg.dovecot.org/dovecot-2.2/rev/b38d5ebacf25 So - will there be a 2.2.1 out today?
Re: [Dovecot] v2.2.0 - possible bug?
When doing a server side message body search I got this in the logs: Apr 14 22:32:24 imap(supp...@junkemailfilter.com): Panic: file message-parser.c: line 698 (preparsed_parse_prologue_more): assertion failed: (ctx-part-children != NULL) Apr 14 22:32:24 imap(supp...@junkemailfilter.com): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x5f45a) [0x7f6eab1d745a] - /usr/lib/dovecot/libdovecot.so.0(+0x5f4a6) [0x7f6eab1d74a6] - /usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f6eab197d4f] - /usr/lib/dovecot/libdovecot.so.0(+0x52863) [0x7f6eab1ca863] - /usr/lib/dovecot/libdovecot.so.0(message_parser_parse_next_block+0x29) [0x7f6eab1ca349] - /usr/lib/dovecot/libdovecot.so.0(message_search_msg+0x5d) [0x7f6eab1cc51d] - /usr/lib/dovecot/libdovecot-storage.so.0(+0x9d558) [0x7f6eab4d5558] - /usr/lib/dovecot/libdovecot-storage.so.0(mail_search_args_foreach+0x3c) [0x7f6eab4acc3c] - /usr/lib/dovecot/libdovecot-storage.so.0(+0x9d289) [0x7f6eab4d5289] - /usr/lib/dovecot/libdovecot-storage.so.0(+0x9e2fd) [0x7f6eab4d62fd] - /usr/lib/dovecot/libdovecot-storage.so.0(index_storage_search_next_nonblock+0xe8) [0x7f6eab4d6938] - /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_search_next_nonblock+0x27) [0x7f6eab4b1057] - dovecot/imap [supp...@junkemailfilter.com 127.0.0.1 UID SEARCH]() [0x41a78f] - dovecot/imap [supp...@junkemailfilter.com 127.0.0.1 UID SEARCH](imap_search_start+0xe9) [0x41abf9] - dovecot/imap [supp...@junkemailfilter.com 127.0.0.1 UID SEARCH](cmd_search+0xc5) [0x40ff75] - dovecot/imap [supp...@junkemailfilter.com 127.0.0.1 UID SEARCH](command_exec+0x3d) [0x414f5d] - dovecot/imap [supp...@junkemailfilter.com 127.0.0.1 UID SEARCH]() [0x4140c0] - dovecot/imap [supp...@junkemailfilter.com 127.0.0.1 UID SEARCH]() [0x4141ad] - dovecot/imap [supp...@junkemailfilter.com 127.0.0.1 UID SEARCH](client_handle_input+0x11d) [0x41442d] - dovecot/imap [supp...@junkemailfilter.com 127.0.0.1 UID SEARCH](client_input+0x6f) [0x41479f] - /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f6eab1e63a6] - /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xa7) [0x7f6eab1e7407] - /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x28) [0x7f6eab1e6348] - /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f6eab19ca03] - dovecot/imap [supp...@junkemailfilter.com 127.0.0.1 UID SEARCH](main+0x2a7) [0x41d997] - /lib64/libc.so.6(__libc_start_main+0xfd) [0x7f6eaadfecdd] - dovecot/imap [supp...@junkemailfilter.com 127.0.0.1 UID SEARCH]() [0x40a4d9] Apr 14 22:32:24 imap(supp...@junkemailfilter.com): Fatal: master: service(imap): child 28156 killed with signal 6 (core dumps disabled)
Re: [Dovecot] v2.2.rc5 released
Testing under OpenVZ and it's all good here. +1
[Dovecot] [OT] MS Exchange Alternative?
Just wondering if there's an open source Linux alternative to MS Exchange so that all the features of outlook work?
[Dovecot] Can Dovecot authenticate against an external email server?
Just wondering if anyone has done this. I have a spam filtering service where I am now storing spam for users I filter for. It's a filter and forward service so I don't control the recipient's email server. What I would like to do somehow is have the user enter their email address and password and then look up their POP/IMAP server from a database and try to authenticate from it. If sucessful then the user will be able to access their stored spam using Dovecot and Squirrelmail. Any suggestions? Thanks in advance
Re: [Dovecot] Multiple Maildir?
On 10/9/2012 5:12 PM, Kelsey Cummings wrote: On 10/09/12 15:42, Daniel Parthey wrote: Marc Perkel wrote: if the mail location doesn't exist then I want to try a second mail location: mail_location = maildir:/email/%d/%n:INBOX=/email/%d/%n:LAYOUT=fs You might do this with a script which exports the MAIL environment variable and then executes the service binary: It will work, we do this to set the maildir location to a custom hashed directory and muck around with the namespaces a bit. The script is in perl - the relevant parts look like this. #set user's maildir location for dovecot $ENV{'MAIL'} = 'maildir:' . getmaildir($ENV{'USER'}); $ENV{'USERDB_KEYS'} .= 'MAIL'; #pass along to dovecot's next process exec { $ARGV[0] } @ARGV; -K Namespaces is something I don't understand. Still wondering what environment variables I can pick up in this script. What I want to do is first try /fakedir/%d/%n and if that doesn't exist I want to go to /email/%d/%n
[Dovecot] Feature Request
It would be handy (for me) if there were a userdb where a directory structure defined the db. userdb stat { mail_location=maildir:/fakedir/%d/%n:INBOX=/email/%d/%n:LAYOUT=fs } userdb stat { mail_location=maildir:/email/%d/%n:INBOX=/email/%d/%n:LAYOUT=fs } The idea being that if the first directory doesn't exist then it will try the second one.
Re: [Dovecot] Feature Request
On 10/9/2012 7:29 PM, Timo Sirainen wrote: On 10.10.2012, at 4.34, Marc Perkel wrote: It would be handy (for me) if there were a userdb where a directory structure defined the db. userdb stat { mail_location=maildir:/fakedir/%d/%n:INBOX=/email/%d/%n:LAYOUT=fs } userdb stat { mail_location=maildir:/email/%d/%n:INBOX=/email/%d/%n:LAYOUT=fs } The idea being that if the first directory doesn't exist then it will try the second one. You could already implement this as userdb checkpassword script. Can you give me an example?
[Dovecot] Namespace Prefix Tutorial?
I'm trying to grasp the namespace and prefix stuff and looking for a good tutorial page that explains what it is and how to use it. Thanks in advance
Re: [Dovecot] Namespace Prefix Tutorial?
On 10/8/2012 11:28 AM, Michael M Slusarz wrote: Quoting Marc Perkel m...@perkel.com: On 10/8/2012 10:59 AM, Robert Schetterer wrote: Am 08.10.2012 18:23, schrieb Marc Perkel: I'm trying to grasp the namespace and prefix stuff and looking for a good tutorial page that explains what it is and how to use it. Thanks in advance look http://wiki2.dovecot.org/Namespaces I've read that but it doesn't tell me what a prefix is or what a namespace is. I'm having a hard time grasping the overall concept. Try reading the defining RFC document itself: http://tools.ietf.org/html/rfc2342 michael I went there and maybe I'm just stupid. I don't understand what a prefix is. I'm trying to grasp the whole process.
Re: [Dovecot] Master User Question
On 10/8/2012 11:43 AM, Robert Schetterer wrote: Am 08.10.2012 20:32, schrieb Marc Perkel: On 10/8/2012 11:26 AM, Robert Schetterer wrote: Am 08.10.2012 20:09, schrieb Marc Perkel: OK - I'm trying to do weird stuff so rather not answer why I'm doing this. Trying to log in using a master user: u...@example.com*mas...@master.com When debugging the master authenticates - but then it tries to authenticate u...@example.com and it's not found. And - it is true that the user doesn't actually exist. What I want to do is allow it to log in without checking if the user exists, just on the credentials of the master. i dont understand why login should work with masteruser to user , when user does not exist, would you like to get the user created on the fly by masteruser login etc ? The directory structure for u...@example.com exists. Just not in the regular mysql database. If I create a fake passdb system it works: passdb { driver = static args = nopassword=y } However - it leaves the system wide open for anyone. Basically - only master users are going to log in and manage stored spam for regular users. The master user will be able to spoof being the regular user to review stored spam. whats the problem in simply create the user mailbox? i.e lda etc may do it on the fly be recieving a mail http://wiki2.dovecot.org/LDA -m mailbox: Destination mailbox (default is INBOX). If the mailbox doesn't exist, it will not be created (unless the lda_mailbox_autocreate setting is set to yes). If message couldn't be saved to the mailbox for any reason, it's delivered to INBOX instead. Maybe there's some way to have more than one mail_location? I have this - and it's confusing: maildir:/fakedir/%d/%n:INBOX=/email/%d/%n:LAYOUT=fs the /fakedir directory is externally built and it has symlinks pointing onto the /email directory where the email is stored. If I could set up a passdb and specify a different mail_location that might solve my problem, at least one of them. So close - yet so far away.
Re: [Dovecot] Master User Question
Making some progress = this seems to work. passdb { driver = static args = mail_location=maildir:/email/%d/%n:INBOX=/email/%d/%n:LAYOUT=fs }
[Dovecot] [OT] How do I convert maildir to bsmtp format?
Here's what I'm trying to do. I have a spam filtering operation as a front end for other servers. I've created a virtual server for spam storage where the user will be able to log in using squirrelmail/dovecot to review and release their spam. The email is stored in maildir format. Piecing it together I can use squirrelmail to pipe the email into something so that if a use finds a false positive they can hit the release button and the message is sent on to the recipient. Squirrelmail sends the message as you would receive it as stored in maildir format. I need to take this format and translate it to send it on to the user. Wondering what is the best way to do that. Something that translated it into bsmtp format would be great. I'm sure thare must be something out there. I just haven't found it yet. Thanks in advance.
Re: [Dovecot] Getting rid of the subscription file
On 10/4/2012 7:20 AM, Timo Sirainen wrote: On 4.10.2012, at 7.40, Marc Perkel wrote: I'd like to eliminate the subscription file and have it just list the folders that are there. How do I do that? Write a plugin. I have had some luck using an external script to generate the subscriptions files.
Re: [Dovecot] Advanced dovecot tricks - spam review/release
On 10/3/2012 11:36 PM, Robert Schetterer wrote: Am 03.10.2012 21:48, schrieb Marc Perkel: I'm looking for some advice to do a really advanced trick with Dovecot. I'm not sure if this can be done. I need to describe first. I have a spam filtering company that does front end spam filtering. (Junk Email Filter) I want to add a system where I store a copy of spam on a server and make it available to the customer to review and maybe resent on false positives. this is the job of your filter comapny first, anyway , dont use them anymore and use i.e amavis with quarantaine i dont think other cases make sense in real by getting very complicated I am the spam filtering company. :)
[Dovecot] Advanced dovecot tricks - spam review/release
Hi, I'm looking for some advice to do a really advanced trick with Dovecot. I'm not sure if this can be done. I need to describe first. I have a spam filtering company that does front end spam filtering. (Junk Email Filter) I want to add a system where I store a copy of spam on a server and make it available to the customer to review and maybe resent on false positives. I know I could do something simple where I deliver all spam to a domain account and make it available to an administrator. Then if it's a false positive they would drag the message to a resend folder. I'll have something the checks the folder one a minute to pick up and resend. However What would be very cool is delivering the spam to individual accounts. So a user who logs in individually can see their own spam. But the admin for the domain would be able to see all users. Maybe the users would appear as folders? Then a master account (me) would be able to log in and see all the domains as folders and the users as folders inside the domains? One thing I can do is deliver the spam to 3 different places so it's visible on all levels. I'm just wondering if anyone out there has any ideas about that. And I'll need an authentication system.
Re: [Dovecot] Advanced dovecot tricks - spam review/release
I'm a little confused. What about the cur, new, and tmp directories? How does that fit in? On 10/3/2012 1:04 PM, Timo Sirainen wrote: Maildir, layout=fs /var/vmail/domain/user/ Spams get delivered there. User has access there. Domain admin has mail_location=/var/vmail/domain, you have mail_location=/var/vmail -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. Marc Perkel m...@perkel.com wrote: Hi, I'm looking for some advice to do a really advanced trick with Dovecot. I'm not sure if this can be done. I need to describe first. I have a spam filtering company that does front end spam filtering. (Junk Email Filter) I want to add a system where I store a copy of spam on a server and make it available to the customer to review and maybe resent on false positives. I know I could do something simple where I deliver all spam to a domain account and make it available to an administrator. Then if it's a false positive they would drag the message to a resend folder. I'll have something the checks the folder one a minute to pick up and resend. However What would be very cool is delivering the spam to individual accounts. So a user who logs in individually can see their own spam. But the admin for the domain would be able to see all users. Maybe the users would appear as folders? Then a master account (me) would be able to log in and see all the domains as folders and the users as folders inside the domains? One thing I can do is deliver the spam to 3 different places so it's visible on all levels. I'm just wondering if anyone out there has any ideas about that. And I'll need an authentication system.
Re: [Dovecot] Advanced dovecot tricks - spam review/release
On 10/3/2012 4:46 PM, Timo Sirainen wrote: On 4.10.2012, at 2.42, Marc Perkel wrote: On 10/3/2012 1:04 PM, Timo Sirainen wrote: Maildir, layout=fs /var/vmail/domain/user/ Spams get delivered there. User has access there. Domain admin has mail_location=/var/vmail/domain, you have mail_location=/var/vmail I'm a little confused. What about the cur, new, and tmp directories? How does that fit in? users: mail_location = maildir:/var/vmail/%d/%n:LAYOUT=fs domain admins: mail_location = maildir:/var/vmail/%d:LAYOUT=fs full admins: mail_location = maildir:/var/vmail:LAYOUT=fs The cur/new/tmp directories are under the /var/vmail/domain/username/. So the spams get delivered to /var/vmail/domain/username/new/ directory. This is visible to the users as their INBOX. Domain admins see the mails under the username mailbox. Full admins see the mails under domain/username mailbox. I'm testing it now and the user level works. But the other levels I don't see anything. I am a little brain dead today though. I'll test more
Re: [Dovecot] Advanced dovecot tricks - spam review/release
On 10/3/2012 4:46 PM, Timo Sirainen wrote: On 4.10.2012, at 2.42, Marc Perkel wrote: On 10/3/2012 1:04 PM, Timo Sirainen wrote: Maildir, layout=fs /var/vmail/domain/user/ Spams get delivered there. User has access there. Domain admin has mail_location=/var/vmail/domain, you have mail_location=/var/vmail I'm a little confused. What about the cur, new, and tmp directories? How does that fit in? users: mail_location = maildir:/var/vmail/%d/%n:LAYOUT=fs domain admins: mail_location = maildir:/var/vmail/%d:LAYOUT=fs full admins: mail_location = maildir:/var/vmail:LAYOUT=fs The cur/new/tmp directories are under the /var/vmail/domain/username/. So the spams get delivered to /var/vmail/domain/username/new/ directory. This is visible to the users as their INBOX. Domain admins see the mails under the username mailbox. Full admins see the mails under domain/username mailbox. Hi Timo, Thanks for your help. I think I'm close. This works: mail_location = maildir:/email/%d/%n:LAYOUT=fs This doesn't: mail_location = maildir:/email/%d:LAYOUT=fs The email client doesn't see the directories as folders and nothing is visible. I must be missing something.
[Dovecot] Getting rid of the subscription file
I'd like to eliminate the subscription file and have it just list the folders that are there. How do I do that? Thanks in advance.
Re: [Dovecot] Getting rid of the subscription file
On 10/3/2012 9:58 PM, Daniel Parthey wrote: Marc Perkel wrote: I'd like to eliminate the subscription file and have it just list the folders that are there. How do I do that? Dovecot allows to automatically subscribe folders when mails are delivered: lda_mailbox_autosubscribe = yes RFC 3501 tells that the server side MUST NOT unilaterally remove an existing mailbox name from the subscription list even if a mailbox by that name no longer exists, see SUBSCRIBE in section 6.3.6: http://tools.ietf.org/html/rfc3501#section-6.3.6 Regards Daniel In my case I don't care what the standard is. I want to get rid of the subscription concept completely.
[Dovecot] Dovecot Authentication through different IMAP server?
Just wondering - is there any way for a dovecot server to authenticate against a different IMAP server? Here's what I'm thinking. I run a spam filtering service and thinking about a way to give users access to their stored spam on my servers. However real email is forwarded to their server, So I'm wondering if I can configure dovecot somehow to do a back end authentication to their email account to gain access to their spam. Open to suggestions
Re: [Dovecot] what best for anti-spam filter?
Try this: http://www.junkemailfilter.com/spam/ On 7/23/2012 8:58 PM, fy wrote: what anti-spam for you used ? dspam?spammassian? amavisd-new ? what is best ?
Re: [Dovecot] Maildir - Need script to delete old unread messages
On 5/19/2012 11:46 AM, Timo Sirainen wrote: On Sat, 2012-05-19 at 11:41 -0700, Marc Perkel wrote: Trying to clean out old undead messages from users to reduce disk space. Need a script that will recurse all the user directories and delete all unread email that is over 90 days old. Anyone have that? doveadm -A expunge mailbox '*' savedbefore 90d unseen Test first without -A with one user. :) KEWL - I didn't know Dovecot can do that.
[Dovecot] Maildir - Need script to delete old unread messages
Trying to clean out old undead messages from users to reduce disk space. Need a script that will recurse all the user directories and delete all unread email that is over 90 days old. Anyone have that?
Re: [Dovecot] v2.1.4 released - broken
I'm seeing this immediately after upgrading from 2.1.3 Apr 09 18:22:43 imap(ch...@powerpage.org): Error: user ch...@powerpage.org: Initialization failed: Initializing mail storage from mail_location setting failed: Home directory not set for user. Can't expand ~/ for mail root dir in: /vhome/powerpage.org/home/chris:INDEX=/email/imap-cache/powerpage.org-chris mail_location = maildir:/vhome/%d/home/%n:INDEX=/email/imap-cache/%d-%n
Re: [Dovecot] From Maildir back to smtp
On 2/24/2012 4:18 AM, Charles Marcus wrote: On 23/02/2012 21:41, Marc Perkel wrote: Not sure how this can be done. Right now I'm running a free backup MX record service. People point their high MX records to my servers and if they go down we store the email. When they come back up it's delivered. What I want to do is have a premium service that would allow them to view through IMAP the stored email. In order to do that I would have to deliver the email locally to a dovecot server - to a single account perhaps - and they can view/forward/delete etc. But - when their server comes back online I'd like to gather up all the delivered email stored in Maildir format and run it back into smtp for delivery. I'm thinking it would be possible to use dsync for this? Ideally you would have to have a way to maintain a duplicate of the AUTH database, so that users could use their current passwords for accessing it (this would obviously require the approval and cooperation of whoever you are providing this service to), but this way you could store each users mail individually and provide relatively painless access (since all each user would need to know is the backup host name and their username/password). You'd have to configure a script on your end to: 1. determine a reliable way to differentiate between a temp-fail situation on the primary (in which case you just act as a normal backup MX), or an extended outage (15 minutes? 1 hour? I'd probably let the customer decide this one), which would determine when you start actually taking delivery of their mail to the 'standby' server 2. monitor for when the primary comes back online 3. wait xx interval to make sure the primary stays up (again, I'd let the customer decide this, but with a sane minimum that you define) 4. once the primary stays up for the required interval, dsync a one way 'dump' of the stored mails, being sure to test for success - and this process would obviously have to take into account the possibility of the primary going down again in the middle of the dsync 5. mv successfully restored mails on the backup mx to a temp location for xx 'safety' interval 'just in case' 6. delete the backed-up/stored mail that has been successfully dsync'd after the safety interval has elapsed I was wondering if I could just gather up the maildir files, reprocess them into batch SMTP format and run them back into Exim?
[Dovecot] From Maildir back to smtp
Not sure how this can be done. Right now I'm running a free backup MX record service. People point their high MX records to my servers and if they go down we store the email. When they come back up it's delivered. What I want to do is have a premium service that would allow them to view through IMAP the stored email. In order to do that I would have to deliver the email locally to a dovecot server - to a single account perhaps - and they can view/forward/delete etc. But - when their server comes back online I'd like to gather up all the delivered email stored in Maildir format and run it back into smtp for delivery. Has anyone even done something like this? Or is there an easier way that I'm missing? Thanks in advance
[Dovecot] 2.1 upgrade docs?
Just wondering if there's any upgrade docs for 2.1 online?
[Dovecot] Upgraded to 2.1 - ulimit error
Not sure what this means: Warning: fd limit (ulimit -n) is lower than required under max. load (4096 2), because of service auth { client_limit } What do I need to do?
Re: [Dovecot] Upgraded to 2.1 - ulimit error
Never mind - I figured it out. ulimit -n 2 On 2/17/2012 10:51 AM, Marc Perkel wrote: Not sure what this means: Warning: fd limit (ulimit -n) is lower than required under max. load (4096 2), because of service auth { client_limit } What do I need to do?
[Dovecot] Connection dropped by IMAP server
Some time people running Squirrelmail get connection dropped by imap server. Anyone know what causes this? Thanks in advance.
Re: [Dovecot] Connection dropped by IMAP server
On 7/20/2011 2:52 PM, Marc Perkel wrote: Some time people running Squirrelmail get connection dropped by imap server. Anyone know what causes this? Thanks in advance. More details. It only happens occasionally and restarting Dovecot fixes it. It's as if I'm running out of something.
Re: [Dovecot] NoSQL Storage Backend
The way I do MySQL backups is that I do a slave on another server. When I need to backup I stop the slave - back it up - then start it again. On 2/8/2011 12:56 PM, Robert Brockway wrote: On Tue, 8 Feb 2011, Marten Lehmann wrote: The problem with traditional filesystems is, that they are very limited. You cannot easily extend it, even with RAID 10 all messages may be lost due to a RAID controller failure and just-in-time backups of a heavy loaded system with consistently changing messages folders are virtually impossible. Hi Marten. There are many options that allow you to snapshop an active filesystem and guarantee a consistent backup. Eg LVM on Linux or many other OSes. WAFL on a NetApp, etc. In my experience a lot of high end mail systems store mail on the filesystem in Maildir format. Modern object stores like Scality, CouchDB or MongoDB can be very handy, as they easily allow to keep an arbitrary amount of copies of each message on This is certainly an interesting idea. different servers, you can simply add a storage node and new storage is immediately available and mailboxes aren't bound to a certain server any longer, but messages are evenly distributed across all storage nodes, thus distributing load as well. Being able to easily rebalance load would be useful. I've known of several well known companies with a lot of mail users where mail was stored on filesystems across many systems and significant imbalances developed over time. There was no easy way to rebalance them without causing an outage for at least some users. Isn't this option of big interest for every bigger mailbox provider? How hard would it be to develop? Would it be possible to get this developed on a paid basis by the dovecot core team? In my experience OSS developers are quite open to being paid to add features :) Cheers, Rob
[Dovecot] SSD drives are really fast running Dovecot
I just replaced my drives for Dovecot using Maildir format with a pair of Solid State Drives (SSD) in a raid 0 configuration. It's really really fast. Kind of expensive but it's like getting 20x the speed for 20x the price. I think the big gain is in the 0 seek time. Here's what I bought. Crucial RealSSD C300 CTFDDAC256MAG-1G1 2.5 256GB SATA III MLC Internal Solid State Drive (SSD) http://www.newegg.com/Product/Product.aspx?Item=N82E16820148349 * 2.5 * 256GB * SATA III * *Sequential Access - Read:* 355MB/sec (SATA 6Gb/s) 265MB/sec (SATA 3Gb/s) * *Sequential Access - Write:* 215MB/sec (SATA 6Gb/s) 215MB/sec (SATA 3Gb/s) * *Power Consumption (Active):* 2.1W READ, 4.3W WRITE * *Power Consumption (Idle):* 0.094W Running it on an Asus motherboard that supports SATA III - 6 core AMD CPU and 16 gigs of ram. Might be slightly off topic but this server screams!
Re: [Dovecot] SSD drives are really fast running Dovecot
On 1/12/2011 9:58 AM, Rick Romero wrote: Quoting Marc Perkel m...@perkel.com: I just replaced my drives for Dovecot using Maildir format with a pair of Solid State Drives (SSD) in a raid 0 configuration. It's really really fast. Kind of expensive but it's like getting 20x the speed for 20x the price. I think the big gain is in the 0 seek time. Here's what I bought. Crucial RealSSD C300 CTFDDAC256MAG-1G1 2.5 256GB SATA III MLC Internal Solid State Drive (SSD) http://www.newegg.com/Product/Product.aspx?Item=N82E16820148349 * 2.5 * 256GB * SATA III * *Sequential Access - Read:* 355MB/sec (SATA 6Gb/s) 265MB/sec (SATA 3Gb/s) * *Sequential Access - Write:* 215MB/sec (SATA 6Gb/s) 215MB/sec (SATA 3Gb/s) * *Power Consumption (Active):* 2.1W READ, 4.3W WRITE * *Power Consumption (Idle):* 0.094W Running it on an Asus motherboard that supports SATA III - 6 core AMD CPU and 16 gigs of ram. Might be slightly off topic but this server screams! Hey Marc, Just for testing purposes, what does a dd speed test give you? http://it.toolbox.com/blogs/database-soup/testing-disk-speed-the-dd-test-31069 IMHO, the key part is exceeding the RAM size, but for a closer to Maildir comparison, a decent file size that exceeds the drive cache is good too.. Rick Looks like a good test. Here's my results. time sh -c dd if=/dev/zero of=ddfile bs=8k count=200 sync 200+0 records in 200+0 records out 1638400 bytes (16 GB) copied, 55.403 s, 296 MB/s real1m4.738s user0m0.336s sys 0m20.199s
[Dovecot] Converting from Maildir - sdbox
OK - I thought this was going to be easy. Maybe it is. I'm just not that good at reading directions. Trying to use dsync. Getting this error: Mail locations must use the same virtual mailbox hierarchy separator (specify separator for the default namespace) Currently using maildir. The setup is as follows: mail_uid = mail mail_gid = mail mail_location = maildir:/vhome/%d/home/%n:INDEX=/imap-cache/%d-%n I don't have any namespace setting. Not quite sure what a namespace is or why I need one. This is what I'm trying to run: dsync -u m...@perkel.com backup sdbox:/email/%d/home/%n What I'm hoping to do is do a mass conversion while running. Then shut it down - do a second quick pass - and bring it up in sdbox format. Thanks in advance.
[Dovecot] DSync Namespace Frustration
In order to get dsync to work I need to set something in namespace. Running maildir. Will this work? namespace private { separator = . prefix = inbox = yes } namespace private { separator = . prefix = INBOX. inbox = no hidden = yes list = no # for v1.1+ }
[Dovecot] Maildir feature I'd like to see - SSD for newer messages
SSD drives are very fast but expensive. So I have a crude idea that I'd like to see. May not be practical but would like to get some thoughts on it. Some new SSDs use SATA 3 (6gb/sec) with 355/mb/sec read speeds and 215MB/sec write. Put these in raid 0 and it screams! Can you imagine how fast that would be? What would be nice is if new email were on faster drives with old email being migrated to larger mechanical cheaper storage. Perhaps messages over a month old? From dovecot's perspective it would sort of all look the same but maybe one a week a script would run migrating older messages to slower media. It would also make backups easier. The faster newer messages could be archived hourly. On the weekend after the archiving script was run the older message could be backed up once a week. I'm not sure what it would take to make dovecot seamlessly access email from two different locations or if this is practical. Just wanted to throw the idea out there to see if something sticks.
Re: [Dovecot] Maildir feature I'd like to see - SSD for newer messages
On 12/23/2010 11:37 AM, Javier de Miguel Rodríguez wrote: On Thu, 23 Dec 2010 11:27:45 -0800, Marc Perkel m...@perkel.com wrote: SSD drives are very fast but expensive. So I have a crude idea that I'd like to see. May not be practical but would like to get some thoughts on it. You are asking about automatic storage tiering. You can get what you want in a transparant way, independient of Dovecot. Some storage vendor (search for Fully Automated Storage Tiering - FAST from EMC or Compellent, recently bought by Dell) get what you are asking for. If the budget is low, you can achive a poor´s man storage tiering with some shell scripting, cron and soft links; Or you can look at http://code.google.com/p/fscops/ for a more mature implementation. Or just use ZFS and hybrid storage pools I wonder if there's any way to do this. Say there are two different storage devices mounted as follows: /slow-hard-drive/email-directory /fast-ssd-drive/email-directory Now suppose there were a way to join these drives so that you could access them as a single directory: /joined-drive/email-directory The Dovecot could see the joined drive but my backup/archiving scripts could see the drives independently and move old data from the fast drives to the slow drives. I think back in the old DOS days you could do that. Is there a way in Linux to do the same thing? Join two directories so as to make them look like one?
Re: [Dovecot] Maildir feature I'd like to see - SSD for newer messages
On 12/23/2010 1:14 PM, Miha Vrhovnik wrote: Tom Talpeytmtal...@gmail.com wrote on 23.12.2010 21:27:02: On 12/23/2010 3:13 PM, Marc Perkel wrote: I wonder if there's any way to do this. Say there are two different storage devices mounted as follows: /slow-hard-drive/email-directory /fast-ssd-drive/email-directory You guys do know that Dovecot 2 supports alt storage right? No - what's alt storage?
Re: [Dovecot] dovecot.conf settings
On 11/12/2010 6:57 AM, Timo Sirainen wrote: On 12.11.2010, at 11.16, Marc Perkel wrote: service imap-login { process_limit = 800 process_min_avail = 100 service_count = 0 With service_limit=0 the process limits are way way too high. process_min_avail should be the number of CPU cores you have. Also when your process_limit would be reached you'd have 80 IMAP connections (process_limit * default_client_limit). vsz_limit = 64 B This is 64 bytes .. Strange that it even works, remove it or change it. service pop3-login { process_limit = 800 process_min_avail = 40 service_count = 0 vsz_limit = 64 B } Same for pop3-login. OK - I'm not sure how they get set that way. I must have copied something. Here is my new settings. Is there anything else to change or add? # 2.0.7: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-dzhanibekov.1 x86_64 Fedora release 12 (Constantine) simfs auth_debug = yes auth_master_user_separator = * disable_plaintext_auth = no dotlock_use_excl = yes first_valid_uid = 12 info_log_path = /var/log/dovecot.log log_path = /var/log/dovecot.log login_greeting = Computer Tyme Dovecot ready. mail_fsync = never mail_gid = mail mail_location = maildir:/vhome/%d/home/%n:INDEX=/imap-cache/%d-%n mail_uid = mail mmap_disable = yes passdb { args = /etc/dovecot/sql.conf driver = sql } passdb { args = /etc/dovecot/master-combined-sql.conf driver = sql master = yes pass = yes } protocols = imap pop3 service anvil { client_limit = 2000 } service auth { unix_listener auth-client { mode = 0666 } unix_listener auth-master { mode = 0666 } } service imap-login { process_limit = 800 process_min_avail = 10 service_count = 0 } service imap { process_limit = 400 } service pop3-login { process_limit = 800 process_min_avail = 10 service_count = 0 } service pop3 { process_limit = 400 } ssl_cert = /usr/share/ssl/certs/imapd.pem ssl_key = /usr/share/ssl/certs/imapd.pem verbose_proctitle = yes protocol pop3 { pop3_uidl_format = %v.%u }
Re: [Dovecot] Phantom email message
On 11/10/2010 1:52 PM, Andreas Ntaflos wrote: On Wednesday 10 November 2010 20:59:40 Marc Perkel wrote: Got sort of a strange problem on one email account. Everything works fine with Thunderbird/IMAP showing the correct unread message count. But on my DroidX smartphone one of my email accounts always shows one unread message, but I can't bring any unread messages up. It's like there's something there making it think there's a message when there isn't. This is very long shot but I think I observed something similar some time ago with K9 when a message was starred, i.e. tagged as important. Maybe this is confusing things? Andreas Thanks for the attempt. I eliminated all starred messages and that didn't do it.
Re: [Dovecot] v2.0.7 released
On 11/10/2010 5:25 PM, Timo Sirainen wrote: On 10.11.2010, at 19.50, Marc Perkel wrote: On 11/10/2010 10:52 AM, Timo Sirainen wrote: service anvil { client_limit = 2000 # or something } OK - just curious - what is it for? What does this do? Increases the number of connections that anvil process can handle before it stops accepting new ones. The default limit should be fine as long as you don't change other services' process_limits from defaults. Hmm. Actually the default 1000 limit should be high enough for pretty much all setups. What exactly have you changed to cause that warning? Show your doveconf -n output? The only thing I changed was upgrading for 2.06 to 2.07. # 2.0.7: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-dzhanibekov.1 x86_64 Fedora release 12 (Constantine) simfs auth_debug = yes auth_master_user_separator = * disable_plaintext_auth = no dotlock_use_excl = yes first_valid_uid = 12 info_log_path = /var/log/dovecot.log log_path = /var/log/dovecot.log login_greeting = Computer Tyme Dovecot ready. mail_fsync = never mail_gid = mail mail_location = maildir:/vhome/%d/home/%n:INDEX=/imap-cache/%d-%n mail_uid = mail mmap_disable = yes passdb { args = /etc/dovecot/sql.conf driver = sql } passdb { args = /etc/dovecot/master-combined-sql.conf driver = sql master = yes pass = yes } protocols = imap pop3 service anvil { client_limit = 2000 } service auth { unix_listener auth-client { mode = 0666 } unix_listener auth-master { mode = 0666 } } service imap-login { process_limit = 800 process_min_avail = 100 service_count = 0 vsz_limit = 64 B } service imap { process_limit = 400 } service pop3-login { process_limit = 800 process_min_avail = 40 service_count = 0 vsz_limit = 64 B } service pop3 { process_limit = 400 } ssl_cert = /usr/share/ssl/certs/imapd.pem ssl_key = /usr/share/ssl/certs/imapd.pem verbose_proctitle = yes protocol pop3 { pop3_uidl_format = %v.%u }
Re: [Dovecot] v2.0.7 released
Just installed it and getting this warning: doveconf: Warning: service anvil { client_limit=1000 } is lower than required under max. load (1603) Not sure what this means.
Re: [Dovecot] v2.0.7 released
On 11/10/2010 10:52 AM, Timo Sirainen wrote: service anvil { client_limit = 2000 # or something } OK - just curious - what is it for? What does this do?
[Dovecot] Phantom email message
Got sort of a strange problem on one email account. Everything works fine with Thunderbird/IMAP showing the correct unread message count. But on my DroidX smartphone one of my email accounts always shows one unread message, but I can't bring any unread messages up. It's like there's something there making it think there's a message when there isn't. The email client is K-9 mail Anyone have any ideas?
Re: [Dovecot] Phantom email message
On 11/10/2010 12:15 PM, Charles Marcus wrote: On 2010-11-10 2:59 PM, Marc Perkel wrote: Got sort of a strange problem on one email account. Everything works fine with Thunderbird/IMAP showing the correct unread message count. But on my DroidX smartphone one of my email accounts always shows one unread message, but I can't bring any unread messages up. It's like there's something there making it think there's a message when there isn't. The email client is K-9 mail Anyone have any ideas? If you're sure there aren't any unread messages, and TB correctly reports that fact, then it sounds like a K-9 bug... best to report it there... http://groups.google.com/group/k-9-mail I have two email account - both on my server - and one works correctly and one doesn't. I'm using maildir format and I'm thinking that perhaps there might be some odd file there that is counted as a message but is not readable as a message? But - I don't know.
Re: [Dovecot] anti-spam+anti-malware suggestions
On 10/20/2010 9:20 AM, Jose Luis Faria wrote: Hello people, I am using now qmail in cluster with LDAP + Interscan Messaging Security Suite from Trendmicro. I need to develop a new solution with: - postfix - dovecot - anti-spam - anti-malware. I am thankful any help or suggestion for anti-spam and anti-malware. Thanks in advance! You can try a front end spam filter service and not have to deal with it at all. http://www.junkemailfilter.com
Re: [Dovecot] DSYNC needs a lot more documentation
On 8/22/2010 7:29 AM, Jerry wrote: On Sat, 21 Aug 2010 09:51:12 -0700 Marc Perkelm...@perkel.com articulated: When you write software you never have to learn it so you don't have the perspective of someone who never heard of it before and wondering what is this? That has always been the problem when the instruction books is written by the products designer/creator, software or otherwise. This is why many commercial distributors hire outside consultants to write their instruction manuals. I was briefly involved in that field as a part time adventure. Unfortunately, the powers that be all to often considered that including all possible scenarios would make the manual overly confusing to the novice user. Plus, as both IBM and Microsoft learned the hard way, nobody RTFM anyway. I have always been of the opinion that colleges who teach technical writing should hook up with open source developers and have their students write the docs for the project and work with developers on feature requests and do tech support. It would be win/win because they would get a good education and open source software dovs would greatly improve. I had the same problem when I was a commercial software developer. I never had to learn it so I knew too much to do the docs right. However since I was doing my own support I quickly realized that if there were questions the users had that weren't covered in the docs, I added them to the docs. Saved me a lot of support effort.
[Dovecot] DSYNC needs a lot more documentation
Started looking into the dsync utility and the doc are seriously incomplete. I can of course scour the internet looking for the missing information but that doesn't fix the problem with the docs. I might try to rewrite the docs myself once I figure it out.
Re: [Dovecot] DSYNC needs a lot more documentation
On 8/21/2010 9:16 AM, Timo Sirainen wrote: On 21.8.2010, at 16.24, Marc Perkel wrote: Started looking into the dsync utility and the doc are seriously incomplete. I can of course scour the internet looking for the missing information but that doesn't fix the problem with the docs. I might try to rewrite the docs myself once I figure it out. Or you could mention some of the things you think are incomplete. Ok - when I type dsync at the command line it says: usage: dsync [-C alt char] [-m mailbox] [-u user] [-frRv] mirror local mail_location | [user@]host | remote dsync command However the man page mentions nothing about any remote commands. There is a reference to ssh in one example but there isn't any kind of overview as to how this all ties in. Does dsync pick up information from dovecot.conf or dovecot to know where the email is an what format it is in? Does dovecot need to be running on both ends? Does this run continuously once you start it or does it need to be run once a minute? The information in the man page isn't complete enough for me to even figure out what to ask. When you write software you never have to learn it so you don't have the perspective of someone who never heard of it before and wondering what is this? I can probable figure it out if I read enough of the message from the dovecot lists but the docs should be complete enough so I don't have to do that unless I'm doing something very weird. So - ServerA is running dovecot. On ServerB I want to have a live copy so that if the drives on ServerA die I can recover on ServerB? Does it do that? I want to run dovecot on two servers so that if either server fails the other seamlessly takes over and when the other comes back up they resync as if nothing had happened. Is that possible? If so - how? If it just does backups, how is it different than rsync? Anyhow - just letting you know from the perspective of someone who knows nothing and exploring it for the first time. I wanted to say this before I learned anything more about it.
Re: [Dovecot] DSYNC needs a lot more documentation
On 8/21/2010 11:00 AM, Charles Marcus wrote: On 2010-08-21 12:51 PM, Marc Perkelm...@perkel.com wrote: When you write software you never have to learn it so you don't have the perspective of someone who never heard of it before and wondering what is this? Mark, is this another case of your absolute failure to even *try* to google the answer for yourself? You do know that man pages are not the only place (and quite often definitely not the best place) to find documentation for any given software? http://www.lmgtfy.com/?q=dsync+dovecot+wiki You are missing the point. When documentation is done right then you don't have to google it unless you are doing something tricky.
Re: [Dovecot] DSYNC needs a lot more documentation
On 8/21/2010 11:00 AM, Charles Marcus wrote: On 2010-08-21 12:51 PM, Marc Perkelm...@perkel.com wrote: When you write software you never have to learn it so you don't have the perspective of someone who never heard of it before and wondering what is this? Mark, is this another case of your absolute failure to even *try* to google the answer for yourself? You do know that man pages are not the only place (and quite often definitely not the best place) to find documentation for any given software? http://www.lmgtfy.com/?q=dsync+dovecot+wiki Besides - the wiki has the same incomplete information as the man page.
Re: [Dovecot] Master User Features I'd like to see
On 8/16/2010 2:24 PM, Timo Sirainen wrote: On 16.8.2010, at 22.01, Marc Perkel wrote: But the %{login_domain} evaluates to an empty string as you can see from the results of the debug. What about %{login_user} or %{username}? Hi Timo, Apparently I'm getting different results that you are. I'm trying to think of anything unusual I might be doing. I do have more than one master user db. Perhaps that is the problem? Is there some tests I can run to debug this? passdb { driver = sql args = /etc/dovecot/dovecot-master-sql.conf master = yes pass = yes } passdb { driver = sql args = /etc/dovecot/dovecot-domain-owner-sql.conf master = yes pass = yes }
[Dovecot] Master Login using MySQL problem - %{login_domain}
Hi Timo, Been trying to track this problem down further. The problem seems to be related to verifying the master user failing. My passdb looks like this: passdb { driver = sql args = /etc/dovecot/dovecot-domain-owner-sql.conf master = yes pass = yes } dovecot-domain-owner-sql.conf contains: user_query = SELECT user_name, domain_name FROM users WHERE user_name = '%n' AND domain_name = '%d' AND owns_domain='1' password_query = SELECT user_name, domain_name, password FROM users WHERE user_name = '%n' AND domain_name = '%d' AND owns_domain='1' AND '%d'='%{login_domain}' In this example - b...@plf.net is an ordinary user. t...@plf.net is a domain owner. Tom wants to read bills email. The login is: b...@plf.net*tom@plf.net This results in t...@plf.net being classified as an unknown user. Aug 17 08:38:30 auth: Debug: sql(t...@plf.net,127.0.0.1): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'tom' AND domain_name = 'plf.net' AND owns_domain='1' AND 'plf.net'='' Aug 17 08:38:30 auth: Info: sql(t...@plf.net,127.0.0.1): unknown user Aug 17 08:38:32 auth: Debug: client out: FAIL 15 user=...@plf.net Aug 17 08:38:32 imap-login: Info: Aborted login (auth failed, 1 attempts): user=t...@plf.net, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=0, secured Note that the query used to determine that t...@plf.net is valid is the password_query and not the user_query resulting in unknown user. I think that's where the problem is.
Re: [Dovecot] Master Login using MySQL problem - %{login_domain}
On 8/17/2010 9:45 AM, Timo Sirainen wrote: On Tue, 2010-08-17 at 08:50 -0700, Marc Perkel wrote: Been trying to track this problem down further. The problem seems to be related to verifying the master user failing. Show the whole dovecot -n output and the whole logs when master user is logging in? You've cut away some stuff I'd like to see. dovecot -n # 2.0.0: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-budarin.1 x86_64 Fedora release 12 (Constantine) simfs auth_debug = yes auth_master_user_separator = * disable_plaintext_auth = no dotlock_use_excl = yes first_valid_uid = 12 info_log_path = /var/log/dovecot.log log_path = /var/log/dovecot.log login_greeting = Computer Tyme Dovecot ready. mail_fsync = never mail_gid = mail mail_location = maildir:/vhome/%d/home/%n:INDEX=/imap-cache/%d-%n mail_uid = mail mmap_disable = yes passdb { args = /etc/dovecot/sql.conf driver = sql } passdb { args = /etc/dovecot/domain-owner-sql.conf driver = sql master = yes pass = yes } passdb { args = /etc/dovecot/masteradmin-sql.conf driver = sql master = yes pass = yes } plugin { xexec = blacklist:/usr/local/dovecot/blacklist.sh %u xexec2 = whitelist:/usr/local/dovecot/whitelist.sh %u xexec3 = average:/usr/local/dovecot/average xexec4 = smtp:/usr/local/dovecot/smtp } protocols = imap pop3 service auth { unix_listener auth-client { mode = 0666 } unix_listener auth-master { mode = 0666 } } service imap-login { process_limit = 800 process_min_avail = 100 service_count = 0 vsz_limit = 64 } service imap { process_limit = 400 } service pop3-login { process_limit = 800 process_min_avail = 40 service_count = 0 vsz_limit = 64 } service pop3 { process_limit = 400 } ssl_cert = /usr/share/ssl/certs/imapd.pem ssl_key = /usr/share/ssl/certs/imapd.pem verbose_proctitle = yes protocol pop3 { pop3_uidl_format = %v.%u } domain-owner-sql.conf user_query = SELECT user_name, domain_name FROM users WHERE user_name = '%n' AND domain_name = '%d' AND owns_domain='1' password_query = SELECT user_name, domain_name, password FROM users WHERE user_name = '%n' AND domain_name = '%d' AND owns_domain='1' \ AND '%d'='%{login_domain}' Result: Aug 17 09:59:17 auth: Debug: sql(t...@plf.net,127.0.0.1): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'tom' AND domain_name = 'plf.net' AND owns_domain='1' AND 'plf.net'='' Aug 17 09:59:17 auth: Info: sql(t...@plf.net,127.0.0.1): unknown user Aug 17 09:59:17 auth: Debug: sql(t...@plf.net,127.0.0.1): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'tom' AND domain_name = 'plf.net' AND masteradmin='1' Aug 17 09:59:17 auth: Info: sql(t...@plf.net,127.0.0.1): unknown user Aug 17 09:59:19 auth: Debug: client out: FAIL 10 user=...@plf.net Aug 17 09:59:19 imap-login: Info: Aborted login (auth failed, 1 attempts): user=t...@plf.net, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=0, secured Note - I have two different kinds of masters here. I have a masteradmin who can read anyone's email and I have domain owners who can read anyone's email in the same domain. At least that is what I'm hoping to do.
Re: [Dovecot] Master Login using MySQL problem - %{login_domain}
On 8/17/2010 10:11 AM, Timo Sirainen wrote: Does it log Master user lookup for login if you patch Dovecot with http://hg.dovecot.org/dovecot-2.0/raw-rev/7428338c8df2 ? Ran the patch - here's the results for b...@plf.net*tom@plf.net Aug 17 10:42:04 auth: Debug: auth(t...@plf.net,127.0.0.1,master): Master user lookup for login: b...@plf.net Aug 17 10:42:04 auth: Debug: sql(t...@plf.net,127.0.0.1): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'tom' AND domain_name = 'plf.net' AND owns_domain='1' AND 'plf.net'='' Aug 17 10:42:04 auth: Info: sql(t...@plf.net,127.0.0.1): unknown user Aug 17 10:42:04 auth: Debug: sql(t...@plf.net,127.0.0.1): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'tom' AND domain_name = 'plf.net' AND masteradmin='1' Aug 17 10:42:04 auth: Info: sql(t...@plf.net,127.0.0.1): unknown user Aug 17 10:42:06 auth: Debug: client out: FAIL 67 user=...@plf.net Aug 17 10:42:06 imap-login: Info: Aborted login (auth failed, 1 attempts): user=t...@plf.net, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=0, secured Again my query is: user_query = SELECT user_name, domain_name FROM users WHERE user_name = '%n' AND domain_name = '%d' AND owns_domain='1' password_query = SELECT user_name, domain_name, password FROM users WHERE user_name = '%n' AND domain_name = '%d' AND owns_domain='1' AND '%d'='%{login_domain}'
Re: [Dovecot] EVERYONE USING DOVECOT PLEASE SIGN: Thanks, Administrators of Dovecot!
On 8/17/2010 11:08 AM, Mark Moseley wrote: On Tue, Aug 17, 2010 at 9:28 AM, Jerrale G jerralega...@sheltoncomputers.com wrote: With the release of dovecot 2.0, the community of the Dovecot mailling list, and us at Shelton Computers, would sincerely like to thank the developers of Dovecot. For, if it were not for you, we would be stuck with Courier and would not have the impressive features of Sieve, as opposed to the unmanageable scripts, by end users, of maildrop. I second that wholeheartedly. Without Timo's excellent software, I'd still be in the IMAP hell of 6 months ago -- before we switched to dovecot. Now I've got no more NetApps straining, no more servers with huge loads and massive I/O wait, and no more customers complaining about sluggish IMAP and webmail. I love it. I think it's time for a donation. Throw a few $$$ their way. Where's the donation page?
Re: [Dovecot] Master Login using MySQL problem - %{login_domain}
On 8/17/2010 11:16 AM, Timo Sirainen wrote: On Tue, 2010-08-17 at 10:45 -0700, Marc Perkel wrote: Aug 17 10:42:04 auth: Debug: auth(t...@plf.net,127.0.0.1,master): Master user lookup for login: b...@plf.net Aug 17 10:42:04 auth: Debug: sql(t...@plf.net,127.0.0.1): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'tom' AND domain_name = 'plf.net' AND owns_domain='1' AND 'plf.net'='' Oh, right, MySQL. I was only testing it with PostgreSQL. This'll fix it: http://hg.dovecot.org/dovecot-2.0/rev/3ba227176cde WORKS!!! Aug 17 11:29:37 auth: Debug: auth(t...@plf.net,127.0.0.1,master): Master user lookup for login: b...@plf.net Aug 17 11:29:37 auth: Debug: sql(t...@plf.net,127.0.0.1,master): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'tom' AND domain_name = 'plf.net' AND owns_domain='1' AND 'plf.net'='plf.net' Aug 17 11:29:37 auth: Info: passdb(t...@plf.net,127.0.0.1,master): Master user logging in as b...@plf.net Aug 17 11:29:37 auth: Debug: sql(b...@plf.net,127.0.0.1): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'bill' AND domain_name = 'plf.net' Aug 17 11:29:37 auth: Debug: client out: OK 25 user=b...@plf.net user_name=tom domain_name=plf.net user_name=bill domain_name=plf.net Aug 17 11:29:37 auth: Debug: master out: USER 1 b...@plf.net master_user=...@plf.net Aug 17 11:29:37 imap-login: Info: Login: user=b...@plf.net, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=32204, secured Aug 17 11:29:37 imap(b...@plf.net): Info: Disconnected: Logged out bytes=28/635 Aug 17 11:29:38 auth: Debug: auth(t...@plf.net,127.0.0.1,master): Master user lookup for login: b...@plf.net Aug 17 11:29:38 auth: Debug: sql(t...@plf.net,127.0.0.1,master): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'tom' AND domain_name = 'plf.net' AND owns_domain='1' AND 'plf.net'='plf.net' Aug 17 11:29:38 auth: Info: passdb(t...@plf.net,127.0.0.1,master): Master user logging in as b...@plf.net Aug 17 11:29:38 auth: Debug: sql(b...@plf.net,127.0.0.1): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'bill' AND domain_name = 'plf.net' Aug 17 11:29:38 auth: Debug: client out: OK 27 user=b...@plf.net user_name=tom domain_name=plf.net user_name=bill domain_name=plf.net Aug 17 11:29:38 auth: Debug: master out: USER 1 b...@plf.net master_user=...@plf.net Aug 17 11:29:38 imap-login: Info: Login: user=b...@plf.net, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=32216, secured Aug 17 11:29:38 imap(b...@plf.net): Info: Disconnected: Logged out bytes=97/497 Now - on to the really tricky stuff.
[Dovecot] Tricky Master User Query - need MySQL help
OK - I want to do something very tricky with master users and if I get it to work I'm adding it to the wiki for everyone to use. So far I have a MySQL database that servers multiple domains. I can set a flag making someone a domain owner that allows that person to become master of that domain. Here's the query for that. password_query = SELECT user_name, domain_name, password FROM users WHERE user_name = '%n' AND domain_name = '%d' AND owns_domain='1' AND '%d'='%{login_domain}' So - here's where we get tricky. I have another table called ownership where I have 2 fields which is a pairing of email addresses (login_id) and domains owned (owned_object). Data might look like this: j...@blow.com domain1.com j...@blow.com domain2.com Since j...@blow.com owns both domain1.com and domain2.com I want him to be able to log in as anyone in those 2 domains as a master user. Examples: t...@domain1.com*joe@blow.com ha...@domain2.com*joe@blow.com So the idea is to create a MySQL query so that if the master user matches the domain part of the login user then it returns true and allows the login. What MySQL query will do that?
[Dovecot] Very complex Master User Examples using MySQL
For those who are interested I have posted in the Wiki examples of using master users in very interesting ways. In these example we will create 3 kinds of master users. The first will be users who can read all email for all domains. The next example will be users who can read all email for their domain only. The third example will be users who can read email of domains listed in a separate ownership table. http://wiki2.dovecot.org/Authentication/MasterUsers Go to Advanced SQL Examples at bottom Let me know what you think. In order to actually make this work you'll have to apply this patch Timo just posted: http://hg.dovecot.org/dovecot-2.0/rev/3ba227176cde
Re: [Dovecot] Upgrade to 2.0 - Not so smooth
On 8/16/2010 2:45 AM, William Blunn wrote: On 15/08/2010 22:49, Marc Perkel wrote: On 8/15/2010 2:32 PM, Marcus Rueckert wrote: On 2010-08-15 14:01:25 -0700, Marc Perkel wrote: Seems to me that it wouldn't take a lot of code to at lease find if they have adduser or useradd. that is 2 out of many solutions. and depending of the admin he might create the user in an ldap tree or a nis server. also packager dont really like users created from the buildsystem. darix Perhaps a better error message that says something like: Dovecot needs a user named dovenull to work. Please create user dovenull and try again. No. The first sentence of your proposed message is FALSE. On 15/08/2010 17:10, Timo Sirainen wrote: - Dovecot uses two internal users now by default: dovenull and dovecot. You need to create the dovenull user or change default_login_user setting. Dovecot does NOT need a user named dovenull to work. The second sentence is predicated on the first and as such also falls down. Dovecot needs a user named by the default_login_user setting in order to work. Whilst this defaults to dovenull, there is nothing to stop you setting it to something else (e.g. flibble). The point is that the answer is more of a commentary and the right solution depends on the situation. Rather than try to squeeze solution summaries into every error message, I would suggest having a link (perhaps into the Dovecot wiki) in the error message, e.g. Starting Dovecot Imap: Fatal: service(pop3-login) User doesn't exist: dovenull (see http://wiki2.dovecot.org/Errors/NoDefaultLoginUser) (Note that the above URL is hypothetical.) Then have a commentary and suggested solutions in the wiki. Alternatively, the link could rooted at a notional documentation root like: Starting Dovecot Imap: Fatal: service(pop3-login) User doesn't exist: dovenull (see documentation Errors/NoDefaultLoginUser) so that users could refer to a local copy of the documentation rather than encouraging load on the Dovecot wiki server(s). Bill Maybe dovecot could use the nobody user if dovenull doesn't exist?
[Dovecot] Standards of expectations for software installs
On 8/16/2010 4:11 AM, Charles Marcus wrote: On 2010-08-15 12:03 PM, Marc Perkelm...@perkel.com wrote: Starting Dovecot Imap: Fatal: service(pop3-login) User doesn't exist: dovenull Just some real time feedback. I don't know what dovenull user is or why it is necessary. It would be a lot smoother (and this probably applies to all other software you use) if you would spend at least 5 SECONDS doing a little research before wasting everyone's (especially Timo's) time with questions that you can easily answer yourself: http://www.lmgtfy.com/?q=dovenull For dovecot stuff, I've found that simply adding the word 'wiki' after the other search term will almost always provide the link to the wiki page describing whatever it is: http://www.lmgtfy.com/?q=dovenull+wiki Yes, this is a pet peeve of mine... Timo's software standards, and mine, are higher than the average open source project. When an install id done right then you don't have to go to the wiki for anything. You run it and it just works. That's why people pay for Windows and Macs and more people use it than Linux because it just works. You start an upgrade anf click NEXT AGREE NEXT NEXT NEXT FINISH and everything just works. That's the way Linux should be. So - even though something might be a minor detail, when you get the minor details right then you get software the it just works which is in my opinion the highest thing one can say about a program. And it's who dovecot is so popular.
Re: [Dovecot] cluster with dsync mirror
What do you use now? On 8/16/2010 6:27 AM, Patrick Domack wrote: I used a setup like this, to sync mail between 3 different datacenters, in a multimaster setup. For this I used unison, running every 28seconds. And it worked well for two years, before I changed to a better approach. Older versions of dovecot didn't like the moves very much (pre 1.0), but when I upgraded it to 1.0.x versions, it seemed to be happy. I discontinued it before 1.1 was out. Quoting Bryan Vyhmeister dove...@bsdjournal.net: I have an idea for running a pair of redundant dovecot mail servers that may be odd but it might work. I'm interested in any thoughts on the topic. Would it work to run 'dsync mirror' every minute against either mdbox or sdbox mailbox on a dedicated network connection between two (or potentially three or four) mail servers? I'm trying to avoid using a NAS/SAN or some other dedicated NFS server in a simple environment with a limited number of users. Everything else about the systems could be identical. Both could receive mail using Postfix with dovecot LDA. Thank you. Bryan
Re: [Dovecot] Standards of expectations for software installs
On 8/16/2010 7:37 AM, Thomas Leuxner wrote: On Mon, Aug 16, 2010 at 07:23:50AM -0700, Marc Perkel wrote: Timo's software standards, and mine, are higher than the average open source project. When an install id done right then you don't have to go to the wiki for anything. You run it and it just works. That's why people pay for Windows and Macs and more people use it than Linux because it just works. You start an upgrade anf click NEXT AGREE NEXT NEXT NEXT FINISH and everything just works. That's the way Linux should be. So - even though something might be a minor detail, when you get the minor details right then you get software the it just works which is in my opinion the highest thing one can say about a program. And it's who dovecot is so popular. So are you saying a server software which brings a lot of new features to cope with complex environments shall tweak itself by magic, as any good software should upgrade without user intervention? You wouldn't even need documentation as the new features would be self-explanatory? *NO FRIGGIN' WAY* No - I'm saying that an upgrade that does exactly the same thing as the earlier version should just work without having to research cryptic error messages you get after the new software fails to load. What I'm saying is that Linux should be as easy as Windows.
Re: [Dovecot] Master User Features I'd like to see
On 8/15/2010 3:06 PM, Timo Sirainen wrote: These are available in v2.0: %{login_user} %{login_username} %{login_domain} I guess they should be added to wiki.. Hi Timo, I just tried the 2.0 official release and these variables return an empty string.
Re: [Dovecot] Master User Features I'd like to see
On 8/16/2010 11:04 AM, Timo Sirainen wrote: On Mon, 2010-08-16 at 10:49 -0700, Marc Perkel wrote: On 8/15/2010 3:06 PM, Timo Sirainen wrote: These are available in v2.0: %{login_user} %{login_username} %{login_domain} I guess they should be added to wiki.. Hi Timo, I just tried the 2.0 official release and these variables return an empty string. Works with me: passdb { driver = sql master = yes args = /usr/local/etc/dovecot/dovecot-sql-master.conf pass = yes } password_query = \ SELECT user, password FROM masters \ WHERE user = '%u' and '%d' = '%{login_domain}' auth: Debug: sql(mas...@dovecot.org,::1,master): query: SELECT user, password FROM masters WHERE user = 'mas...@dovecot.org' and 'dovecot.org' = 'dovecot.org' auth: Debug: sql(mas...@dovecot.org,::1,master): query: SELECT user, password FROM masters WHERE user = 'mas...@dovecot.org' and 'dovecot.org' = 'foobar.org' Odd - wonder what I'm doing wrong then? My result: Aug 16 10:44:43 auth: Debug: sql(supp...@junkemailfilter.com,127.0.0.1): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'support' AND domain_name = 'junkemailfilter.com' AND owns_domain='1' AND 'junkemailfilter.com'='' My query: password_query = SELECT user_name, domain_name, password FROM users WHERE user_name = '%n' AND domain_name = '%d' AND owns_domain='1' AND '%d'='%{login_domain}'
Re: [Dovecot] Master User Features I'd like to see
On 8/16/2010 11:26 AM, Timo Sirainen wrote: On Mon, 2010-08-16 at 11:17 -0700, Marc Perkel wrote: Odd - wonder what I'm doing wrong then? My result: Aug 16 10:44:43 auth: Debug: sql(supp...@junkemailfilter.com,127.0.0.1): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'support' AND domain_name = 'junkemailfilter.com' AND owns_domain='1' AND 'junkemailfilter.com'='' This is from passdb { master = yes } passdb? How are you logging in? I used auth_master_user_separator=* and: a login t...@dovecot.org*master@dovecot.org pass b login t...@foobar.org*master@dovecot.org pass auth_master_user_separator = * passdb { driver = sql args = /etc/dovecot/dovecot-domain-owner-sql.conf master = yes pass = yes } I'm logging in les...@junkemailfilter.com*support@junkemailfilter.com But the %{login_domain} evaluates to an empty string as you can see from the results of the debug. Aug 16 10:44:43 auth: Debug: sql(supp...@junkemailfilter.com,127.0.0.1): query: SELECT user_name, domain_name, password FROM users WHERE user_name = 'support' AND domain_name = 'junkemailfilter.com' AND owns_domain='1' AND*'junkemailfilter.com'=''*
Re: [Dovecot] Master User Features I'd like to see
On 8/16/2010 2:24 PM, Timo Sirainen wrote: On 16.8.2010, at 22.01, Marc Perkel wrote: But the %{login_domain} evaluates to an empty string as you can see from the results of the debug. What about %{login_user} or %{username}? Interestingly %{login_user} doesn't work either returning an empty string. However %{username} works.
Re: [Dovecot] Master User Features I'd like to see
On 8/16/2010 2:24 PM, Timo Sirainen wrote: On 16.8.2010, at 22.01, Marc Perkel wrote: But the %{login_domain} evaluates to an empty string as you can see from the results of the debug. What about %{login_user} or %{username}? Actually - spoke too soon. %{username} returned the wrong value. It returned that name part of the master user.