Andrzej Filip <[EMAIL PROTECTED]> wrote:3) Real Time Cyrus Integration http://anfi.webhop.net/sendmail/rtcyrus.html
if I understand the description correctly, this approach doesn't currently handle hashed spools, does it?
It can't handle hashed spools *NOW*. Making sendmail support hashing based on first letter of mailbox is simple.
I don't think I'll take this route, but for completeness' sake, that's not the kind of hashing Cyrus uses ... I guess you'd actually have to read mailboxes.db to find out where a given user's folder is.
Cyrus supports two schemes of mailbox hashing. The old one I wrote about is based on first letter of mailbox name, I have not dug out algorithm used by the new one.
BTW checking directory presence requires much less systems call than socket map with its TCP session overhead.
Another way of "real time sendmail & cyrus integration is to make sendmail use "socket map" daemon available in CVS of Cyrus or creating custom "socket map" daemon.
Please let me know which option would you like to use yourself: a) making sendmail to use regex map [regular expressions] to generate "hashed" path to cyrus mailboxes
I don't think that's feasible.
b) patching sendmail 8.12 (socketmap patch) and
I'd be OK with that.
WARNING: patch for sendmail 8.12 does not behave properly when cyrus "socket map" socket is not active - the map returns "no match" (no mailbox).
I have not checked if sendmail 8.13.0.Alpha0 behaves differently.
http://www.sendmail.org/~ca/email/smenhanced.html http://www.sendmail.org/~ca/email/patches/sendmail-8.12.7-socketmap-v4.patch MD5=a58fecf644231d65f44226b394bea1bf sendmail-8.12.7-socketmap-v4.patch
b1) using CVS version of cyrus
If I understand Ken correctly, standard Cyrus 2.2.3 supports this. It's not necessary to use a version from CVS.
You understood him correctly - my memory was "too good" :)
b2) using custom "socket map" daemon
I'll have to think about that some more. Migrating to Cyrus 2.2 is on my TODO list anyway. I guess I'll build a patched sendmail and play around with the socket map feature.
-- Andrzej Filip <[EMAIL PROTECTED]> is rumored to have mumbled on Donnerstag, 26. Februar 2004 18:10 Uhr +0100 regarding Re: Alternative ways of sendmail & cyrus integration [Was: Virtual domains, [EMAIL PROTECTED]: Mailbox unknown]:
I suppose I'd leave these two rules out, there are no system mailboxes.Below please find modified sendmail.mc lines to make sendmail check cyrus mailbox existence using socket map [instead of fstat map]: -----> dnl dnl *.mc file modifications for real time integration of cyrus and sendmail dnl dnl It makes sendmail define user map in sendmail.cf define(`LUSER_RELAY') LOCAL_CONFIG # cyrus - map for file stat checking Kcyrus socket local:_path_to_smmapd_socket_ dnl dnl LOCAL_RULESETS SLocal_localaddr # Treat system mailboxes as usual R$+ $: $(user $1 $) R$+ <> $@
# Detect cyrus mailboxes - deliver via cyrus mailer R$+ $: $1 <$(cyrus $1 $: $)> R$<$+> $# cyrus $: @$1 # Treat remaining as usual R$* $@ <-----
It needs some fixes: cyrus map should report temporary failures Kcyrus socket -T<TMPF> local:_path_to_smmapd_socket_ and the rules should look for <TMPF> marker [but see the warning above]
Could you elaborate on that? What exactly is the problem?I hope will publish next version next week: * capable to support cyrus virtual domains * milter-sender friendly [current version creates problems with checking local address validity]
* cyrus virtual domains
The current version is located in rule sets which gets only user part of recipient address (domain is stripped).
* milter-sender
Milter-sender checks mailer selected *before* alias expansion. If cyrus* is selected then user is valid if local mailer is selected then OS account presence is checked.
The current version selects cyrus mailer in rule set called *after* alias expansion, so milter sender sees always local mailer even if the rule set will change it to cyrus later.
-- Andrzej [en:Andrew] Adam Filip [EMAIL PROTECTED] [EMAIL PROTECTED] http://anfi.webhop.net http://slashdot.org/~anfi --- Home Page: http://asg.web.cmu.edu/cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html