Re: [Dovecot] Wrong MySQL sintax, I can't login

2010-08-30 Thread A.L.E.C
On 31.08.2010 08:42, Pablo wrote:

> driver=mysql
> connect = host=localhost dbname=postfix user=postfix password=xx
> default_pass_scheme = CRYPT
> password_query = SELECT password FROM mailbox WHERE username = '%u'
> user_query = SELECT maildir, 1001 AS uid, 1001 AS gid FROM mailbox
> WHERE username = '%u


No closing apostrophe here.

-- 
Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252
LAN Management System Developer http://lms.org.pl
Roundcube Webmail Developer http://roundcube.net


[Dovecot] Wrong MySQL sintax, I can't login

2010-08-30 Thread Pablo
Hi guys:

I can't login as a user:

The output of mail.log:

Aug 31 08:39:45 socrates dovecot: auth(default): client in:
AUTH^I1^IPLAIN^Iservice=imap^Ilip=178.63.82.247^Irip=81.39.27.227^Ilport=143^Irport=33715^Iresp=AHBhYmxvLnJvZHJpZ3VlekBlc2N1ZWxhc3VwZXJpb3JkZWNvYWNoaW5nLmNvbQBwZXJpa2l0YS4=
Aug 31 08:39:45 socrates dovecot: auth-worker(default):
sql(pablo.rodrig...@escuelasuperiordecoaching.com,81.39.27.227):
query: SELECT password FROM mailbox WHERE username =
'pablo.rodrig...@escuelasuperiordecoaching.com'
Aug 31 08:39:45 socrates dovecot: auth(default): client out:
ok^i1^iuser=pablo.rodrig...@escuelasuperiordecoaching.com
Aug 31 08:39:45 socrates dovecot: auth(default): master in:
REQUEST^I65^I16796^I1
Aug 31 08:39:45 socrates dovecot: auth-worker(default):
sql(pablo.rodrig...@escuelasuperiordecoaching.com,81.39.27.227):
SELECT maildir, 1001 AS uid, 1001 AS gid FROM mailbox WHERE username =
'pablo.rodrig...@escuelasuperiordecoaching.com
Aug 31 08:39:45 socrates dovecot: auth-worker(default):
sql(pablo.rodrig...@escuelasuperiordecoaching.com,81.39.27.227): User
query failed: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to
use near ''pablo.rodrig...@escuelasuperiordecoaching.com' at line 1
Aug 31 08:39:45 socrates dovecot: auth(default): master out: FAIL^I65
Aug 31 08:39:45 socrates dovecot: imap-login: Internal login failure
(auth failed, 1 attempts):
user=, method=PLAIN,
rip=81.39.27.227, lip=178.63.82.247

My Dovecot version: 1.2.9

My Dovecot configuration:

# 1.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-23-server x86_64 Ubuntu 10.04.1 LTS reiserfs
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imap imaps pop3 pop3s
ssl_cert_file: /etc/ssl/mail/dovecot.crt
ssl_key_file: /etc/ssl/mail/dovecot.key
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(pop3): /usr/lib/dovecot/pop3-login
mail_location: maildir:/home/vmail/%u/
mail_debug: yes
mbox_write_locks: fcntl dotlock
mail_executable(default): /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/imap
mail_executable(pop3): /usr/lib/dovecot/pop3
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3
auth default:
  mechanisms: plain login
  verbose: yes
  debug: yes
  debug_passwords: yes
  passdb:
driver: sql
args: /etc/dovecot/dovecot-sql.conf
  userdb:
driver: sql
args: /etc/dovecot/dovecot-sql.conf
  socket:
type: listen
client:
  path: /var/spool/postfix/private/auth
  mode: 432
  user: postfix
  group: postfix
master:
  path: /var/run/dovecot/auth-master
  mode: 384
  user: vmail
  group: vmail

My Dovecot MySQL configuration:

driver=mysql
connect = host=localhost dbname=postfix user=postfix password=xx
default_pass_scheme = CRYPT
password_query = SELECT password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, 1001 AS uid, 1001 AS gid FROM mailbox
WHERE username = '%u

Can anyone help me? I've seen that log told me "wrong syntax", but I
think upper query is right, isn't it? Any hint?

Thanks in advance :-)


[Dovecot] permissions on auth-userdb

2010-08-30 Thread spamvoll
Hi..

