Binding Cyrus to Listen on one IP

John Straiton jsmailing at clickcom.com
Mon Sep 16 13:06:46 EDT 2002


I am having a problem with Cyrus that I was unable to find an answer to
using the mailing list archives or google groups. I'm pretty familiar
with setting up simple Cyrus installs (done it about 10 times now), but
this one has got me stuck.

I'm trying to get cyrus to work on the same machine as my sendmail/
uwimapd/ qpopper server whilst we get through a migration to Cyrus. I've
configured our inetd to only listen on ip address so that imap-uw and
qpopper will not listen on the new IP address that has been added to the
machine and tested that in fact they are not listening on that new
address.

I then tried to configure Cyrus to bind only to the single address. In
looking at the man page for cyrus.conf(5), it describes:

listen=<no default>
            path
            [ host : ] port

            where path is the explicit path  to  a  UNIX  socket,
            host  is  either  the hostname or bracket-enclosed IP
            address of a network interface, and port is either  a
            port  number  or service name (as listed in /etc/ser-
            vices).

Now my default configuration showed things like
	imap		cmd="imapd" listen="imap" prefork=0

So following the description there, I altered it to say
	imap		cmd="imapd" listen="[my.new.ip.address:]imap"
prefork=0
(my.new.ip.address being a real IP, bound to the machine and verified)

When I try to start cyrus, I get a syslog message of 

Sep 16 12:56:51 courier master[25138]: process started
Sep 16 12:56:51 courier master[25139]: about to exec
/usr/local/cyrus/bin/ctl_mboxlist
Sep 16 12:56:51 courier ctl_mboxlist[25139]: running mboxlist recovery
Sep 16 12:56:52 courier ctl_mboxlist[25139]: done running mboxlist
recovery
Sep 16 12:56:52 courier master[25141]: about to exec
/usr/local/cyrus/bin/ctl_deliver
Sep 16 12:56:52 courier master[25138]: unable to find command or port
for 
Sep 16 12:56:52 courier master[25138]: exiting

No, I'm not missing anything there, it really does say "or port for" and
that's it (found a bug?).

Assuming that the man page text was being misunderstood by me, I also
tried:
	imap		cmd="imapd" listen="[my.new.ip.address]:imap"
prefork=0
	imap		cmd="imapd" listen="[my.new.ip.address]imap"
prefork=0
	imap		cmd="imapd" listen="my.new.ip.address:imap"
prefork=0

Thoughts? How can I get this thing restricted to a single IP?

John Straiton
jks at clickcom.com
Clickcom, Inc
704-365-9970x101 






More information about the Info-cyrus mailing list