Sebastian Hagedorn wrote:
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]:

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$+ <>          $@
I suppose I'd leave these two rules out, there are no system mailboxes.

# 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]

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]
Could you elaborate on that? What exactly is the problem?

* 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

Reply via email to