im still trying to upgrade to 2.0.
Im getting:
dovecot: lda: Error: userdb lookup:
connect(/var/run/dovecot/auth-userdb) failed: Permission denied
(euid=1(vmail) egid=1(vmail) missing +r perm:
/var/run/dovecot/auth-userdb, euid is not dir owner)

the error is correct caus its owned by root. My Questions is who should own it ?
Im not sure how that works, what process/user calls the auth-userdb ?
The auth-userdb returns the args generated in master.conf, right ?

i think comment out the user and group setting in master.conf will fix
it but im not sure if that is the securest way.

the mails come from postfix via dovecot-lda

Hans

master.conf
service auth {
  # auth_socket_path points to this userdb socket by default. It's typically
  # used by dovecot-lda, doveadm, possibly imap process, etc. Its default
  # permissions make it readable only by root, but you may need to relax these
  # permissions. Users that have access to this socket are able to get a list
  # of all usernames and get results of everyone's userdb lookups.
  unix_listener auth-userdb {
mode = 0600
#user = vmail
#group = vmail
  }

auth-ldap.conf.ext
passdb {
  driver = ldap
  args = /etc/dovecot/dovecot-ldap.conf.ext
}
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/home/MAILBOXES/%u/
mail=/home/MAILBOXES/%u/mail
}


Re: [Dovecot] Combining ManageSieve with hand-written scripts

2010-08-30 Thread Jason Bleazard

On Mon, 30 Aug 2010 13:15:43 -0400, Jason Bleazard
 wrote:

> I thought I could do something like 
> sieve_before = ~/sieve/custom.sieve
> 
> but that doesn't seem to work.

Okay, I did a bit more reading and testing and figured it out.  I hadn't
previously noticed that %h also specifies the user home directory.  Setting
"sieve_before = %h/sieve/custom.sieve" DOES work, where the ~ didn't.  The
~ works for the sieve and sieve_dir settings, but apparently not
sieve_before or sieve_after.

So I'm happy, just thought I'd share the answer with the rest of the list.

Thanks,
Jason


[Dovecot] Passdb filter question - LDAP.

2010-08-30 Thread Lauro Costa G. Borges

dovecot 1:1.2.9-1ubuntu6.1



   I don't know if I can solve this problem with Dovecot, or if it's an
LDAP matter.


   I'm authenticating users with saslauthd/LDAP, and using Dovecot LDA.

    dovecot.conf
passdb ldap {
args = /etc/dovecot/dovecot-ldap-passdb.conf
}
userdb prefetch {
}
# The userdb below is used only by deliver.
userdb ldap {
args = /etc/dovecot/dovecot-ldap-userdb.conf
}
-

- dovecot-ldap-passdb.conf
search base is dc=example,dc=org
pass_filter = (&(objectclass=brPerson)(objectclass=inetOrgPerson)(mail=%u))
pass_attrs = userPassword=password,%u=user
-

- dovecot-ldap-userdb.conf
search base is ou=%d,ou=mail,ou=services,dc=example,dc=org
user_filter = (&(objectclass=nisMailAlias)(cn=%n))
user_attrs =
rfc822MailMember=user,EmailQuota=quota_rule=*:storage=%$M
-

   Here is how the LDAP tree is:


   ou=mail,ou=services,dc=example,dc=org
   ou=subdomain1.example.org,ou=mail,ou=services,dc=example,dc=org

   example entry under "ou=subdomain1.example.org"

   ---
dn: cn=userfoo,ou=subdomain1,ou=mail,ou=services,dc=example,dc=org
cn: userfoo
edupersonprincipalname: wemhvdea-fuaob...@example.org (some sort of
unique identifier)
emailquota: 512
objectclass: eduPerson
objectclass: nisMailAlias
rfc822mailmember: user...@subdomain1.example.org

   ---

ou=people,dc=example,dc=org

dn: uid=29859085...@example.org,ou=people,dc=example,dc=org
uid: 29859085...@example.org
eduPersonPrincipalName: wemhvdea-fuaob...@example.org
userPassword: {MD5}6ZoYxCjLONXyYIU2eJIuAw==
objectClass: person
objectClass: inetOrgPerson
objectClass: eduPerson
mail: 29859085...@example.org
mail: us...@director.example.org
mail: user...@dptoxyz.example.org
mail: user...@subdomain1.example.org



  When delivering email, it must search under "services", for the proper
"rfc822mailmember", which is the mailbox.

  When authenticating, there's where my problem is, I can't have ALL
