On Mon, 06 May 2002, Jeremy Howard wrote: > The patches described here can be downloaded from: [...]
I will probably add some of them to the Debian-packaged version of cyrus, after some testing. > master-avail.diff [...] > Therefore a per-process status is required to track which pids are busy > servicing a request. Then on SIGCHLD ready_workers is decremented, > unless this status shows that the pid had already notified master that > it was unavailable. We have found that this patch successfully tracks > process counts under high load and when killing children with a range of > signals. Sounds good. I will try to use this patch. > shutdown.diff [...] > This is because we found that imapd_out would often be corrupted. > Because we are not using TLS, we could check for corruption by making > sure that tls_conn was false. This will *NOT* work if you are using TLS. > A real fix is to work out why imapd_out is getting corrupted--we have > not as yet succeeded at doing that. Hmm, I will have to wait this to be cleared up first. > linux-limit.c > ---- > Linux does not recognise RLIM_INFINITY. This patch uses 64000 instead. > The patch really should add a configure test instead of just using this > on all systems. Without using this patch imapd will run out of FDs on > moderately loaded systems. This is glibc breakage, not the kernel. I am waiting to see what the glibc guys will do about it. When I get a proper fix, I will send it here. > safe-flock.diff > ---- > This is jwade's safer flock code which resolves problems with waiting > forever for locks. Although not required on all platforms, we are not > aware of any downsides to using it and therefore we recommend its use. I will also look over this patch, looks useful. > rated.diff > ---- > This patch connects to a Unix socket /var/state/rated/rated and sends > the username and message size during a BODY FETCH or an APPEND. This is > important to track per-user bandwidth, which is necessary to avoid DOS > attacks from users sending or receiving too much data. You need to write > a daemon to listen on this socket and keep counters of bandwidth per > user, if you want to use this patch. Interesting. I hope this funcionality gets added to Cyrus. > allow8bit.diff > ---- > This patch removes the code that replaces 8bit headers with 'X'. Most > mail systems still seem to use 8bit headers, and we have not found any > problem in accepting them. I will probably add something like this to Debian's Cyrus sooner or later. I'd rather have it runtime-configurable, though (defaults to disabled, of course). > In addition, this patch does not reject messages that include "From " at > the start. We frequently observe these messages, and have seen no > problems in accepting them. Hmm... Cyrus probably won't have any sort of problem storing them either. I think the From reject is there to help debugging bad installs where the MTA adds a From line. I will take it for Debian, it enhances functionality for those that configure Cyrus right. -- "One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie." -- The Silicon Valley Tarot Henrique Holschuh