1 Aug 2006 01:17
Re: Quota with dict backend - sql does not get registered
David Jonas <djonas <at> vitalwerks.com>
2006-07-31 23:17:13 GMT
2006-07-31 23:17:13 GMT
On Mon, 2006-07-31 at 22:43 +0300, Timo Sirainen wrote: > After I just yesterday added Berkeley DB support for lib-dict, I thought > maybe everyone should just use dict via the proxy. The dict server is > linked against all the necessary libraries, and it's probably faster to > make it go through dict server anyway. Otherwise it gets a bit difficult > to figure out how the linking should work.. Cool, thanks Tim. I tried the proxy before but was getting funny results. So now I've focused my efforts on working those out. I've come across some interesting stuff. First, it appears that the order of fields/values in the SQL insert queries in src/lib-dict/dict-sql.c are out of order. It seemed to me a confirmed error upon evaluating the ON DUPLICATE KEY UPDATE portion of the query, not just me messing up the config. Diff is at the bottom. I'd make a formal patch for you, but there is some other hoky things going on. Here's my logs. I'm running down these bugs now: Jul 31 15:56:06 uniroyal dovecot: dict: sql dict: commit failed: Not connected to database Jul 31 15:56:06 uniroyal dovecot: IMAP(djonas <at> ): dict_quota: Couldn't update quota Jul 31 15:56:06 uniroyal dovecot: dict: sql dict: commit failed: Not connected to database Jul 31 15:56:06 uniroyal dovecot: IMAP(djonas <at> ): dict_quota: Couldn't update quota Jul 31 15:56:06 uniroyal dovecot: IMAP(djonas <at> ): Sending log messages too fast, throttling..(Continue reading)
- is there a
specific reason why this check is done via lstat() rather than via plain
ol' stat() (see src/master/master-settings.c, line# 784)?
I'm using GNU stow, so /usr/local/var/run/dovecot is actually a symlink
to /usr/local/stow/dovecot-data/var/run/dovecot - which, in fact, does
have the proper permissions (dovecot:dovecot, 0755) already. Yet I'm
still getting this warning everytime dovecot starts up, because lstat()
returns the permissions of the symlink (0777) rather than those of the
target (0755). "Fixing" it with chmod() in line# 798 doesn't actually fix
it, of course, because chmod(), as opposed to lstat(), affects the link
target rather than the link itself.
Just curious ...
Thomas
RSS Feed