Re: [Dovecot] Dovecot director doveadm with switch "-A" error

2012-12-08 Thread Timo Sirainen
On 30.11.2012, at 3.17, Timo Sirainen wrote:

>> 2 problem
>> when we execute doveadm -o auth_socket_path=director-userdb quota get -A it 
>> works for the early users and then return this error on proxy:
>> 
>> doveadm(userabc): Fatal: table formatter doesn't support multi-line values
> 
> Oh. Hmm. I see the problem.. I'll fix it later. For now you could change the 
> formatter with doveadm -f tab or -f flow

This problem should be fixed: http://hg.dovecot.org/dovecot-2.1/rev/c1e47738e7c3



Re: [Dovecot] Dovecot director doveadm with switch "-A" error

2012-11-30 Thread Ramon Frontera
Hi,

Thanks Timo for your help!

I have installed dovecot version 2.1.12

changing format has solved "doveadm -o auth_socket_path=director-userdb quota 
get -A"

Now, "doveadm -o auth_socket_path=director-userdb  search -u user  mailbox 
Trash savedbefore 1d" works fine

Best regards!
--
--
  Ramon Frontera Gallardo
  Universitat de les Illes Balears





El 30/11/2012, a las 02:17, Timo Sirainen escribió:

> On 29.11.2012, at 16.22, Ramon Frontera wrote:
> 
>> Now we have found 3 problems with doveadm on proxy server:
>> 
>> 1 problem:
>> In our configuration we have:
>> protocol doveadm {
>> auth_socket_path = director-userdb
>> }
>> 
>> I have executed this:
>> # doveconf -m doveadm -f service=doveadm auth_socket_path
>> auth_socket_path = director-userdb
>> 
>> Now when We execute doveadm quota get -A
>> we have this error: 
>> doveadm(user1): Error: /var/run/dovecot//auth-userdb: Proxy is missing 
>> destination host (maybe set auth_socket_path=director-userdb)
>> doveadm: Error: Failed to iterate through some users
>> 
>> with "-o auth_socket_path=director-userdb " it works for the early users.
> 
> That's strange. I don't really have any ideas left how to debug it easily.
> 
>> 2 problem
>> when we execute doveadm -o auth_socket_path=director-userdb quota get -A it 
>> works for the early users and then return this error on proxy:
>> 
>> doveadm(userabc): Fatal: table formatter doesn't support multi-line values
> 
> Oh. Hmm. I see the problem.. I'll fix it later. For now you could change the 
> formatter with doveadm -f tab or -f flow
> 
>> 3 problem
>> I have tested other doveadm command on proxy wich also fails:
>> 
>> # doveadm -o auth_socket_path=director-userdb  search -u user  mailbox Trash 
>> savedbefore 1d
>> 
>> on proxy we have this error: " doveadm(user): Error: xx.xx.xx.xx:24245: 
>> Internal failure for user"
>> on mailserver we have this error: "doveadm: Fatal: master: service(doveadm): 
>> child 22171 killed with signal 11 (core dumps disabled)"
>> 
>> I put the gdm bt output hope it help you. (mailserver)
>> 
>> #0  auth_master_user_list_next (ctx=0x0) at auth-master.c:680
>> No locals.
>> #1  0x7f2dfe414f23 in mail_storage_service_all_next (ctx=0xf92900, 
>>   username_r=0x7fff4306cab8) at mail-storage-service.c:1215
>>   __FUNCTION__ = "mail_storage_service_all_next"
>> #2  0x7f2dfd0b0ed2 in doveadm_expire_mail_init (ctx=0xf89020)
>>   at doveadm-expire.c:420
> 
> This should fix it: http://hg.dovecot.org/dovecot-2.1/rev/75dc4cb4bfe0
> 



Re: [Dovecot] Dovecot director doveadm with switch "-A" error

2012-11-29 Thread Timo Sirainen
On 29.11.2012, at 16.22, Ramon Frontera wrote:

> Now we have found 3 problems with doveadm on proxy server:
> 
> 1 problem:
> In our configuration we have:
> protocol doveadm {
> auth_socket_path = director-userdb
> }
> 
> I have executed this:
> # doveconf -m doveadm -f service=doveadm auth_socket_path
> auth_socket_path = director-userdb
> 
> Now when We execute doveadm quota get -A
> we have this error: 
> doveadm(user1): Error: /var/run/dovecot//auth-userdb: Proxy is missing 
> destination host (maybe set auth_socket_path=director-userdb)
> doveadm: Error: Failed to iterate through some users
> 
> with "-o auth_socket_path=director-userdb " it works for the early users.

