Re: [Exim] Quota checking

Top Page
Delete this message
Reply to this message
Author: Heinz Ekker
Date:  
To: exim-users
CC: Heinz Ekker
Subject: Re: [Exim] Quota checking
As much as I hate to follow up on myself, but this actually may be a bug
in Exim (at least in the version I'm using (4.04)):

On Fri, May 03, 2002 at 03:34:06PM +0200, Heinz Ekker wrote:
> <snip>
> if $local_part_suffix matches .+ then
>         save "/var/mail/${lookup ldap ...}/$local_part/.${extract {2} {+} {$local_part_suffix}}/"
> else
>         save "/var/mail/${lookup ldap ...}/$local_part/"
> endif
> </snip>

>
> directory_transport is set to a transport which sets a quota based on a
> ldap query.
>
> Well, it all works fine - if the message is delivered into the users
> normal INBOX. Quota checking then includes all subfolders. But, if the
> mail gets delivered into a subfolder, only the size of that directory is
> calculated - and therefore renders my whole quota concept pretty
> useless.


In transports/appendfile.c:1965, if a 'maildirfolder'-file is found in
the directory Exim should deliver into, the parent directory is
checked.

<snip>
        uschar *slash = Ustrrchr(path, '/');
[...]
          check_path = string_sprintf("%.*s", slash - path, path);
</snip>


in my case only snips the last slash from the directory. In a filter,
I have to add this last slash, otherwise a file transport would be
called.

So, '/var/mail/user/.folder/' becomes '/var/mail/user/.folder' -
effectively the same directory again.

HTH,
he