So I'm working on the ACL code, looking to reduce the number of queries that are currently made. At the moment, every call to acl_has_right in imapcommands.c results in a query. Ideally, we would only query the the dbmail_acls table once, get all of the columns in one shot, and remember that.
Right now, a change of permissions in the dbmail_acls table will take nearly immediate effect because the next time imapcommands.c calls acl_has_right, the new rights are retrieved. Question is, do we care? Would it be alright to only pull in new ACLs once at the beginning of each IMAP session? If not, there isn't a whole lot of optimization to be done, there's only two places where acl_has_right is called several times in succession within a funciton. Aaron