Hi,

I know this not a supported feature.

But I would like to run two or more instances of spamd on the same 
OpenBSD machine. This would be hosted in a cloud server. The main 
purpose is to be able to have different spamd.conf (blacklists) 
and differrent suffixes (spamd.alloweddomains) for different
domains.

I had a quick look at the source code, and I thought of an idea, 
to which I would like opinions from the more skilled users.

>From what I could understand, 

/etc/mail/spamd.conf, 
/etc/mail/spamd.alloweddomains and
/var/db/spamd 

are all hardcoded. So if I rebuild the code with these values
modified, I could get new binaries to read/write at the right
place.

I also noticed that spamd-white is hardcoded too. I could change
this likewise.

spamd listens on ports defined at /etc/services. I could also 
change that at the source code of the modified instances.

spamd chroots to /var/empty. So, my first question is would I need
to use different directories for the various instances?

my pf.conf would look like:

table <spamd-white1> persist
table <spamd-white2> persist

....

pass in on egress proto tcp from any to $mx-domain1 port smtp \
 B  B  rdr-to 127.0.0.1 port spamd1

pass in on egress proto tcp from any to $mx-domain2 port smtp \
 B  B  rdr-to 127.0.0.1 port spamd2

....

Each instance of spamlogd would run with -l pflogX switch

pass in log (to pflog1) on egress proto tcp from <spamd-white1> \
 B  B  to any port smtp

pass in log (to pflog2) on egress proto tcp from <spamd-white2> \
 B  B  to any port smtp


My second question is am I missing any other possible conflict?

Thanks in advance for any hint.

Best regards,

Joao

Reply via email to