On Mon, Jun 11, 2007 at 08:13:51PM +0300, Timo Sirainen wrote:

  I'll release v1.0.1 in a day or two, but it would be nice to get some
  testing before the release to see if I managed to break something after
  the Mercurial conversion. And did I forget something that should be
  fixed for v1.0.1?
  
  http://dovecot.org/tmp/dovecot-1.0.1rc2.tar.gz
  
  Changes since v1.0.0:
  
        * deliver: If Return-Path doesn't contain user and domain, don't try
          to bounce the mail (this is how it was supposed to work earlier too)
        * deliver: %variables in mail setting coming from userdb aren't
          expanded anymore (again how it should have worked). The expansion
          could have caused problems if paths contained any '%' characters.
  
        + Print Dovecot version number with dovecot -n and -a
        - Trying to start Dovecot while it's already running doesn't anymore
          wipe out login_dir and break the running Dovecot.
        - maildir: Fixed "UID larger than next_uid" errors which happened
          sometimes when dovecot-uidlist file didn't exist but index files did
          (usually because mailbox didn't have any messages when it was
          selected for the first time)
        - maildir: We violated maildir spec a bit by not having keyword
          characters sorted in the filename.
        - maildir: If we don't have write access to cur/ directory, treat the
          mailbox as read-only. This fixes some internal error problems with
          trying to use read-only maildirs.

I encountered another FS permission related issue with shared mailboxes and 
acls that 
causes an Internal error, that I was planning on reporting when I got a chance 
to sit 
down and clarify it.  It seems to behave better in Thunderbird, because 
checking for 
folders to subscribe to just puts in the log "cannot read (path 
to)/.bedata.In/dovecot-acl"
and continues executing.  For squirrelmail or telnet, its a simple problem 
where an IMAP
client tries to list folders available for subscription (click Folders in 
Squirrelmail)
but if ANY maildir in configured namespace has insufficient unix permissions to 
enter,
the LIST "" * command aborts with an Internal error:

a LIST "" *
* LIST (\Noselect \HasChildren) "/" "#shared/be"
a NO Internal error occurred. Refer to server log for more information. 
[2007-06-11 17:38:24]

This case was caused from:
drwxrwx---  5 postlocal  somegroup  4096 Oct 18  2006 .bedata.In
inside one of my shared namespaces "#shared/be" where the current logged in
user is not postlocal and is not a member of somegroup.

When I change .bedata.In to 775, it works fine, or when I temporarily disable
the acl plugin, it works fine.  I believe this problem affects ALL users except
if they happen to be a member of "somegroup".  

My first workaround was to make .bedata.In mode 775 then restrict the 
permissions on 
cur/ tmp/ new/ inside to 770, but this conflicts with permission requirements 
in 
other parts of my tree, and for some of my namespaces I really want to prevent 
world 
access through unix to the maildirs because of private data, even if my dovecot 
ACL 
setup properly restricts the permissions through IMAP.

In short, I don't think dovecot should die when it encounters a failure to 
enter a 
directory (to read an ACL file or otherwise), since if the acl cannot be read 
or the 
directory is inaccessible anyway, it is of no use to the user and dovecot 
should log 
it and continue searching for accessible folders.  Hopefully this is an easy 
case to 
test, but if I need to participate more, please let me know.  Thanks.



        - maildir: Deleting a symlinked maildir failed with internal error.
        - mbox: pop3_uidl_format=%m wasn't working right
        - mbox: If non-filesystem quota was enabled, we could have failed
          with "Unexpectedly lost From-line" errors while saving new messages
        - mysql auth: %c didn't work. Patch by Andrey Panin
        - COPY: We sent "Hang in there.." too early sometimes and checked it
          too often (didn't break anything, but was slower than needed).
        - deliver: Postfix's sendmail binary wasn't working with mail_debug=yes
        - Don't corrupt ssl-parameters.dat files when running multiple Dovecot
          instances.
        - Cache compression caused dovecot.index.cache to be completely deleted
          with big endian CPUs if 64bit file offsets were used (default)
        - Fixed "(index_mail_parse_header): assertion failed" crash
  


Reply via email to