user e-mails under "ou=people", maybe just 1, so I need to search
under "ou=services", there I have all user email addresses, and by
using "edupersonPrincipalName", I want to point to the right location
under "ou=people", where I have the user password.  
edupersonPrincipalName is the attribute present under "ou=services"  
and "ou=people" that links the entries.



  I tried to do it by changing passdb filter file, like this:

  pass_filter = (&(objectclass=eduPerson)(mail=%u))
pass_attrs = userPassword=userdb_password,eduPersonPrincipalName=userdb_user


  It works, but changes the username to the value of
"edupersonprincipalname", and this changes the mailbox name. Dovecot
accesses the wrong mailbox then (something like
29859085...@example.org).


* My question is: is it possible to change the passdb filter, so it
searches for somem...@sub1.example.org (under ou=services), then it
gets the value of "edupersonprincipalname" (the unique identifier,
present under "services" and "people"), and with that value, it looks
under "people" the person with that identifier and validates the
password. It would be a filter inside a filter, sort of.


 thanks, and sorry if this is a little offtopic.


This message was sent using IMP, the Internet Messaging Program.




[Dovecot] bogus fts percentage

2010-08-30 Thread Mike Abbott
Sometimes dovecot-2.0 sends this untagged response to clients:
* OK Indexed -2147483648% of the mailbox, ETA 0:00

I imagine there's a bug in there somewhere.


Re: [Dovecot] Combining ManageSieve with hand-written scripts

2010-08-30 Thread fakessh
On Mon, 30 Aug 2010 13:15:43 -0400, Jason Bleazard
 wrote:
> Hi, new to Dovecot, forgive me if I'm missing something basic...
> 
> I'm trying to figure out if there's a way to use a couple of custom rules
> alongside ManageSieve.  Most of the time I like the ManageSieve interface
> in Roundcube, but there's one rule that I can't get it to do the way I want
> (it's a notify rule, and I don't like the way Roundcube constructs the
> notify).  I figured out how to write it by hand, but of course I can't put
> my own rules in Roundcube's file or it gets really confused.  I tried
> adding an include to the generated file, but Roundcube politely removes it
> for me the next time I use the rule editor.  (Squirrelmail doesn't seem to
> be any better in this regard.)
> 
> I thought I could do something like 
> sieve_before = ~/sieve/custom.sieve
> 

my installation support sieve_before scripting

quote part of dovecot -n

plugin {
plugin = autocreate managesieve sieve
sieve = ~/.dovecot.sieve
sieve_before = /var/sieve-scripts/roundcube.sieve
sieve_dir = ~/sieve
sieve_global_path = whatever
}

> but that doesn't seem to work.  I couldn't even see any evidence in the
> log that it attempted to look at that file.  Apparently sieve_before isn't
> meant to work on a per-user basis.
> 
> If I do a global sieve_before, can I have it "include :personal"?  If so,
> what's going to happen with the script compilation?  From what I
> understand, it can't be compiled globally, since each user has a different
> custom rule set.
> 
> Am I trying to do the impossible here?
> 
> Thanks for any ideas,
> Jason Bleazard



[Dovecot] NTLM authentication does not work

2010-08-30 Thread Alexander Cherniak
Dear Experts,
I configured Samba, Kerberos, etc., can login to my CentOS using ADS account, 
but missing something in my Dovecot config.

Windbind seems to work:
 [r...@acentos2 dovecot]# wbinfo -a wAlex%pass
 plaintext password authentication succeeded
 challenge/response password authentication succeeded

Same is true for ntlm_auth helper:
 [r...@acentos2 dovecot]# /usr/bin/ntlm_auth --username=wAlex --password=pass
 NT_STATUS_OK: Success (0x0)

But I couldn't get into Dovecot (with or without auth_use_winbind option):
. login wAlex pass
. NO [ALERT] Unsupported authentication mechanism.

Despite very verbose logging, there no clues there. Bellow's my dovecot -n 
output:

# 2.0.0: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.18-194.11.1.el5 i686 CentOS release 5.5 (Final)
auth_debug = yes
auth_debug_passwords = yes
auth_master_user_separator = *
auth_mechanisms = ntlm
auth_use_winbind = yes
auth_verbose = yes
auth_verbose_passwords = plain
debug_log_path = /var/log/Dovecot/dovecot_debug.log
disable_plaintext_auth = no
info_log_path = /var/log/Dovecot/dovecot_info.log
log_path = /var/log/Dovecot/dovecot.log
mail_location = maildir:~/Maildir
protocols = imap
ssl_cert = 