That's strange. I don't really have any ideas left how to debug it easily.

> 2 problem
> when we execute doveadm -o auth_socket_path=director-userdb quota get -A it 
> works for the early users and then return this error on proxy:
> 
> doveadm(userabc): Fatal: table formatter doesn't support multi-line values

Oh. Hmm. I see the problem.. I'll fix it later. For now you could change the 
formatter with doveadm -f tab or -f flow

> 3 problem
> I have tested other doveadm command on proxy wich also fails:
> 
> # doveadm -o auth_socket_path=director-userdb  search -u user  mailbox Trash 
> savedbefore 1d
> 
> on proxy we have this error: " doveadm(user): Error: xx.xx.xx.xx:24245: 
> Internal failure for user"
> on mailserver we have this error: "doveadm: Fatal: master: service(doveadm): 
> child 22171 killed with signal 11 (core dumps disabled)"
> 
> I put the gdm bt output hope it help you. (mailserver)
> 
> #0  auth_master_user_list_next (ctx=0x0) at auth-master.c:680
> No locals.
> #1  0x7f2dfe414f23 in mail_storage_service_all_next (ctx=0xf92900, 
>username_r=0x7fff4306cab8) at mail-storage-service.c:1215
>__FUNCTION__ = "mail_storage_service_all_next"
> #2  0x7f2dfd0b0ed2 in doveadm_expire_mail_init (ctx=0xf89020)
>at doveadm-expire.c:420

This should fix it: http://hg.dovecot.org/dovecot-2.1/rev/75dc4cb4bfe0



Re: [Dovecot] Dovecot director doveadm with switch "-A" error

2012-11-29 Thread Ramon Frontera
Hi,

we have installed dovecot version 2.1.11


Now we have found 3 problems with doveadm on proxy server:

1 problem:
In our configuration we have:
protocol doveadm {
auth_socket_path = director-userdb
}
 
I have executed this:
# doveconf -m doveadm -f service=doveadm auth_socket_path
auth_socket_path = director-userdb

Now when We execute doveadm quota get -A
we have this error: 
doveadm(user1): Error: /var/run/dovecot//auth-userdb: Proxy is missing 
destination host (maybe set auth_socket_path=director-userdb)
doveadm: Error: Failed to iterate through some users

with "-o auth_socket_path=director-userdb " it works for the early users.


2 problem
when we execute doveadm -o auth_socket_path=director-userdb quota get -A it 
works for the early users and then return this error on proxy:

doveadm(userabc): Fatal: table formatter doesn't support multi-line values


3 problem
I have tested other doveadm command on proxy wich also fails:

# doveadm -o auth_socket_path=director-userdb  search -u user  mailbox Trash 
savedbefore 1d

on proxy we have this error: " doveadm(user): Error: xx.xx.xx.xx:24245: 
Internal failure for user"
on mailserver we have this error: "doveadm: Fatal: master: service(doveadm): 
child 22171 killed with signal 11 (core dumps disabled)"

I put the gdm bt output hope it help you. (mailserver)

