When using the stats plugin for dovecot-2.0, UID commands that
"continue" cause infinite recursion and crash. For example, "A22
UID FETCH 151 BODY[]" when the body is 3MB or so always crashes. For
smaller messages, this command logs the duration twice. Here is a patch to fix
it:
--- stats-plugin.c.orig 2010-10-26 20:18:13.000000000 -0500
+++ stats-plugin.c 2010-10-26 20:19:10.000000000 -0500
@@ -197,6 +197,9 @@
commands = array_get_modifiable(&imap_commands, &count);
for (i = 0; i < count; i++) {
+ if (strcasecmp(commands[i].name, "UID") == 0)
+ continue;
+
hash_table_insert(orig_cmds, (char *)commands[i].name,
commands[i].func);
commands[i].func = stats_command;