[Dovecot] Lazy expunge plugin - delete folder result error.

2010-08-30 Thread Kui Zhang
Hello

Is it a bug in lazy expunge plugin or am I missing something?

Dovecot v2.0.1 (c5111fb65b0b)

home = /mail/%Ld/%Ln
mail_location = mdbox:/mail/%Ld/%Ln/mdbox

sources.list - debian (squeeze)
..
deb http://xi.rename-it.nl/debian testing-auto/dovecot-2.0 main

Config changes
- - -
plugin {
  lazy_expunge = .EXPUNGED/
}

namespace {
  type = private
  separator = /
  prefix =
  inbox = yes
  list = yes
}

# lazy_expunge
namespace {
  type = private
  separator = /
  prefix = .EXPUNGED/

  #location = mdbox:~/mdbox:MAILBOXDIR=expunged
  location = mdbox:~/expunged:MAILBOXDIR=expunged
  list = children
   subscriptions = no
- - -

When:
location = mdbox:~/mdbox:MAILBOXDIR=expunged
expunged folder gets created inside mail_location

delete/expunge email  works
delete/expunge folder works

When:
location = mdbox:~/expunged:MAILBOXDIR=expunged
expunged folder gets created inside mail home

delete/expunge email  works
delete/expunge folder DOES NOT WORK.


To reproduce the problem in outlook 2003:

Delete a messages in the Inbox.  Then edit/purge deleted messages.
Create a new folder, then delete the new folder... error prompt

Server Responded: "CANNOT] Can't rename mailboxes across specified storages."

Folder does not get unsubscribe/move

no core dump.

when try to delete the same folder again.

Server Responded: "NONEXISTENT] Mailbox was deleted under us"


Thanks


[Dovecot] Combining ManageSieve with hand-written scripts

2010-08-30 Thread Jason Bleazard

Hi, new to Dovecot, forgive me if I'm missing something basic...

I'm trying to figure out if there's a way to use a couple of custom rules
alongside ManageSieve.  Most of the time I like the ManageSieve interface
in Roundcube, but there's one rule that I can't get it to do the way I want
(it's a notify rule, and I don't like the way Roundcube constructs the
notify).  I figured out how to write it by hand, but of course I can't put
my own rules in Roundcube's file or it gets really confused.  I tried
adding an include to the generated file, but Roundcube politely removes it
for me the next time I use the rule editor.  (Squirrelmail doesn't seem to
be any better in this regard.)

I thought I could do something like 
sieve_before = ~/sieve/custom.sieve

but that doesn't seem to work.  I couldn't even see any evidence in the
log that it attempted to look at that file.  Apparently sieve_before isn't
meant to work on a per-user basis.

If I do a global sieve_before, can I have it "include :personal"?  If so,
what's going to happen with the script compilation?  From what I
understand, it can't be compiled globally, since each user has a different
custom rule set.

Am I trying to do the impossible here?

Thanks for any ideas,
Jason Bleazard


Re: [Dovecot] Different IPs should use different ssl-certs/keys

2010-08-30 Thread Mark Moseley
On Sun, Aug 29, 2010 at 3:07 PM, Peer Heinlein
 wrote:
>
> I don't understand how to use multiple keys/certs on different IPs
> without SNI.
>
> http://wiki2.dovecot.org/SSL/DovecotConfiguration explains how to use
> different keys for different protocols like POP3 and IMAP.
>
> But how to bind those keys/ on IPs/Ports?
>
> Looks like it is not possible to use ssl_cert inside
>
> service { inet_listener {} }
>
>
> Is it still necessary to run multiple instances like it was in Dovecot
> 1.2.x?

After the initial ssl stuff (ssl=yes, etc), you just need a number of
'local' stanzas, each looking like:

local  {
ssl_cert = 

Re: [Dovecot] doveadm expunge -A mailbox Trash savedbefore 30d

2010-08-30 Thread Jerrale G

 On 8/30/2010 12:06 PM, e-frog wrote:

On 30.08.2010 17:32, wrote Jerrale G:

  On 8/27/2010 11:25 AM, e-frog wrote:

On 27.08.2010 17:16, wrote Jerrale G:

   In the shell:
,doveadm(root): Error: User listing returned failure,doveadm: Error:
Failed to iterate through some users

In the log:
dovecot: auth: Error: sql: Iterate query failed: Table 'mail.users'
doesn't exist (using built-in default iterate_query: SELECT username,
domain FROM users)

Why is dovecot trying to "select username, domain from users" when the
"service auth" is setup to "select homedir, maildir, sieve_dir, from
MAILBOXES the same with the password query except for selecting
password from mail.mailboxes.

The expire dictionary is EXACTLY like the example you posted in the
wiki2.

I can't remember whether I posted this thread before or not; I remember
writing it two days ago but I'm not sure if I sent it as I can't find it
in this "mailing lists" folder.

Jerrale G.
SC Senior Admin


You need to adjust iterate_query setting in
/etc/dovecot/dovecot-sql.conf.ext to your needs

See also:
http://wiki2.dovecot.org/Tools/Doveadm/Expunge?highlight=(iterate_query)



Could you explain the iterate_query in any kind of sql. I'm guessing to
just use the query, correctly, that's failing as iterate_query= and put
it in the service auth file which includes password_query and
user_query. then, I'm guessing to add something like:

iteratedb {
driver = sql
args = /path/to/sql.conf
}

The wiki2 only says:

"When the SQL userdb module is used make sure that the iterate_query
setting in /etc/dovecot/dovecot-sql.conf.ext matches your database layout."

it should give an example query. I don't know if its wanting to list the
fields or the contents of a field.

Thanks,

Jerrale G.
SC Senior Admin

Uncomment the last line in /etc/dovecot/dovecot-sql.conf.ext and adjust
the query to your database layout. All doveadm needs is a list of usernames

# Query to get a list of all usernames.
iterate_query = SELECT username AS user FROM users

There is no need to touch any other file.




Thanks efrog,

Timo or another admin needs to add this in the wiki. I know it is in the 
example sql config file, which is where I got it 
(/usr/share/doc/dovecot/example/dovecot-sql.conf.ext) but it is more 
convenient in the wiki.


I also added the same maildir parameters from the user_query in case the 
iterate_query needed to know where the maildir is:
CONCAT('/home/mail/', mailboxes.domain, '/', mailboxes.username, 
'/mail/') AS maildir


Jerrale G.
SC Senior Admin


Re: [Dovecot] doveadm expunge -A mailbox Trash savedbefore 30d

2010-08-30 Thread e-frog
On 30.08.2010 17:32, wrote Jerrale G:
>  On 8/27/2010 11:25 AM, e-frog wrote:
>> On 27.08.2010 17:16, wrote Jerrale G:
>>>   In the shell:
>>> ,doveadm(root): Error: User listing returned failure,doveadm: Error:
>>> Failed to iterate through some users
>>>
>>> In the log:
>>> dovecot: auth: Error: sql: Iterate query failed: Table 'mail.users'
>>> doesn't exist (using built-in default iterate_query: SELECT username,
>>> domain FROM users)
>>>
>>> Why is dovecot trying to "select username, domain from users" when the
>>> "service auth" is setup to "select homedir, maildir, sieve_dir, from
>>> MAILBOXES the same with the password query except for selecting
>>> password from mail.mailboxes.
>>>
>>> The expire dictionary is EXACTLY like the example you posted in the
>>> wiki2.
>>>
>>> I can't remember whether I posted this thread before or not; I remember
>>> writing it two days ago but I'm not sure if I sent it as I can't find it
>>> in this "mailing lists" folder.
>>>
>>> Jerrale G.
>>> SC Senior Admin
>>>
>> You need to adjust iterate_query setting in
>> /etc/dovecot/dovecot-sql.conf.ext to your needs
>>
>> See also:
>> http://wiki2.dovecot.org/Tools/Doveadm/Expunge?highlight=(iterate_query)
>>
> 
> 
> Could you explain the iterate_query in any kind of sql. I'm guessing to
> just use the query, correctly, that's failing as iterate_query= and put
> it in the service auth file which includes password_query and
> user_query. then, I'm guessing to add something like:
> 
> iteratedb {
> driver = sql
> args = /path/to/sql.conf
> }
> 
> The wiki2 only says:
> 
> "When the SQL userdb module is used make sure that the iterate_query
> setting in /etc/dovecot/dovecot-sql.conf.ext matches your database layout."
> 
> it should give an example query. I don't know if its wanting to list the
> fields or the contents of a field.
> 
> Thanks,
> 
> Jerrale G.
> SC Senior Admin

