Re: [Dovecot] doveadm quota get -A via doveadm-proxy director with LDAP

2012-11-09 Thread Daniel Parthey
Ramon Frontera wrote:
> We are running Dovecot 2.1.10
> I want configure dovecot to do execute doveadm commands on the proxy server.
> We have 1 proxy with director and 2 mail servers. we use LDAP
> when I try to do doveadm quota get -u user it works fine.
> The problem is when I try to do doveadm quota get -A ON PROXY
> 
> I have this result:
> doveadm(first_user): Error: Proxy is missing destination host
> doveadm: Error: Failed to iterate through some users

Sounds similar to the doveadm director problem described in this thread:
http://dovecot.org/list/dovecot/2012-October/069100.html

What do you see in your backend mail server dovecot.log?

Regards
Daniel
-- 
https://plus.google.com/103021802792276734820


Re: [Dovecot] mbox vs. maildir storage block waste

2012-11-09 Thread Daniel Parthey
Christoph Anton Mitterer wrote:
> On Wed, 2012-11-07 at 17:30 +0200, Timo Sirainen wrote:
> > On 30.10.2012, at 2.16, Christoph Anton Mitterer wrote:
> > > Have you ever thought about adding a "real" DB backend? Nothing against
> > > dbox... :) ... and I have no performance comparison of dbox with what
> > > could be done with a DBMS... but the advantage of the later would be
> > > that you get all fancy features from database systems for free... like
> > > fast indexing, online replication, etc. p..
> > > One might even reuse something like AOX for this.
> 
> > SQL indexes aren't very helpful for IMAP-like data. It would be fun to
> > some day have SQL backend in Dovecot (there already is read-only
> > INBOX-only SQL backend), but I don't expect it to have very good
> > performance.
> I see... well I haven't tested AOX or dbmail so far (especially as
> they're not in Debian and I was too lazy till now to compile them)...

Bad performance experiences with dbmail 2.x were the main reason why
we migrated to dovecot. If you've got a MySQL database with 80 GB of
binary chunks then things are getting ugly, especially when it comes to
efficient backup and restore of whole mailboxes or single e-mails.
The SQL backend (and the IMAP user experience) becomes very slow
if the database does not fit completely into RAM.

There are many performance improvements and bug fixes in dbmail 3.x,
but instead of evaluating then, we decided to migrate to Dovecot.

One should think twice, or even three times about how to design an
efficient SQL backend for a good user experience.

Regards
Daniel
-- 
https://plus.google.com/103021802792276734820


Re: [Dovecot] Rebuilding indexes fails on inconsistent mdbox

2012-11-09 Thread Milan Holzäpfel
On Mon, 29 Oct 2012 17:31:42 +0200
Timo Sirainen  wrote:

> On 24.10.2012, at 14.28, Milan Holzäpfel wrote:
> 
> > Oct 24 10:45:19 two dovecot: imap(lis...@mjh.name): Panic: file 
> > mdbox-storage-rebuild.c: line 773 (rebuild_update_refcounts): assertion 
> > failed: (map_uid < msgs[i]->map_uid)
> 
> Now this is a bug.
> 
> > Dovecot 2.0.19-0ubuntu1
> 
> But the bug may have already been fixed in v2.1.

I downloaded Dovecot 2.1.10 and compiled from source. Accessing the
mailbox still fails:

$ doveadm mailbox status all xen-devel
doveadm(...): Error: mdbox map /home/test/mdbox/storage/dovecot.map.index 
corrupted: Unexpectedly lost xen-devel uid=108079 map_uid=809892
doveadm(...): Warning: mdbox /home/test/mdbox/storage: rebuilding indexes
doveadm(...): Panic: file mdbox-storage-rebuild.c: line 743 
(rebuild_update_refcounts): assertion failed: (map_uid < msgs[i]->map_uid)
doveadm(...): Error: Raw backtrace: 
/home/test/prefix/dovecot/lib/dovecot/libdovecot.so.0(+0x45b3a) 
[0x7fd2942f9b3a] -> 
/home/test/prefix/dovecot/lib/dovecot/libdovecot.so.0(default_fatal_handler+0x2a)
 [0x7fd2942f9bfa] -> 
/home/test/prefix/dovecot/lib/dovecot/libdovecot.so.0(i_fatal+0) 
[0x7fd2942cdc60] -> 
/home/test/prefix/dovecot/lib/dovecot/libdovecot-storage.so.0(mdbox_storage_rebuild_in_context+0x105e)
 [0x7fd2945838be] -> 
/home/test/prefix/dovecot/lib/dovecot/libdovecot-storage.so.0(mdbox_storage_rebuild+0x24)
 [0x7fd294583a54] -> 
