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