Uncomment the last line in /etc/dovecot/dovecot-sql.conf.ext and adjust
the query to your database layout. All doveadm needs is a list of usernames

# Query to get a list of all usernames.
iterate_query = SELECT username AS user FROM users

There is no need to touch any other file.





[Dovecot] [DC2.x ]pop3-login seg faults when compiled with gcc 4.5.2 and gold

2010-08-30 Thread interfaSys sàrl
 Hello,
On FreeBSD, Dovecot 2.0.1 compiles fine with gcc45 and the other
services have no problem, but even without any optimizations (CFLAGS) at
all, pop3-login seg faults when a user tries to connect to Dovecot using
POP3.

As this is not the only application that has a problem with the latest
version of gcc (mod_php), there may be nothing that can be done on the
Dovecot side, but I thought I would mention it, in case it was due to
some bug in the pop3-login code.

Cheers,

Olivier




[Dovecot] getdents() with 4KB buffer - seems slow (Maildir, large inbox)

2010-08-30 Thread Marinos Yannikos
Hi,

I have a very large inbox (~146K mails) in Maildir format and dovecot
seems to spend a lot of time rescanning the directory, especially when
the server is loaded. I'm not sure whether this is triggered by
Thunderbird or done regularly, but it takes longer when the server is
loaded, so sometimes it seems that it is scanning continuously. Since
it takes around 2000 getdents64() syscalls to scan my inbox, I'm
wondering whether the buffer size is a bit small with 4KB and might
benefit from being configurable:

