[KLUG Members] unix domain sockets

Peter Buxton members@kalamazoolinux.org
Wed, 16 Oct 2002 16:50:07 -0400 (EDT)


> I'm pretty sure Exim support LMTP natively, with no middle man what so
> ever.  Saw someone talking about it on the list.  Then you wouldn't even
> need to fork over to "ipconnect"

Yes, but I'm being an efficiency freak (perhaps I should have said :-).
Exim has certain 'transport' drivers: appendfile ( for /var/mail/$USER),
pipe (procmail), smtp (duh ;-), lmtp, and autoreply (which is a
psuedo-driver, actually a filter).

Cyrmaster runs a listening service for Cyrus's lmtpd app. This listens to
a socket, either in unix domain or IP, and runs lmtpd whenever your MTA
comes to call.

Exim's lmtp transport expects to use 'command = cyrdeliver -l', or what
have you, to get Exim's message to the MDA (here, lmtpd). Well, why not
have Exim speak LMTP directly to lmtpd and cut out the 100 kB middleman?
Unfortunately, only cyrmaster can run lmtpd, and Exim doesn't speak to
sockets in LMTP.

Rather than deliver the message so: Exim -> cyrdeliver -> lmtpd, I want
LMTP-speaking Exim -> lmtpd. Unfortunately, because Exim expects to run
LMTP through a command, rather than a socket file, I either need to 'fix'
Exim in a recompile or have a small helper app, i.e. ipcconnect, for Exim
to call and speak to the local socket. FWIW, Exim's ipcconnect session
hung midway... I think the quit signals are getting lost in the shuffle
:-(

Sadly, even the Exim 4.0x docs say that LMTP interest in the Exim
community is 'minimal' and the source defaults to not compiling LMTP
(Debian enables it), so a unix domain socket-speaking Exim may not have a
market.

-- 
You can fill my head with Gummi Bears, but I
won't talk! -- Tom Servo, Satellite of Love