/home/test/prefix/dovecot/lib/dovecot/libdovecot-storage.so.0(+0x3b525) 
[0x7fd294581525] -> 
/home/test/prefix/dovecot/lib/dovecot/libdovecot-storage.so.0(mailbox_close+0x1a)
 [0x7fd2945c047a] -> 
/home/test/prefix/dovecot/lib/dovecot/libdovecot-storage.so.0(mailbox_free+0x13)
 [0x7fd2945c04c3] -> /home/test/prefix/dovecot/bin/doveadm() [0x41383d] -> 
/home/test/prefix/dovecot/bin/doveadm() [0x40e8e7] -> 
/home/test/prefix/dovecot/bin/doveadm() [0x40f3ae] -> 
/home/test/prefix/dovecot/bin/doveadm(doveadm_mail_try_run+0x11e) [0x40f8be] -> 
/home/test/prefix/dovecot/bin/doveadm(main+0x3bd) [0x40e50d] -> 
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7fd293f1676d] -> 
/home/test/prefix/dovecot/bin/doveadm() [0x40e6f1]
Aborted

I will send you an Email with a download link for the files. 

Thanks for you help.

Regards,
Milan


-- 
Milan Holzäpfel 


[Dovecot] doveadm quota get -A via doveadm-proxy director with LDAP

2012-11-09 Thread Ramon Frontera
Hi,
We are running Dovecot 2.1.10
I want configure dovecot to do execute doveadm commands on the proxy server.
We have 1 proxy with director and 2 mail servers. we use LDAP
when I try to do doveadm quota get -u user it works fine.
The problem is when I try to do doveadm quota get -A ON PROXY

I have this result:
doveadm(first_user): Error: Proxy is missing destination host
doveadm: Error: Failed to iterate through some users
Username Quota name Type Value Limit
 %

in 10-auth.conf I have "!include auth-ldap.conf.ext"
in auth-ldap.conf.ext I hve:


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

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

and In dovecot-ldap.conf.ext I have:

uris = ldap://ldap:port
dn = x
dnpass = y
auth_bind = no
ldap_version = 3
base =base
scope = subtree
user_attrs = attributes
user_filter = (mail=%u)
pass_attrs = userPassword=password,uid=user=%L$,cn=proxy,=starttls=any-cert
pass_filter = (mail=%u)
iterate_attrs = uid=user
iterate_filter = (uid=*)


I don't know where is my error!!!

Thanks in advance
--
--
  Ramon Frontera Gallardo
  Universitat de les Illes Balears






[Dovecot] Sieve puts incoming message into inbox on any problem with submission_host

2012-11-09 Thread Christian Rohmann
Hello dovecot-users,

I have a question/suggestion regarding the submission_host feature of
the lda (either via dovecot-lda binary or lmtp) in combination with sieve.

When trying to deliver message to a mailbox and this message has a sieve
redirect action applied to it, dovecot is using the configured smtp
server to forward the message just fine. Unfortunately, if the server
configured for submission is unavailable, returns an error or cannot be
found via DNS, sieve will simply put the message into the inbox and be
done with it:

--- dovecot.log ---
dovecot: lda(user1): Error: lmtp client: DNS lookup of
idonotexist.example.com failed: Name or service not known
dovecot: lda(user1): Error: sieve: msgid=unspecified: failed to redirect
message to  (refer to server log for more information)
dovecot: lda(user1): sieve: msgid=unspecified: stored mail into mailbox
'INBOX'
dovecot: lda(user1): Error: sieve: execution of script
/mailboxes/user1/.dovecot.sieve failed, but implicit keep was successful
(user logfile /mailboxes/user1/.dovecot.sieve.log may reveal additional
details)
--- /dovecot.log ---

The same applies to vacation messages being sent out. Especially with an
(unconditional) redirect action, users don't expect to find messages in
their inbox. Also problems with the submission_host could very much be
temporary and a little delay in delivering a message is better then
putting it somewhere the user doesn't expect a message to be.

Is there any way to change the behavior of dovecot or the sieve plugin
to tempfail in case a message cannot be sent out?
I know that with multiple sieve actions it gets more complicated as
there could be corner cases were the first message can be sent via the
submission server and another message produced by the same sieve script
cannot.

I'd love sieve to behave like this:

a) if submission host is unreachable (hostname wrong, timeout, ...) ->
tempfail

b) if submission host returns 4xx error -> tempfail

c) if submission host returns 5xx error -> fail(-save) and just drop the
message into inbox or even have an option to reject the message
completely in this case.


In case of a tempfail response, the mta simply queues the message and
tries again later. In case of a permanent fail the mta will create a
bounce message to in form the sender.





Regards and have a great weekend,


Christian


[Dovecot] quota recalc does not work

2012-11-09 Thread Adrian Stoica

Hi

