OT - copied maildir from 2T drive to 4T drive

2018-07-29 Thread Marc Perkel

And it's taking up more space on the 4T drive. What did I miss?


External Program for Authentication?

2018-05-16 Thread Marc Perkel
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

2017-08-25 Thread Marc Perkel
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

2017-08-18 Thread Marc Perkel
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

2017-06-26 Thread Marc Perkel



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

2017-06-26 Thread Marc Perkel
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

2017-04-13 Thread Marc Perkel

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

2014-07-09 Thread Marc Perkel


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

2014-07-09 Thread Marc Perkel


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?

2014-05-20 Thread Marc Perkel

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?

2014-02-04 Thread Marc Perkel

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

2014-01-21 Thread Marc Perkel
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

2014-01-08 Thread Marc Perkel


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

2014-01-08 Thread Marc Perkel

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

2014-01-06 Thread Marc Perkel
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

2014-01-06 Thread Marc Perkel


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

2013-11-24 Thread Marc Perkel

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

2013-11-14 Thread Marc Perkel


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

2013-11-14 Thread Marc Perkel


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

2013-11-13 Thread Marc Perkel
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

2013-11-13 Thread Marc Perkel


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

2013-11-13 Thread Marc Perkel

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

2013-11-13 Thread Marc Perkel


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

2013-11-03 Thread Marc Perkel


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

2013-10-22 Thread Marc Perkel
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

2013-05-04 Thread Marc Perkel


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

2013-04-18 Thread Marc Perkel

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?

2013-04-15 Thread Marc Perkel


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?

2013-04-15 Thread Marc Perkel


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?

2013-04-15 Thread Marc Perkel


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?

2013-04-14 Thread Marc Perkel

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

2013-04-07 Thread Marc Perkel

Testing under OpenVZ and it's all good here.

+1



[Dovecot] [OT] MS Exchange Alternative?

2012-12-04 Thread Marc Perkel
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?

2012-10-23 Thread Marc Perkel

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?

2012-10-09 Thread Marc Perkel


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

2012-10-09 Thread Marc Perkel
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

2012-10-09 Thread Marc Perkel


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?

2012-10-08 Thread 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



Re: [Dovecot] Namespace Prefix Tutorial?

2012-10-08 Thread Marc Perkel


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

2012-10-08 Thread Marc Perkel


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

2012-10-08 Thread Marc Perkel

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?

2012-10-07 Thread Marc Perkel
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

2012-10-06 Thread Marc Perkel


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

2012-10-04 Thread Marc Perkel


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

2012-10-03 Thread Marc Perkel

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

2012-10-03 Thread Marc Perkel
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

2012-10-03 Thread Marc Perkel


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

2012-10-03 Thread Marc Perkel


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

2012-10-03 Thread Marc Perkel
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

2012-10-03 Thread Marc Perkel


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?

2012-09-25 Thread Marc Perkel
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?

2012-07-24 Thread Marc Perkel
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

2012-05-20 Thread Marc Perkel



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

2012-05-19 Thread Marc Perkel
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

2012-04-09 Thread Marc Perkel


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

2012-02-24 Thread Marc Perkel



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

2012-02-23 Thread Marc Perkel

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?

2012-02-17 Thread Marc Perkel

Just wondering if there's any upgrade docs for 2.1 online?



[Dovecot] Upgraded to 2.1 - ulimit error

2012-02-17 Thread Marc Perkel

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

2012-02-17 Thread Marc Perkel

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

2011-07-20 Thread Marc Perkel
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

2011-07-20 Thread Marc Perkel



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

2011-02-14 Thread Marc Perkel
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

2011-01-12 Thread Marc Perkel
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

2011-01-12 Thread Marc Perkel



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

2011-01-04 Thread Marc Perkel
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

2011-01-04 Thread Marc Perkel
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

2010-12-23 Thread Marc Perkel
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

2010-12-23 Thread Marc Perkel



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

2010-12-23 Thread Marc Perkel



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

2010-11-14 Thread Marc Perkel



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

2010-11-12 Thread Marc Perkel



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

2010-11-12 Thread Marc Perkel



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

2010-11-10 Thread Marc Perkel

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

2010-11-10 Thread Marc Perkel



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

2010-11-10 Thread Marc Perkel
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

2010-11-10 Thread Marc Perkel



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

2010-10-25 Thread Marc Perkel



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

2010-08-22 Thread Marc Perkel



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

2010-08-21 Thread Marc Perkel
 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

2010-08-21 Thread Marc Perkel



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

2010-08-21 Thread Marc Perkel



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

2010-08-21 Thread Marc Perkel



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

2010-08-17 Thread Marc Perkel



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}

2010-08-17 Thread Marc Perkel

 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}

2010-08-17 Thread Marc Perkel



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}

2010-08-17 Thread Marc Perkel



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!

2010-08-17 Thread Marc Perkel



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}

2010-08-17 Thread Marc Perkel



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

2010-08-17 Thread Marc Perkel
 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

2010-08-17 Thread Marc Perkel
 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

2010-08-16 Thread Marc Perkel



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

2010-08-16 Thread Marc Perkel



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

2010-08-16 Thread Marc Perkel

 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

2010-08-16 Thread Marc Perkel



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

2010-08-16 Thread Marc Perkel



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

2010-08-16 Thread Marc Perkel



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

2010-08-16 Thread Marc Perkel



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

2010-08-16 Thread Marc Perkel



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

2010-08-16 Thread Marc Perkel



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.


  1   2   >