Core was generated by `dovecot/doveadm-server'.
Program terminated with signal 11, Segmentation fault.
#0  auth_master_user_list_next (ctx=0x0) at auth-master.c:680
680 auth-master.c: No such file or directory.
in auth-master.c
Missing separate debuginfos, use: debuginfo-install 
dovecot-2.1.11-1_136.el6.x86_64
(gdb) bt full
#0  auth_master_user_list_next (ctx=0x0) at auth-master.c:680
No locals.
#1  0x7f2dfe414f23 in mail_storage_service_all_next (ctx=0xf92900, 
username_r=0x7fff4306cab8) at mail-storage-service.c:1215
__FUNCTION__ = "mail_storage_service_all_next"
#2  0x7f2dfd0b0ed2 in doveadm_expire_mail_init (ctx=0xf89020)
at doveadm-expire.c:420
ectx = 0xf89198
dict = 0xf93110
query = 
expire_dict = 
username = 0x0
value = 
username_dup = 
#3  0x0040aa1a in doveadm_mail_single_user ()
No symbol table info available.
#4  0x004121b9 in client_connection_input ()
No symbol table info available.
#5  0x7f2dfe14f2c6 in io_loop_call_io (io=0xf8e7a0) at ioloop.c:379
ioloop = 0xf84690
t_id = 2
#6  0x7f2dfe1502ef in io_loop_handler_run (ioloop=)
at ioloop-epoll.c:213
---Type  to continue, or q  to quit--- 
ctx = 0xf874c0
events = 
event = 0xf87530
list = 0xf8e7f0
io = 
tv = {tv_sec = 2147483, tv_usec = 0}
msecs = 
ret = 1
i = 
call = 
#7  0x7f2dfe14f268 in io_loop_run (ioloop=0xf84690) at ioloop.c:398
No locals.
#8  0x7f2dfe13ac73 in master_service_run (service=0xf84540, 
callback=) at master-service.c:544
No locals.
#9  0x004128f1 in main ()
No symbol table info available.

Thanks in advance

--
--
  Ramon Frontera Gallardo
  Universitat de les Illes Balears





El 28/11/2012, a las 23:45, Timo Sirainen escribió:

> On 28.11.2012, at 16.50, Ramon Frontera wrote:
> 
>> Dovecot -n show the correct configuration like you explain.
>> The command doveadm -o auth_socket_path=director-userdb quota get -A works 
>> fine on the proxy and now assigns host.
> 
> Then doveadm isn't seeing the same configuration as what you're looking at. 
> For example did you restart dovecot since the change? Does this return the 
> correct path? :
> 
> doveconf -m doveadm -f service=doveadm auth_socket_path
> 
>> Now, the problem is that when we execute doveadm -A or doveadm -u 
>> *something* the command fails in the mailserver with this error:
>> 
>> dovecot: doveadm: Fatal: master: service(doveadm): child 13482 killed with 
>> signal 11 (core dumps disabled)
> 
> I fixed several bugs related to this in hg. I think you hit one of them.
> 
>> This errors occurs when the search finds more than one user.
>> When we execute doveadm -u user it works fine
>> 
>> 
>> I send attached the strace of the mailserver
> 
> strace isn't very useful in debugging crashes. gdb backtraces are: 
> http://dovecot.org/bugreport.html
> 



Re: [Dovecot] Dovecot director doveadm with switch "-A" error

2012-11-28 Thread Timo Sirainen
On 28.11.2012, at 16.50, Ramon Frontera wrote:

> Dovecot -n show the correct configuration like you explain.
> The command doveadm -o auth_socket_path=director-userdb quota get -A works 
> fine on the proxy and now assigns host.

Then doveadm isn't seeing the same configuration as what you're looking at. For 
example did you restart dovecot since the change? Does this return the correct 
path? :

doveconf -m doveadm -f service=doveadm auth_socket_path

> Now, the problem is that when we execute doveadm -A or doveadm -u *something* 
> the command fails in the mailserver with this error:
> 
> dovecot: doveadm: Fatal: master: service(doveadm): child 13482 killed with 
> signal 11 (core dumps disabled)

I fixed several bugs related to this in hg. I think you hit one of them.

> This errors occurs when the search finds more than one user.
> When we execute doveadm -u user it works fine
> 
> 
> I send attached the strace of the mailserver

strace isn't very useful in debugging crashes. gdb backtraces are: 
http://dovecot.org/bugreport.html



Re: [Dovecot] Dovecot director doveadm with switch "-A" error

2012-11-27 Thread Timo Sirainen
On Tue, 2012-11-27 at 13:27 +0100, Ramon Frontera wrote:
> 
> >> # doveadm -D quota get -A
> >> doveadm(user1): Debug: auth input: user=user1 proxy
> starttls=any-cert
> >> doveadm(user1): Error: Proxy is missing destination host
> >> doveadm: Error: Failed to iterate through some users 
..

> connect(8, {sa_family=AF_FILE, path="/var/run/dovecot//auth-userdb"},
> 110) = 0


It's connecting to auth-userdb, while it should be connecting to
director-userdb. This should have been done by this setting:

protocol doveadm {
  auth_socket_path = director-userdb
}

Make sure doveconf -n shows that. And if nothing seems to work, this at
least should:

doveadm -o auth_socket_path=director-userdb quota get -A




Re: [Dovecot] Dovecot director doveadm with switch "-A" error

2012-11-26 Thread Timo Sirainen
On 21.11.2012, at 15.05, Ramon Frontera wrote:

> we have a problem with our director proxy configuration. 
> When we run on proxy server the doveadm command with -A switch, fails with 
> the error:
> 
> # doveadm -D quota get -A
> doveadm(user1): Debug: auth input: user=user1 proxy starttls=any-cert
> doveadm(user1): Error: Proxy is missing destination host
> doveadm: Error: Failed to iterate through some users

Well, I fixed various bugs in doveadm code related to this:

http://hg.dovecot.org/dovecot-2.1/rev/6f19c535110e
http://hg.dovecot.org/dovecot-2.1/rev/275a57b8dc70
http://hg.dovecot.org/dovecot-2.1/rev/0dc3f56e6468
http://hg.dovecot.org/dovecot-2.1/rev/fdc509644d05

But I don't think they fix your specific issue. It looks as if doveadm is 
connecting to auth process directly instead of director..  Do:

strace -s 1000 -o log doveadm quota get -A

and send me the log? Note that the log contains the doveadm_password in the 
base64 strings.




[Dovecot] Dovecot director doveadm with switch "-A" error

2012-11-21 Thread Ramon Frontera
Hi,

we have a problem with our director proxy configuration. 
When we run on proxy server the doveadm command with -A switch, fails with the 
error:

# doveadm -D quota get -A
doveadm(user1): Debug: auth input: user=user1 proxy starttls=any-cert
doveadm(user1): Error: Proxy is missing destination host
doveadm: Error: Failed to iterate through some users

If we execute the command with a single user, director assigns host  and goes 
well,
Example:

# doveadm -D quota get -u user1
doveadm(user1): Debug: auth input: user=user1 proxy starttls=any-cert 
host=xx.xx.xx.xx proxy_refresh=450
Quota name Type Value   Limit   
 %
User quota STORAGE 159401 2621440   
 6
User quota MESSAGE341   -   
 0


We have tried different configurations and all goes wrong with this "-A" 
switch, Timo please, could you tell us if we  have
a missconfiguration or its a possible director bug ??

We really want execute the expire plugin on ours directors and them redirect to 
the backends servers of every user.

thanks in advance.

Our doveconf -n:

# dovecot -n
# 2.1.10: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-279.14.1.el6.x86_64 x86_64 CentOS release 6.3 (Final) 
auth_cache_size = 3 k
auth_cache_ttl = 15 mins
auth_debug = yes
auth_verbose = yes
base_dir = /var/run/dovecot/
default_client_limit = 3
default_process_limit = 5000
dict {
  expire = mysql:/etc/dovecot/dovecot-dict-expire.conf.ext
}
director_doveadm_port = 990
director_mail_servers = mailserver1 mailserver2
director_servers = proxy1
doveadm_proxy_port = 24245
lmtp_proxy = yes
mail_debug = yes
mail_plugins = expire quota
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character 
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy 
include variables body enotify environment mailbox date ihave
namespace inbox {
  location = 
  mailbox Drafts {
special_use = \Drafts
  }
  mailbox Junk {
special_use = \Junk
  }
  mailbox Sent {
special_use = \Sent
  }
  mailbox "Sent Messages" {
special_use = \Sent
  }
  mailbox Trash {
special_use = \Trash
  }
  prefix = 
}
passdb {
  args = /etc/dovecot/dovecot-ldap-users.conf.ext
  driver = ldap
}
plugin {
  expire = Trash
  expire2 = Trash/*
  expire_dict = proxy::expire
}
postmaster_address = postmastercompany
protocols = imap pop3 lmtp sieve
service auth {
  client_limit = 27048
  unix_listener /var/spool/postfix/private/auth {
mode = 0666
  }
  unix_listener auth-userdb {
group = dovecot
mode = 0660
  }
}
service director {
  fifo_listener login/proxy-notify {
mode = 0600
user = $default_login_user
  }
  inet_listener {
port = 9090
  }
  unix_listener director-userdb {
mode = 0660
  }
  unix_listener login/director {
mode = 0666
  }
}
service doveadm {
  executable = doveadm-server director
  inet_listener doveadm-server {
port = 24245
  }
}
service imap-login {
  executable = imap-login director
  inet_listener imap {
port = 143
  }
  inet_listener imaps {
port = 993
ssl = yes
  }
}
service ipc {
  unix_listener ipc {
user = dovecot
  }
}
service lmtp {
  client_limit = 1
  inet_listener lmtp {
port = 30025
  }
}
service managesieve-login {
  executable = managesieve-login director
}
service pop3-login {
  executable = pop3-login director
  inet_listener pop3 {
port = 110
  }
  inet_listener pop3s {
port = 995
ssl = yes
  }
}
ssl = required
ssl_cert =