Re: [Dovecot] mailbox count folders issues
On Thu, 29 Oct 2009 12:38:22 -0400 Timo Sirainen t...@iki.fi wrote: On Thu, 2009-10-29 at 12:11 +0200, Nikita Koshikov wrote: On Wed, 28 Oct 2009 14:17:52 -0400 Timo Sirainen t...@iki.fi wrote: On Wed, 2009-10-28 at 10:39 +0200, Nikita Koshikov wrote: Oct 26 15:26:38 IMAP(gozhd...@domain.com): Panic: data stack: Out of memory when allocating 268435472 bytes Oct 26 15:26:38 IMAP(gozhd...@domain.com): Error: *** glibc detected *** imap: double free or corruption (!prev): 0x0812ba00 *** Oh, the double free is because of broken handling of out-of-memory error. http://hg.dovecot.org/dovecot-1.2/rev/acfef2f0fec3 probably fixes that. Sorry, but this patch didn't help. Not with the out of memory, but did it get rid of the double free or corruption error? The valgrind error is the same. I'll attach current valgrid output. Also, I have noticed, that valgrind writes vgcore.* files in user's homedir, I attach gdb backtrace from that file. Hmm. So I guess there's no memory corruption causing this, but I don't really see why it would try to allocate that much memory. 268435472 in hex is 0x1010, which is an interesting number but doesn't really help much either. 268435456 is 256M which is max mail_process_size config setting, maybe this values is in use ? I guess it's just exponentially increasing the buffer size then until it reaches mail_process_size. I recompile dovecot binaries with debug symbols, but seemed that gdb backtrace is broken. Yeah, it is. Hmm. Since the core isn't working, can you attach gdb to imap process while it's still running? So something like: - open the account so imap process starts - gdb -p imap process pid - gdb command: c - cause imap to crash - gdb should stop - gdb command: bt full The problem, that webmail don't keep permanent connection, so when I login - there are about 2-3 imap-login\disconnected log entries. And when I try to get directory listing the new process created for this operation and then crushes. Can gdb work in non-interactive mode ? so I can write wrapper to handle debug output ? Also I enable imap_debug feature on webmail client, as you say - it stop working after client trying to access All virtual folder. The appropriate imap-session log part is also attached. Note, I can't reproduce panic with Thunderbird, this happens in roundcube only. All virtual folder config is: cat /var/mail/virtual/.all/dovecot-virtual #All messages in all folders * all vcore-gdb.trace Description: Binary data dovecot-error.valgrind Description: Binary data =cut== [30-Oct-2009 10:30:11 +0200]: S: * LIST (\HasNoChildren) / 1 [30-Oct-2009 10:30:11 +0200]: S: * LIST (\HasNoChildren) / Drafts [30-Oct-2009 10:30:11 +0200]: S: * LIST (\HasChildren) / Dealers [30-Oct-2009 10:30:11 +0200]: S: * LIST (\HasNoChildren) / Dealers/Kapriz [30-Oct-2009 10:30:11 +0200]: S: * LIST (\HasNoChildren) / Dealers/1 Inbox [30-Oct-2009 10:30:11 +0200]: S: * LIST (\HasNoChildren) / Dealers/2 Outbox [30-Oct-2009 10:30:11 +0200]: S: * LIST (\HasNoChildren) / Spam [30-Oct-2009 10:30:11 +0200]: S: * LIST (\HasNoChildren) / Trash [30-Oct-2009 10:30:11 +0200]: S: * LIST (\HasNoChildren) / INBOX [30-Oct-2009 10:30:11 +0200]: S: * LIST (\Noselect \HasChildren) / Company [30-Oct-2009 10:30:11 +0200]: S: * LIST (\HasNoChildren) / Company/all [30-Oct-2009 10:30:11 +0200]: S: * LIST (\HasNoChildren) / Company/favorites [30-Oct-2009 10:30:11 +0200]: S: lmb OK List completed. [30-Oct-2009 10:30:12 +0200]: C: lsb LSUB * [30-Oct-2009 10:30:12 +0200]: S: * LSUB () / Sent [30-Oct-2009 10:30:12 +0200]: S: * LSUB () / Drafts [30-Oct-2009 10:30:12 +0200]: S: * LSUB () / Spam [30-Oct-2009 10:30:12 +0200]: S: * LSUB () / 1 [30-Oct-2009 10:30:12 +0200]: S: * LSUB () / INBOX [30-Oct-2009 10:30:12 +0200]: S: * LSUB () / Business correspondence/Inbox [30-Oct-2009 10:30:12 +0200]: S: * LSUB () / Business correspondence/Outbox [30-Oct-2009 10:30:12 +0200]: S: * LSUB () / Trash [30-Oct-2009 10:30:12 +0200]: S: lsb OK Lsub completed. [30-Oct-2009 10:30:12 +0200]: C: sel1 SELECT INBOX [30-Oct-2009 10:30:12 +0200]: S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk) [30-Oct-2009 10:30:12 +0200]: S: * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk \*)] Flags permitted. [30-Oct-2009 10:30:12 +0200]: S: * 37 EXISTS [30-Oct-2009 10:30:12 +0200]: S: * 0 RECENT [30-Oct-2009 10:30:12 +0200]: S: * OK [UIDVALIDITY 1245314909] UIDs valid [30-Oct-2009 10:30:12 +0200]: S: * OK [UIDNEXT 39] Predicted next UID [30-Oct-2009 10:30:12 +0200]: S: * OK [HIGHESTMODSEQ 1] Highest [30-Oct-2009 10:30:12 +0200]: S: sel1 OK [READ-WRITE] Select completed. [30-Oct-2009 10:30:12 +0200]: C: sel1 SELECT Drafts [30-Oct-2009 10:30:12 +0200]: S: * OK [CLOSED] Previous mailbox closed. [30-Oct-2009 10:30:12 +0200]: S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) [30-Oct-2009 10:30:12 +0200]: S: * OK
Re: [Dovecot] expire plugin + --exec-mail in 1.2.6 version
On Thu, 29 Oct 2009 13:10:37 -0400 Timo Sirainen t...@iki.fi wrote: On Wed, 2009-10-28 at 10:30 +0200, Nikita Koshikov wrote: The problem that some users have their own quotas stored in ldap. So the quota_rule should be returned by userdb lookup from ldap, right? Yes, and it's working fine with deliver and general imap process, it only failed(reset to general quota_rule) after expire-rool.sh script finished his duties. Info: auth input: uid=8 Info: auth input: gid=12 Info: auth input: home=/data/mail/domain.com/koshikov.n Info: auth input: mail=maildir:~/data This should have listed quota_rule. The problematic user is sr, and it has quota_rule option(running with --test) (Thu Oct 29 07:45:18 2009) Info: auth input: quota_rule=*:bytes=1048576 ^ returned from ldap Info: auth input: uid=8 Info: auth input: gid=12 Info: auth input: home=/data/mail/domain.com/sr Info: auth input: mail=maildir:~/data Info: Namespace: type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes Info: maildir: data=~/data Info: maildir++: root=/data/mail/domain.com/sr/data, index=, control=, inbox=/data/mail/domain.com/sr/data Info: Namespace: type=private, prefix=Agromat/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no Info: virtual: data=/var/mail/virtual:INDEX=MEMORY:LAYOUT=maildir++ Info: maildir++: root=/var/mail/virtual, index=, control=, inbox= Info: Namespace : Using permissions from /data/mail/domain.com/sr/data: mode=0700 gid=-1 Info: trash plugin: Added 'Trash' with priority 1 Info: trash plugin: Added 'Spam' with priority 2 Info: s...@domain.com/Spam: seq=1 uid=405: Expunge Info: s...@domain.com/Spam: seq=2 uid=406: Expunge Info: s...@domain.com/Spam: seq=3 uid=407: Expunge Info: s...@domain.com/Spam: timestamp 1256710764 (Wed Oct 28 08:19:24 2009) - 125698 (Sat Oct 31 11:06:40 2009) If dovecot -n output is needed, please let me know. If the above doesn't help, then yeah, dovecot -n and dovecot-ldap.conf contents. dovecot -n: # 1.2.6: /etc/dovecot/dovecot.conf # OS: Linux 2.6.26-gentoo-r4 i686 Gentoo Base System release 1.12.11.1 log_path: /var/log/dovecot/dovecot-error.log info_log_path: /var/log/dovecot/dovecot.log protocols: imaps managesieve ssl_cert_file: /etc/ssl/dovecot/imaps.crt ssl_key_file: /etc/ssl/dovecot/imaps.key login_dir: /var/run/dovecot/login login_executable(default): /usr/libexec/dovecot/imap-login login_executable(imap): /usr/libexec/dovecot/imap-login login_executable(managesieve): /usr/libexec/dovecot/managesieve-login login_greeting: Server ready. login_processes_count: 20 login_max_processes_count: 512 mail_max_userip_connections(default): 20 mail_max_userip_connections(imap): 20 mail_max_userip_connections(managesieve): 10 first_valid_uid: 8 last_valid_uid: 8 first_valid_gid: 12 last_valid_gid: 12 mail_drop_priv_before_exec: yes mail_executable(default): /usr/libexec/dovecot/imap mail_executable(imap): /usr/libexec/dovecot/imap mail_executable(managesieve): /usr/libexec/dovecot/managesieve mail_plugins(default): quota imap_quota trash expire zlib autocreate virtual mail_plugins(imap): quota imap_quota trash expire zlib autocreate virtual mail_plugins(managesieve): mail_plugin_dir(default): /usr/lib/dovecot/imap mail_plugin_dir(imap): /usr/lib/dovecot/imap mail_plugin_dir(managesieve): /usr/lib/dovecot/managesieve imap_client_workarounds(default): delay-newmail imap_client_workarounds(imap): delay-newmail imap_client_workarounds(managesieve): namespace: type: private separator: / location: maildir:~/data inbox: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: Company/ location: virtual:/var/mail/virtual:INDEX=MEMORY:LAYOUT=maildir++ list: yes lda: postmaster_address: postmas...@domain.com hostname: mail.domain.com mail_plugins: quota trash expire sieve virtual quota_full_tempfail: yes sendmail_path: /usr/sbin/sendmail auth_socket_path: /var/run/dovecot/auth-master log_path: /var/log/dovecot/dovecot-deliver.log info_log_path: /var/log/dovecot/dovecot-deliver.log global_script_path: /etc/dovecot/sieve/default.sieve sieve_global_dir: /etc/dovecot/sieve auth default: mechanisms: plain login default_realm: domain.com cache_size: 10240 cache_negative_ttl: 0 user: dovecot_auth master_user_separator: * worker_max_count: 50 passdb: driver: passwd-file args: /etc/dovecot/passdb/master.pwd master: yes passdb: driver: passwd-file args: /etc/dovecot/passdb/users.pwd passdb: driver: ldap args: /etc/dovecot/dovecot-ldap.conf userdb: driver: prefetch userdb: driver: ldap args: /etc/dovecot/dovecot-userdb-ldap.conf userdb: driver: passwd-file args: /etc/dovecot/passdb/users.pwd socket: type: listen client: path: /var/run/dovecot/auth-client mode: 432 user: mail group: dovecot_auth master:
Re: [Dovecot] How to see if sieve is active ?
Steffen Kaiser schreef: On Thu, 29 Oct 2009, Thomas Leuxner wrote: put something in the LDA section like this to record the activities: log_path = /var/log/dovecot-deliver.log info_log_path = /var/log/dovecot-deliver.log The user deliver runs as probably may not write to this location, for testing you should chown a+rw these files or use syslog. Hi, This morning I enabled dovecot as virtual transport, and everything seemed OK, until I got complaints ;-). After investigation I found that when aliasses are mapped to multiple recipients I get following error : Oct 30 09:25:19 lace3 postfix/pipe[19729]: 8A77E2D5B5B: to=some.b...@some.where.org, relay=dovecot, delay=2390, delays=2390/0.04/0/0.01, dsn=4.3.5, status=deferred (mail system configuration error) Oct 30 09:25:19 lace3 postfix/pipe[19729]: warning: pipe flag `D' requires dovecot_destination_recipient_limit = 1 At the same time I made dovecot the virtual transport I did add : dovecot_destination_recipient_limit = 1 This is what I use in postfix's master.cf : dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d $(recipient) Dovecot logfiles don't show anything. The errors are in the postfix log. Any help ? Regards, Koenraad Lelong.
Re: [Dovecot] How to see if sieve is active ?
On 10/30/2009, Koenraad Lelong (dove...@ace-electronics.be) wrote: At the same time I made dovecot the virtual transport I did add : dovecot_destination_recipient_limit = 1 Postconf -n output?
Re: [Dovecot] How to see if sieve is active ?
On 10/30/2009 6:25 AM, Charles Marcus wrote: On 10/30/2009, Koenraad Lelong (dove...@ace-electronics.be) wrote: At the same time I made dovecot the virtual transport I did add : dovecot_destination_recipient_limit = 1 Postconf -n output? Nevermind, I forgot postconf -n doesn't 'see' this parameter...
Re: [Dovecot] How to see if sieve is active ?
Charles Marcus schreef: On 10/30/2009 6:25 AM, Charles Marcus wrote: On 10/30/2009, Koenraad Lelong (dove...@ace-electronics.be) wrote: At the same time I made dovecot the virtual transport I did add : dovecot_destination_recipient_limit = 1 Postconf -n output? Nevermind, I forgot postconf -n doesn't 'see' this parameter... Hi Charles, Included is the full main.cf. Don't forget I reverted back to virtual transport until I know what's wrong with the dovecot transport. Regards, Koenraad Lelong. command_directory = /usr/sbin daemon_directory = /usr/lib/postfix myhostname = mailbox.ace-electronics.be mydomain = ace-electronics.be local_recipient_maps = unknown_local_recipient_reject_code = 550 mynetworks = 192.168.0.0/20, 127.0.0.0/8 relayhost = out.telenet.be home_mailbox = Maildir/ header_checks = pcre:/etc/postfix/maps/header_checks.short nested_header_checks = debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id sleep 5 sendmail_path = /usr/sbin/sendmail newaliases_path = /usr/bin/newaliases mailq_path = /usr/bin/mailq setgid_group = maildrop html_directory = /usr/share/doc/packages/postfix/html manpage_directory = /usr/share/man sample_directory = /usr/share/doc/packages/postfix/samples readme_directory = /usr/share/doc/packages/postfix/README_FILES inet_protocols = all biff = no mail_spool_directory = /var/mail canonical_maps = hash:/etc/postfix/canonical relocated_maps = hash:/etc/postfix/relocated transport_maps = hash:/etc/postfix/transport virtual_alias_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf virtual_mailbox_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf virtual_mailbox_limit = 1024 virtual_gid_maps = static:97 virtual_mailbox_base = /net/mail virtual_transport = virtual dovecot_destination_recipient_limit = 1 virtual_uid_maps = static:499 virtual_minimum_uid = 499 sender_canonical_maps = hash:/etc/postfix/sender_canonical masquerade_exceptions = root masquerade_classes = envelope_sender, header_sender, header_recipient program_directory = /usr/lib/postfix masquerade_domains = mydestination = $myhostname, localhost.$mydomain defer_transports = disable_dns_lookups = no mailbox_command = mailbox_transport = strict_8bitmime = no disable_mime_output_conversion = no smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/spammers strict_rfc821_envelopes = no smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,reject_rbl_client zen.spamhaus.org smtp_sasl_auth_enable = no alias_maps = hash:/etc/aliases mailbox_size_limit = 0 message_size_limit = 1024 content_filter = smtp-amavis:[127.0.0.1]:10024 disable_vrfy_command = yes smtpd_sasl_auth_enable = yes smtpd_sasl_localdomain = broken_sasl_auth_clients = yes smtpd_use_tls = yes smtpd_tls_auth_only = yes smtpd_tls_key_file = /etc/postfix/certificate/mailboxkey.pem smtpd_tls_cert_file = /etc/postfix/certificate/mailbox.pem smtpd_tls_CAfile = /etc/postfix/certificate/cacert.org.pem smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom
[Dovecot] Dovecot in-house benchmarking
Hi, Before some major changes in our infrastructure, I was interested in the performance impact of moving indexes to our NAS (Emc Celerra v5.5). So I downloaded both dovecot-1.1.19 and dovecot-1.2.6, compiled them and wrote 2 confs for each of them, one with local indexes and another with indexes in the NAS. Then I created 19 pam users, and tested system performance this way: - uninstall current installed version - install a new version - start dovecot - for each user run: imaptest user=user pass=pass host=localhost port=143 mbox=${MBOX} seed=123 secs=300 | tail -1 file - stop dovecot I'm not sure if these tests are real, but our results are: * In our conf, 1.1.19 and 1.2.6 performance are roughly the same * Moving the indexes to our NAS makes the system 3 times slower As we currently only have 1 system accessing mails or indexes, I tried later with nfs_* = no, and mmap_disable = no. This makes performance 10% better in any situation. Our testing setup (very close to the real one) - Dell PowerEdge 2850, 2 P4 Xeon 3GHz, 3GB RAM - RHEL 4.7 (not sure about this, the last RHEL4) 32 bits - mailboxes are always in a nfs filesystem - for testing mbox file I've used dovecot-cvs.mbox I've attached a couple of graphs to show this results (I've a lot of them, but result are pretty close from one to another). Also, dovecot -n output for 1.2.6 with indexes in the NAS. Only needed changes have been applied from one conf to another. If you feel that the benchmark can be more real with some changes, just tell me. Also, if you are interested in the rest of graphs or date, tell me. Next week I'll be quite busy, but as soon as possible I'll test with an iSCSI disk for indexes. Aaagur. -- Joseba Torre. Vicegerencia de TICs, área de Explotación attachment: nfs_test_126.pngattachment: local vs nas indexes-fetch.png# 1.2.6: /usr/local/etc/dovecot.conf # OS: Linux 2.6.9-89.0.11.ELsmp i686 Red Hat Enterprise Linux AS release 4 (Nahant Update 8) syslog_facility: local1 protocols: imap imaps pop3 pop3s listen(default): *:143 listen(imap): *:143 listen(pop3): *:110 ssl_listen(default): *:993 ssl_listen(imap): *:993 ssl_listen(pop3): *:995 ssl_cert_file: /usr/share/ssl/certs/lgux51.pem ssl_key_file: /usr/share/ssl/certs/lgux51.pem disable_plaintext_auth: no login_dir: /usr/local/var/run/dovecot/login login_executable(default): /usr/local/libexec/dovecot/imap-login login_executable(imap): /usr/local/libexec/dovecot/imap-login login_executable(pop3): /usr/local/libexec/dovecot/pop3-login login_process_per_connection: no login_max_processes_count: 256 max_mail_processes: 1024 mail_max_userip_connections: 1000 first_valid_uid: 100 mail_location: maildir:~/Maildir:INDEX=/var/dovecot-nas/%u/indices:CONTROL=/var/dovecot-nas/%u/control lock_method: dotlock mail_executable(default): /usr/local/libexec/dovecot/imap mail_executable(imap): /usr/local/libexec/dovecot/imap mail_executable(pop3): /usr/local/libexec/dovecot/pop3 mail_plugin_dir(default): /usr/local/lib/dovecot/imap mail_plugin_dir(imap): /usr/local/lib/dovecot/imap mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3 pop3_uidl_format(default): %08Xu%08Xv pop3_uidl_format(imap): %08Xu%08Xv pop3_uidl_format(pop3): %v.%u lda: postmaster_address: joseba.to...@ehu.es mail_plugins: quota cmusieve mail_plugins_dir: /usr/local/lib/dovecot/lda log_path: info_log_path: syslog_facility: local2 auth default: cache_size: 1000 cache_ttl: 6000 master_user_separator: * debug: yes passdb: driver: ldap args: /usr/local/etc/dovecot-ldap.conf passdb: driver: pam passdb: driver: passwd-file args: /usr/local/etc/dovecot-master.conf master: yes userdb: driver: prefetch userdb: driver: passwd socket: type: listen master: path: /var/run/dovecot/auth-master mode: 384 plugin: quota: fs
Re: [Dovecot] expire plugin + --exec-mail in 1.2.6 version
On Thu, 29 Oct 2009 13:10:37 -0400 Timo Sirainen t...@iki.fi wrote: On Wed, 2009-10-28 at 10:30 +0200, Nikita Koshikov wrote: The problem that some users have their own quotas stored in ldap. So the quota_rule should be returned by userdb lookup from ldap, right? One more clean example. For user koshiko...@domain.com I change quota in AD to 600M(default user quota is 512M,). After successful login to imap account, maildirsize is(first 2 lines): 629145600S 260658345 5484 So, quota value read from ldap database and applied to user's mailbox. Then I run /usr/sbin/dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool.sh --test: Info: Loading modules from directory: /usr/lib/dovecot/imap Info: Module loaded: /usr/lib/dovecot/imap/lib10_quota_plugin.so Info: Module loaded: /usr/lib/dovecot/imap/lib11_trash_plugin.so Info: Module loaded: /usr/lib/dovecot/imap/lib20_autocreate_plugin.so Info: Module loaded: /usr/lib/dovecot/imap/lib20_expire_plugin.so Info: Module loaded: /usr/lib/dovecot/imap/lib20_virtual_plugin.so Info: Module loaded: /usr/lib/dovecot/imap/lib20_zlib_plugin.so Info: Quota root: name=Mailbox quota backend=maildir args= Info: Quota rule: root=Mailbox quota mailbox=* bytes=524288000 messages=0 Info: Quota rule: root=Mailbox quota mailbox=Trash bytes=52428800 (10%) messages=0 Info: Quota warning: bytes=471859200 (90%) messages=0 command=/etc/dovecot/plugins/quota_warning.sh 90 Info: expire: pattern=Trash type=expunge secs=2592000 Info: expire: pattern=Spam type=expunge secs=2592000 Info: auth input: quota_rule=*:bytes=629145600 Info: auth input: uid=8 Info: auth input: gid=12 Info: auth input: home=/data/mail/domain.com/koshikov.n Info: auth input: mail=maildir:~/data Info: Namespace: type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes Info: maildir: data=~/data Info: maildir++: root=/data/mail/domain.com/koshikov.n/data, index=, control=, inbox=/data/mail/domain.com/koshikov.n/data Info: Namespace: type=private, prefix=Agromat/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no Info: virtual: data=/var/mail/virtual:INDEX=MEMORY:LAYOUT=maildir++ Info: maildir++: root=/var/mail/virtual, index=, control=, inbox= Info: Namespace : Using permissions from /data/mail/domain.com/koshikov.n/data: mode=0700 gid=-1 Info: trash plugin: Added 'Trash' with priority 1 Info: trash plugin: Added 'Spam' with priority 2 Info: koshiko...@domain.com/Spam: seq=1 uid=1933: Expunge Info: koshiko...@domain.com/Spam: timestamp 1256902423 (Fri Oct 30 13:33:43 2009) - 1256903611 (Fri Oct 30 13:53:31 2009) Quota_rule are different from auth section and quota root\rule section. After expire-tool expunges e-mails, the maildirsize file become: 524288000S 260686038 5487 Which is default quota_rule value, not from ldap database.
[Dovecot] Author wanted for Dovecot article in Linux Magazine (Germany)
Hi list, I am an editor at the German Linux Magazine and I am searching for an author or input on Dovecot, its advantages and especially the recent features. I had organized some authors, but unfortunately they don't have time right now. :-) Nevertheless I heard many positive comments on Dovecot. I can write or help writing the article, but I would love to have some input from an experienced dovecot admin - perhaps with some stunning, unusual setup that might interest our readers (most of them are skilled admins and programmers...) Something that can't be easily done with other mail servers would be great, something spectacular that is suitable to convince an mail admin why he should migrate to Dovecot. It won't be long, just about 2-3 pages (a maximum of 15000 characters) including screen shots and/or listings, code, 10 Links and an author's biography with photo. Anybody interested? That would be great, feel free to send me a mail to: mfeil...@linuxnewmedia.de Unfortunately, we don't have much time, there's only two weeks left, but I will help and do a lot of work for the article. And don't worry about language! :-) Thanks a lot! -- Best Regards - Mit freundlichen Gruessen Markus Feilner - Feilner IT Linux GIS Linux Solutions, Training, Seminare und Workshops - auch Inhouse Koetztingerstr 6c93057 Regensburg Telefon:+49 941 8 10 79 89 Mobil: +49 170 3 02 70 92 WWW: www.feilner-it.net mail: mfeil...@feilner-it.net Bei Xing: http://www.xing.com/profile/Markus_Feilner -- My OpenVPN book - OPENVPN : Building and Integrating Virtual Private Networks http://www.packtpub.com/openvpn/book My new book - Out now: SCALIX Linux Administrator's Guide http://www.packtpub.com/scalix/book
Re: [Dovecot] expire plugin + --exec-mail in 1.2.6 version
On Fri, 2009-10-30 at 14:03 +0200, Nikita Koshikov wrote: The problem that some users have their own quotas stored in ldap. See if the attached patch helps? I'm a bit afraid that it could also break something. If it does, there's really no easy way to get this fixed before v2.0. diff -r a0d72e0d88dd src/plugins/expire/expire-tool.c --- a/src/plugins/expire/expire-tool.c Thu Oct 29 17:40:33 2009 -0400 +++ b/src/plugins/expire/expire-tool.c Fri Oct 30 13:15:45 2009 -0400 @@ -52,6 +52,7 @@ /* user no longer exists */ return 0; } + module_dir_init(modules); ctx-mail_user = mail_user_init(user); mail_user_set_home(ctx-mail_user, getenv(HOME)); @@ -64,6 +65,7 @@ { mail_user_unref(ctx-mail_user); i_free_and_null(ctx-user); + module_dir_deinit(modules); } static int @@ -265,8 +267,6 @@ mail_storage_register_all(); mailbox_list_register_all(); - module_dir_init(modules); - expire_get_global_mail_ids(); base_dir = getenv(BASE_DIR); signature.asc Description: This is a digitally signed message part
[Dovecot] More dovecot-2.0.alpha2 problems
1. My earlier patch to fix a typo in array.h was not good enough. Here's one that not only compiles, but also doesn't crash: --- dovecot-2.0.alpha2/src/lib/array.h 2009-10-08 10:04:35.0 -0500 +++ dovecot/src/lib/array.h 2009-10-29 20:47:47.0 -0500 @@ -72,8 +72,7 @@ (elem)++) # define array_foreach_modifiable(array, elem) \ for (elem = ARRAY_TYPE_CAST_MODIFIABLE(array) \ - buffer_get_modifiable_data((array)-arr.buffer, NULL)) + \ - (array)-arr.buffer-used; \ + buffer_get_modifiable_data((array)-arr.buffer, NULL); \ elem != CONST_PTR_OFFSET(*(array)-v, (array)-arr.buffer- used); \ (elem)++) #endif 2. Sometimes I see a flood of these errors in the log: [...] Fri Oct 30 14:45:23 server dovecot[9585]: imap: service(imap): dup2s failed Fri Oct 30 14:45:23 server dovecot[9585]: imap-login: Login: user=userX, method=PLAIN, rip=192.168.1.8, lip=192.168.1.7, pid=11362 Fri Oct 30 14:45:23 server dovecot[9585]: imap(pid 11362 user userX): Connection closed bytes=118/934 Fri Oct 30 14:45:23 server dovecot[9585]: imap: dup2(-1, 5) failed: Bad file descriptor Fri Oct 30 14:45:23 server dovecot[9585]: imap: service(imap): dup2s failed Fri Oct 30 14:45:23 server dovecot[9585]: imap-login: Login: user=userY, method=PLAIN, rip=192.168.1.8, lip=192.168.1.7, pid=11363 Fri Oct 30 14:45:23 server dovecot[9585]: imap(pid 11363 user userY): Connection closed bytes=118/972 Fri Oct 30 14:45:23 server dovecot[9585]: imap: dup2(-1, 5) failed: Bad file descriptor Fri Oct 30 14:45:23 server dovecot[9585]: imap: service(imap): dup2s failed [...] 3. imap crashed when using mdbox: Fri Oct 30 14:54:49 server dovecot[11491]: imap(pid 11938 user userZ): dbox /Volumes/Mail/userZ/mailboxes/INBOX/Sent/dbox-Mails: map uidvalidity mismatch (1256918863 vs 1256919073) Fri Oct 30 14:54:49 server dovecot[11491]: imap(pid 11938 user userZ): Disconnected: Internal error occurred. Refer to server log for more information. [2009-10-30 14:54:49] bytes=553447/2146313 Fri Oct 30 14:54:49 server dovecot[11491]: imap(pid 11938 user userZ): dbox /Volumes/Mail/userZ/storage: rebuilding indexes Fri Oct 30 14:54:49 server dovecot[11491]: imap(pid 11938 user user): Panic: file dbox-file.c: line 308 (dbox_file_get_mail_stream): assertion failed: (file-input != NULL) 0 libSystem.B.dylib 0x7fff875f4eba __kill + 10 1 libSystem.B.dylib 0x7fff875f4eac kill + 14 2 libSystem.B.dylib 0x7fff87683519 raise + 25 3 libSystem.B.dylib 0x7fff876a4e12 abort + 90 4 libdovecot.0.dylib 0x0001000e8027 i_set_failure_file + 275 5 libdovecot.0.dylib 0x0001000e6eef i_set_failure_internal + 103 6 libdovecot.0.dylib 0x0001000e76d2 i_debug + 0 7 libdovecot-storage.0.dylib 0x00010005768a dbox_file_seek_next + 0 8 libdovecot-storage.0.dylib 0x00010005772a dbox_file_seek_next + 160 9 libdovecot-storage.0.dylib 0x000100084266 mdbox_storage_rebuild + 1406 10 libdovecot-storage.0.dylib 0x000100085617 mdbox_mailbox_alloc + 1271 11 libdovecot-storage.0.dylib 0x0001000271e1 mail_storage_unref + 93 12 libdovecot-storage.0.dylib 0x000100023386 mail_namespace_get_storage_name + 162 13 libdovecot-storage.0.dylib 0x000100023429 mail_namespaces_deinit + 35 14 libdovecot-storage.0.dylib 0x000100028c39 mail_user_alloc + 311 15 libdovecot-storage.0.dylib 0x00010002889a mail_user_unref + 40 16 imap0x00017fa4 client_destroy + 404 17 imap0x00016eb3 client_input + 87 18 libdovecot.0.dylib 0x0001000eca50 io_loop_handler_run + 224 19 libdovecot.0.dylib 0x0001000ed55a io_loop_run + 56 20 libdovecot.0.dylib 0x0001000e393d master_service_run + 27 21 imap0x0001fb45 main + 557 22 imap0x00010dd0 start + 52 Hope this helps.
Re: [Dovecot] pop3-login: Fatal: io_loop_handle_add: epoll_ctl(1, 5):
I'm having this same issue in one of my servers since I updated my Dovecot from 1.2.4 to 1.2.5. The problem still with 1.2.6 too. I cannot find what is triggering the problem, but it happens aleatory and I need to restart the dovecot daemon to make the service run properly. My info: $ dovecot -n # 1.2.6: /etc/dovecot.conf # OS: Linux 2.6.18-164.el5PAE i686 CentOS release 5.4 (Final) protocols: imap imaps pop3 pop3s listen: xx.xx.xx.xx ssl_cert_file: /etc/httpd/conf/ssl.crt/server.crt ssl_key_file: /etc/httpd/conf/ssl.key/server.key disable_plaintext_auth: no login_dir: /var/run/dovecot/login login_executable(default): /usr/libexec/dovecot/imap-login login_executable(imap): /usr/libexec/dovecot/imap-login login_executable(pop3): /usr/libexec/dovecot/pop3-login login_processes_count: 16 verbose_proctitle: yes mail_access_groups: mail mail_location: maildir:~/Maildir mail_executable(default): /usr/libexec/dovecot/imap mail_executable(imap): /usr/libexec/dovecot/imap mail_executable(pop3): /usr/libexec/dovecot/pop3 mail_plugins(default): quota imap_quota mail_plugins(imap): quota imap_quota mail_plugins(pop3): mail_plugin_dir(default): /usr/lib/dovecot/imap mail_plugin_dir(imap): /usr/lib/dovecot/imap mail_plugin_dir(pop3): /usr/lib/dovecot/pop3 auth default: username_chars: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ verbose: yes passdb: driver: passwd-file args: username_format=%n /etc/virtual/%d/passwd userdb: driver: passwd-file args: username_format=%n /etc/virtual/%d/passwd plugin: quota: maildir quota_rule: *:storage=200M quota_rule2: Trash:storage=100%% Something else I can help? Or additional information that I can provide? -- Victor Benincasa
[Dovecot] Another 2.0.alpha2 panic
This time using maildir instead of mdbox. Fri Oct 30 21:08:16 server dovecot[27407]: lda(pid 27407 user userW): Panic: file istream.c: line 104 (i_stream_read): assertion failed: ((size_t)ret+old_size == _stream-pos - _stream-skip) 0 libSystem.B.dylib 0x7fff875f4eba __kill + 10 1 libSystem.B.dylib 0x7fff875f4eac kill + 14 2 libSystem.B.dylib 0x7fff87683519 raise + 25 3 libSystem.B.dylib 0x7fff876a4e12 abort + 90 4 libdovecot.0.dylib 0x0001000d1027 i_set_failure_file + 275 5 libdovecot.0.dylib 0x0001000d03ec i_syslog_error_handler + 0 6 libdovecot.0.dylib 0x0001000d06d2 i_debug + 0 7 libdovecot.0.dylib 0x0001000d9c00 i_stream_read + 392 8 libdovecot.0.dylib 0x0001000d8104 i_stream_create_limit + 436 9 libdovecot.0.dylib 0x0001000d9ab7 i_stream_read + 63 10 libdovecot.0.dylib 0x0001000d9cf1 i_stream_read_data + 103 11 libdovecot.0.dylib 0x0001000c4bef message_parse_header_next + 145 12 libdovecot.0.dylib 0x0001000c646f message_parser_init_from_parts + 287 13 libdovecot.0.dylib 0x0001000c5a4b message_parser_parse_next_block + 133 14 libdovecot.0.dylib 0x0001000c5bc8 message_parser_parse_header + 64 15 libdovecot-storage.0.dylib 0x000100043883 index_mail_parse_headers + 189 16 libdovecot-storage.0.dylib 0x000100043b53 index_mail_get_header_stream + 597 17 libdovecot-storage.0.dylib 0x000100043f89 index_mail_get_first_header + 49 18 libdovecot-storage.0.dylib 0x000100011d1d mail_get_first_header + 15 19 dovecot-lda 0x00012eda mail_deliver_get_address + 24 20 dovecot-lda 0x000120f0 main + 2484 21 dovecot-lda 0x00011734 start + 52
Re: [Dovecot] Another 2.0.alpha2 panic
On Oct 30, 2009, at 11:30 PM, Mike Abbott wrote: Fri Oct 30 21:08:16 server dovecot[27407]: lda(pid 27407 user userW): Panic: file istream.c: line 104 (i_stream_read): assertion failed: ((size_t)ret+old_size == _stream-pos - _stream-skip) Was this called with something like: dovecot-lda file or cat file | dovecot-lda i.e. was the input stream seekable? Anyway, I did fixes to both of them recently: http://hg.dovecot.org/dovecot-2.0/rev/65c6568515ce http://hg.dovecot.org/dovecot-2.0/rev/891d8650f3f8 http://hg.dovecot.org/dovecot-2.0/rev/86110f830311
Re: [Dovecot] pop3-login: Fatal: io_loop_handle_add: epoll_ctl(1, 5):
On Oct 30, 2009, at 7:08 PM, Victor Benincasa wrote: I'm having this same issue in one of my servers since I updated my Dovecot from 1.2.4 to 1.2.5. The problem still with 1.2.6 too. Today I started thinking it has to be because some file descriptor is opened as fd 5 initially, but it's set close-on-exec flag and so when login process execs it probably opens epoll fd as 5 and then trying to epoll_ctl() it it fails. But I kind of forgot to check it today. Although in any way that would require something like SIGHUP to happen just before the failure starts.. Can you anyway check if reversing this patch solves the problem for you? http://dovecot.org/list/dovecot/2009-October/044140.html