...
getdents64(8, /* 73 entries */, 4096)   = 4088
getdents64(8, /* 73 entries */, 4096)   = 4088
getdents64(8, /* 73 entries */, 4096)   = 4088
getdents64(8, /* 73 entries */, 4096)   = 4088
getdents64(8, /* 73 entries */, 4096)   = 4088
...

(strace output of an imap process belonging to me)

The behaviour is identical on 1.0.15 and 1.2.13 (I just upgraded).

Regards,
 Marinos

PS. I know that the main reason for slowness is my large inbox and the
server being loaded (disk I/O), but still, so many syscalls just to
rescan the inbox seems wasteful.

# dovecot -n
# 1.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.18-6-xen-686 i686 Debian 4.0
log_timestamp: %Y-%m-%d %H:%M:%S
ssl_listen: *
ssl_cert_file: X (censored)
ssl_key_file: X
login_dir: /var/run/dovecot/login
login_executable: /usr/lib/dovecot/imap-login
login_process_size: 32
login_processes_count: 8
verbose_proctitle: yes
mail_privileged_group: mail
mail_location: maildir:~/Maildir
mbox_write_locks: fcntl dotlock
mail_process_size: 2048
imap_client_workarounds: outlook-idle
auth default:
  passdb:
driver: pam
  userdb:
driver: passwd
  socket:
type: listen
client:
  path: /var/spool/postfix/private/auth
  mode: 432
  user: postfix
  group: postfix


Re: [Dovecot] doveadm expunge -A mailbox Trash savedbefore 30d

2010-08-30 Thread Jerrale G

 On 8/27/2010 11:25 AM, e-frog wrote:

On 27.08.2010 17:16, wrote Jerrale G:

  In the shell:
,doveadm(root): Error: User listing returned failure,doveadm: Error:
Failed to iterate through some users

In the log:
dovecot: auth: Error: sql: Iterate query failed: Table 'mail.users'
doesn't exist (using built-in default iterate_query: SELECT username,
domain FROM users)

Why is dovecot trying to "select username, domain from users" when the
"service auth" is setup to "select homedir, maildir, sieve_dir, from
MAILBOXES the same with the password query except for selecting
password from mail.mailboxes.

The expire dictionary is EXACTLY like the example you posted in the wiki2.

I can't remember whether I posted this thread before or not; I remember
writing it two days ago but I'm not sure if I sent it as I can't find it
in this "mailing lists" folder.

Jerrale G.
SC Senior Admin


You need to adjust iterate_query setting in
/etc/dovecot/dovecot-sql.conf.ext to your needs

See also:
http://wiki2.dovecot.org/Tools/Doveadm/Expunge?highlight=(iterate_query)




Could you explain the iterate_query in any kind of sql. I'm guessing to 
just use the query, correctly, that's failing as iterate_query= and put 
it in the service auth file which includes password_query and 
user_query. then, I'm guessing to add something like:


iteratedb {
driver = sql
args = /path/to/sql.conf
}