I upgraded dovecot from 2.0 to 2.1 , and now i face the quota recalc 
problem.

All settings are keep in mysql
Before , after a change in mailbox.quota field, i run doveadm quota 
recalc and all was ok ,

but now that command doesn't do anything.
After i change a quota for a user , i have to restart dovecot to get the 
new quota ,

or do a "doveadm reload" instead of recalc.
And the doveadm quota recalc -A" give me back a lot of 
"doveadm(username): Info: User no longer exists, skipping"


Any thoughts ?


# 2.1.10: /usr/dovecot21/etc/dovecot/dovecot.conf
# OS: Linux 2.6.35.4 i686
auth_cache_negative_ttl = 1 secs
auth_cache_size = 2 M
auth_failure_delay = 4 secs
auth_mechanisms = plain login digest-md5 cram-md5
auth_worker_max_count = 100
base_dir = /var/run/dovecot/
default_client_limit = 4096
default_internal_user = vmail
default_login_user = nobody
default_process_limit = 256
deliver_log_format = mail delivery from=%f subject=%s msgid=%m: %$
dict {
  acl = mysql:/usr/dovecot21/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
first_valid_uid = 1
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = *
mail_location = maildir:~/Maildir
mail_plugins = " quota acl trash notify mail_log"
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 {
  hidden = no
  list = children
  location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
  prefix = shared/%%u/
  separator = /
  subscriptions = no
  type = shared
}
namespace inbox {
  inbox = yes
  list = yes
  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 =
  separator = /
  subscriptions = yes
  type = private
}
passdb {
  args = /usr/dovecot21/etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  acl = vfile
  acl_shared_dict = proxy::acl
  autocreate = Trash
  autocreate2 = Drafts
  autocreate3 = Sent
  autosubscribe = Trash
  autosubscribe2 = Drafts
  autosubscribe3 = INBOX
  autosubscribe4 = Sent
  mail_log_events = delete mailbox_delete mailbox_rename
  mail_log_fields = box subject from msgid size
  quota = maildir:User quota
  quota_warning = storage=95%% quota-warning 95 %u
  quota_warning2 = storage=95%% quota-warning 90 %u
  quota_warning3 = storage=85%% quota-warning 85 %u
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  trash = /usr/dovecot21/etc/dovecot/dovecot-trash.conf.ext
}
postmaster_address = postmas...@dacris.net
protocols = imap
quota_full_tempfail = yes
rejection_subject = Rejected: %s: %r
service auth {
  unix_listener auth-client {
mode = 0666
user = vmail
  }
  unix_listener auth-userdb {
mode = 0666
user = vmail
  }
}
service dict {
  unix_listener dict {
user = vmail
  }
}
service imap-login {
  process_min_avail = 4
}
service imap-postlogin {
  executable = script-login /bin/imap.sh
  unix_listener imap-postlogin {
mode = 01232
  }
}
service imap {
  executable = imap imap-postlogin
  process_limit = 1024
  vsz_limit = 1 G
}
service quota-warning {
  executable = script /bin/quota_warning.sh
  unix_listener quota-warning {
user = vmail
  }
  user = vmail
}
ssl_cert = user_query = SELECT CONCAT('/srv/vmail/',mailbox.domain,'/%Ln') AS 
'home' ,'98' AS 'uid', '98' AS 'gid' , \
CONCAT('*:storage=', mailbox.quota,'M') AS quota_rule 
,"Trash:storage=+50M" AS quota_rule2 FROM mailbox WHERE \

mailbox.username = '%Ln' AND mailbox.domain = '%Ld' AND \
mailbox.active = '1'

iterate_query = SELECT username AS user , domain FROM mailbox WHERE 
active = '1'
<>

Re: [Dovecot] Mails don't get deleted after POP3 [SOLVED]

2012-11-09 Thread cullinan

Hi, there!

> I guess that dovecot cannot write to some files / has problems
> with write permissions. But it doesn't tell me anything...

The reason was indeed that dovecot couldn't write to /var/mail
I had to chown it to the mail group as it says in:

mail_privileged_group: mail

Thank you,

Regards,

Rob

Am 08.11.2012 22:21, schrieb culli...@rocketmail.com:

Hi, there!

Well, I am new to dovecot, so please be patient with me:

I have a virtual server and want to setup simple mail delivery.
postfix, saslauthd and dovecot basically work fine.

The only open issue is, that (I guess) dovecot doesn't remove the
mail when it's retrieved via pop3 from the server.
It keeps sending me the same emails again and again.
(The mail client (Thunderbird) is configured to remove the messages
from the server - it was working already.)

I guess that dovecot cannot write to some files / has problems
with write permissions. But it doesn't tell me anything...

Can you tell me, what configuration might be wrong or how can I
enable more debugging to see what dovecot is doing after
the mails got sent out via pop3?

Here is the configuration:

# dovecot -n
# 1.2.15: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.38-8-server x86_64 Ubuntu 11.04
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: pop3 pop3s
login_dir: /var/run/dovecot/login
login_executable: /usr/lib/dovecot/pop3-login
mail_privileged_group: mail
mbox_write_locks: fcntl dotlock
mail_executable: /usr/lib/dovecot/pop3
mail_plugin_dir: /usr/lib/dovecot/modules/pop3
auth default:
passdb:
  driver: pam
userdb:
  driver: passwd

-8<-

# dovecot -a
# 1.2.15: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.38-8-server x86_64 Ubuntu 11.04
base_dir: /var/run/dovecot
log_path:
info_log_path:
log_timestamp: %Y-%m-%d %H:%M:%S
syslog_facility: mail
protocols: pop3 pop3s
listen: *
ssl_listen:
ssl: yes
ssl_ca_file:
ssl_cert_file: /etc/ssl/certs/dovecot.pem
ssl_key_file: /etc/ssl/private/dovecot.pem
ssl_key_password:
ssl_parameters_regenerate: 168
ssl_cipher_list:
ssl_cert_username_field: commonName
ssl_verify_client_cert: no
disable_plaintext_auth: yes
verbose_ssl: no
shutdown_clients: yes
nfs_check: yes
version_ignore: no
login_dir: /var/run/dovecot/login
login_executable: /usr/lib/dovecot/pop3-login
login_user: dovecot
login_greeting: Dovecot ready.
login_log_format_elements: user=<%u> method=%m rip=%r lip=%l %c
login_log_format: %$: %s
login_process_per_connection: yes
login_chroot: yes
login_trusted_networks:
login_process_size: 64
login_processes_count: 3
login_max_processes_count: 128
login_max_connections: 256
valid_chroot_dirs:
mail_chroot:
max_mail_processes: 512
mail_max_userip_connections: 10
verbose_proctitle: no
first_valid_uid: 500
last_valid_uid: 0
first_valid_gid: 1
last_valid_gid: 0
mail_access_groups:
mail_privileged_group: mail
mail_uid:
mail_gid:
mail_location:
mail_cache_fields:
mail_never_cache_fields: imap.envelope
mail_cache_min_mail_count: 0
mailbox_idle_check_interval: 30
mail_debug: no
mail_full_filesystem_access: no
mail_max_keyword_length: 50
mail_save_crlf: no
mmap_disable: no
dotlock_use_excl: yes
fsync_disable: no
mail_nfs_storage: no
mail_nfs_index: no
mailbox_list_index_disable: yes
lock_method: fcntl
maildir_stat_dirs: no
maildir_copy_with_hardlinks: yes
maildir_copy_preserve_filename: no
maildir_very_dirty_syncs: no
mbox_read_locks: fcntl
mbox_write_locks: fcntl dotlock
mbox_lock_timeout: 300
mbox_dotlock_change_timeout: 120
mbox_min_index_size: 0
mbox_dirty_syncs: yes
mbox_very_dirty_syncs: no
mbox_lazy_writes: yes
dbox_rotate_size: 2048
dbox_rotate_min_size: 16
dbox_rotate_days: 1
mail_drop_priv_before_exec: no
mail_executable: /usr/lib/dovecot/pop3
mail_process_size: 256
mail_plugins:
mail_plugin_dir: /usr/lib/dovecot/modules/pop3
mail_log_prefix: %Us(%u):
mail_log_max_lines_per_sec: 10
imap_max_line_length: 65536
imap_capability:
imap_client_workarounds:
imap_logout_format: bytes=%i/%o
imap_id_send:
imap_id_log:
imap_idle_notify_interval: 120
pop3_no_flag_updates: no
pop3_enable_last: no
pop3_reuse_xuidl: no
pop3_save_uidl: no
pop3_lock_session: no
pop3_uidl_format: %08Xu%08Xv
pop3_client_workarounds:
pop3_logout_format: top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
dict_db_config:
dict_process_count: 1
managesieve_max_line_length: 65536
managesieve_logout_format: bytes=%i/%o
managesieve_implementation_string: dovecot
auth default:
mechanisms: plain
realms:
default_realm:
cache_size: 0
cache_ttl: 3600
cache_negative_ttl: 3600
executable: /usr/lib/dovecot/dovecot-auth
user: root
chroot:
username_chars: 
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
username_translation:
username_format:
master_user_separator:
anonymous_username: anonymous
krb5_keytab:
gssapi_hostname:
winbind_helper_path: /usr/bin/ntlm_auth
failure_delay: 2
verbose: no
debug: no
debug_passwords: no
ssl_require_client_cert: no
ssl_username_from_cert: no
use