On Mon, 2011-04-11 at 11:14 -0600, Jesse Norell wrote:
> Hello,
> 
>   Some time ago I started on a postfix policy server to do dbmail quota
> lookups, and I'm now getting back to finishing that.  I'll try to make
> it support most (all?) dbmail versions, but those differ some in how the
> aliases/users lookups were done.  If anyone wants to review this logic
> and provide feedback I'd appreciate it.
> 
>   It seems I need to be able to identify when *all* recipients are
> handled by dbmail, and all of them would go over quota (and subsequently
> bounced) if the message were to be allowed - if either of those aren't
> known/true, we'll just allow the message.
> 
> 
> dbmail 1.2:
>   - single per-user quota across all mailboxes
>   - current usage calculated from summing all message (status < 2) sizes
>   - all addresses have to be in aliases table
>   - look up all deliver_to's for a given alias:
>     - if it's numeric, it's a userid, and should check quota/usage
>     - if it's non-numeric, it's either:
>       - a forwarding address; recursively lookup in aliases table,
>         and if not found, allow the message
>       - a ! or | command, allow the message
> 
> 
> dbmail 2.0:
>   - single per-user quota across all folders
>   - current usage from dbmail_users.curmail_size
>   - recipient lookup same as 1.2 above   ?????
> 
> 
> dbmail 2.2:
>   - single per-user quota across all folders (same as 2.0)
>   - current usage from dbmail_users.curmail_size (same as 2.0)
>   - recipients no longer need to be in aliases table  ???
>   - if recipient isn't in aliases table, but a matching username exists,
>     just use that single user's quota settings
>   - if recipient is in aliases table, recursively follow by owner_id
>     (numeric) and userid (non-numeric), or treat as a command
>     (non-numeric) as appropriate
>   - usermap is strictly for pop/imap, not delivery
> 
> 
> In checking dbmail 3.0 schema, it looks like there are still no
> per-mailbox quotas, so it would be identical to 2.2? 


I forgot about user and domain catch-all addrs, which I'll look at
adding.  I think it's safe to implement 2.0 with the 2.2 alias/user
lookup logic, it should just happen to always find an aliases entry (and
this isn't to replace *_recipient_maps, it's just to find the right
users to look up quota/usage info).

Jesse

-- 
Jesse Norell
Kentec Communications, Inc.
je...@kci.net
_______________________________________________
Dbmail-dev mailing list
Dbmail-dev@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail-dev

Reply via email to