The wiki2 only says:

"When the SQL userdb module is used make sure that the iterate_query 
setting in /etc/dovecot/dovecot-sql.conf.ext matches your database layout."


it should give an example query. I don't know if its wanting to list the 
fields or the contents of a field.


Thanks,

Jerrale G.
SC Senior Admin


Re: [Dovecot] Dovecot dict process privileges

2010-08-30 Thread Jerrale G

 On 8/20/2010 12:48 PM, Timo Sirainen wrote:

On Fri, 2010-08-20 at 12:43 -0400, Jerrale G wrote:


I had the same problem as you with 2.0; 1.2.x I couldn't get dict to
work at all for an error in the code. Here is how I fixed 2.0 though:

service dict {
unix_listener dict {
user = mail<<  same as what you put for service imap
mode = 0660
group = mail<<  same as what you put for service imap
}
}

Oh, yeah, I should add that to example config and wiki since the default
is "secure" as in "works in about zero installations" :)




Sorry Timo, he was having the same problem I was so I thought I would 
share my setup; I didn't say the default wasn't secure but I couldn't 
get the default's permissions to work. This could have been because I 
had forgotten the /var/run directory itself had to have world executable 
permissions.


So, Marc Perel, use the default; make sure you have world executable 
permissions on /var/run while chmoding to 770 /var/run/dovecot and 
owning the individual service files to the correct users and groups.


If this doesn't work, try the permissions. I'm going to review mine to 
make sure they will now work as default.



Jerrale G.
SC Senior Admin


[Dovecot] Running auth as root

2010-08-30 Thread Egbert Jan van den Bussche

Hi,

I seem to be forced to run the auth proces as root because I want to use 
pam for local users. My gut feeling says that this is Not Good. Is there 
another way?
For the virtual users 'vmail' is good enough because that user may 
access the MySQL database.


This is on Ubuntu server 10.04.1 and Dovecot 1.2.9.

TIA, Egbert Jan


Re: [Dovecot] dovecot - mac firewall problem

2010-08-30 Thread Charles Marcus
On 2010-08-30 7:41 AM, Patrick Fay  wrote:
>> On 8/29/2010 8:51 PM, Patrick Fay wrote:
>>> Aug 26 20:43:45 hostname Firewall[55]: Deny ^L connecting from  
>>> XX.XX.XX.XX:37310 uid = 0 proto=6
>>> Aug 26 20:43:53 hostname Firewall[55]: Deny ^H?^U???^Z  connecting from 
>>> XX.XX.XX.XX:37310 uid = 0 proto=6
>>>
>>> Both of these are dovecot hits--but the name is different each time.
>>> Also the ?'s aren't really "?" marks; they're trans-ascii characters
>>> with high bits set that my mailer doesn't like very much.  It really
>>> looks like a misdirected pointer or something somewhere, but I'm not
>>> familiar enough with the codebase to know where to start looking, or
>>> if in fact it is something else that is misconfigured.  Any thoughts
>>> on how to resolve this?

>> Dovecot version?

> My apologies-- dovecot version 1.2.11.  

No problem - I thought maybe since you were on a Mac it might be a much
older version, which might be the cause...

Sorry I can't help further, maybe someone else has some ideas...

-- 

Best regards,

Charles


Re: [Dovecot] dsync mirror duplicates problem

2010-08-30 Thread Waldemar W.
On Sat, 28 Aug 2010 17:58:38 +0200, "Waldemar W."
 wrote:
> Im trying to sync 2 mailserver with dsync mirror functionality.
> 
> Problem occurs when mails arrive in the same folder on both sides
> then dsync sometimes runs into problems
> and duplicates that entrys on both side(2mails then with same
> content). After running again
> the same happens again(now 4 mails with same content on every side).
> And then duplicates this mails on
> both sides on every run :(
> Anyone with same problem or is something that could cause this? I
> tried dsync with and without -f option but no change.
> 
> Im running dovecot 2.0.1 together with dovecot sieve (latest hg version).
> 
> thanks,
> Waldemar

After seeing that mirror seems not to work fine i tried a "backup" only
solution with 
dsync. But after 1 day there are other problems on almost all accounts
i tried to sync like:
"Warning: Destination mailbox INBOX has been modified, need to recreate
it before we can continue syncing
Error: Can't delete mailbox INBOX: INBOX can't be deleted."
This appears on 4 of the  8 Accounts i tried to sync. 
On other one there appears "Error: msg-copy returned invalid uid:
1269868747 != 1"  and on one 
a msg like  "Error: Unexpected finish reply: +". 

For my initial sync i used complete empty maildirs on the destination
server and from that on only working
with the "backup" option of dsync. Any idea what could cause such big
problems with dsync? 


thanks, 
Waldemar




Re: [Dovecot] dovecot - mac firewall problem

2010-08-30 Thread Patrick Fay
> On 8/29/2010 8:51 PM, Patrick Fay wrote:
>> Aug 26 20:43:45 hostname Firewall[55]: Deny ^L connecting from  
>> XX.XX.XX.XX:37310 uid = 0 proto=6
>> Aug 26 20:43:53 hostname Firewall[55]: Deny ^H?^U???^Z  connecting from 
>> XX.XX.XX.XX:37310 uid = 0 proto=6
>> 
>> Both of these are dovecot hits--but the name is different each time.
>> Also the ?'s aren't really "?" marks; they're trans-ascii characters
>> with high bits set that my mailer doesn't like very much.  It really
>> looks like a misdirected pointer or something somewhere, but I'm not
>> familiar enough with the codebase to know where to start looking, or
>> if in fact it is something else that is misconfigured.  Any thoughts
>> on how to resolve this?
> 
> Dovecot version?
> 
> -- 
> 
> Best regards,
> 
> Charles
> 

My apologies-- dovecot version 1.2.11.  

Patrick

[Dovecot] auth: Fatal: Unknown passdb driver 'mysql'

2010-08-30 Thread Vaidas Jablonskis
Hi People,

I am setting up a new dovecot server for testing first prior production
upgrade from 1.2.x to 2.0.x.

I used the RPMs from ATrpms: dovecot-2.0.0-1_117.el5.x86_64.rpm

The errors I am getting:

-
Aug 27 18:15:29 testbox dovecot: auth: Debug: Loading modules from
directory: /usr/lib64/dovecot/auth
Aug 27 18:15:29 testbox dovecot: auth: Debug: Module loaded:
/usr/lib64/dovecot/auth/libauthdb_ldap.so
Aug 27 18:15:29 testbox dovecot: auth: Debug: Module loaded:
/usr/lib64/dovecot/auth/libdriver_mysql.so
Aug 27 18:15:29 testbox dovecot: auth: Debug: Module loaded:
/usr/lib64/dovecot/auth/libdriver_pgsql.so
Aug 27 18:15:29 testbox dovecot: auth: Debug: Module loaded:
/usr/lib64/dovecot/auth/libdriver_sqlite.so
Aug 27 18:15:29 testbox dovecot: auth: Debug: Module loaded:
/usr/lib64/dovecot/auth/libmech_gssapi.so
Aug 27 18:15:29 testbox dovecot: auth: Fatal: Unknown passdb driver 'mysql'
Aug 27 18:15:29 testbox dovecot: master: Error: service(auth): command
startup failed, throttling
Aug 27 18:15:59 testbox dovecot: imap-login: Error: Timeout waiting for
handshake from auth server. my pid=4323, input bytes=0
--

# dovecot --build-options
Build options: ioloop=epoll notify=inotify ipv6 openssl io_block_size=8192
Mail storages: cydir maildir mbox mdbox raw sdbox shared
SQL driver plugins: mysql postgresql sqlite
Passdb: checkpassword ldap pam passwd passwd-file shadow sql
Userdb: checkpassword ldap(plugin) nss passwd prefetch passwd-file sql

# ls -l /usr/lib64/dovecot/*sql*
-rwxr-xr-x 1 root root 15704 Aug 20 16:51
/usr/lib64/dovecot/libdriver_mysql.so
-rwxr-xr-x 1 root root 21464 Aug 20 16:51
/usr/lib64/dovecot/libdriver_pgsql.so
-rwxr-xr-x 1 root root 11848 Aug 20 16:51
/usr/lib64/dovecot/libdriver_sqlite.so

It is clearly seen that mysql drivers are installed and being loaded during
dovecot startup.

---
/etc/dovecot/conf.d/auth-sql.conf.ext

passdb {
  driver = mysql
  args = /etc/dovecot/dovecot-sql.conf.ext
}

userdb {
  driver = prefetch
}

userdb {
  driver = mysql
  args = /etc/dovecot/dovecot-sql.conf.ext
}
-

Any ideas what else could be wrong?

Thanks,
Vaidas