OT: create a sendmail.mc file from a sendmail.cf file?

Chuck Swiger cswiger at mac.com
Thu May 29 15:07:37 PDT 2003


Scott Lambert wrote:
> I would like to know if anyone has seen a sendmail.mc generator that
> takes a sendmail.cf file as input.  Google hasn't come up with anything
> yet, but I'm famous for not using the right search words.

There aren't any tools which will do what you ask.

Considering the extent of the m4 changes between 8.9.3 and 8.12.x it pretty much 
can't be done even by hand, but the following will give you the list of the 
FEATURE()s used, which is a reasonable starting point for a new .mc file:

3-sec# fgrep '$Id:' sendmail.cf
#####  $Id: cfhead.m4,v 8.108.2.2 2003/03/11 21:24:20 ca Exp $  #####
#####  $Id: cf.m4,v 8.32 1999/02/07 07:26:14 gshapiro Exp $  #####
#####  $Id: freebsd4.m4,v 1.1 2001/03/21 22:44:58 ca Exp $  #####
#####  $Id: generic.m4,v 8.15 1999/04/04 00:51:09 ca Exp $  #####
#####  $Id: redirect.m4,v 8.15 1999/08/06 01:47:36 gshapiro Exp $  #####
#####  $Id: use_cw_file.m4,v 8.11 2001/08/26 20:58:57 gshapiro Exp $  #####
#####  $Id: access_db.m4,v 8.24 2002/03/06 21:50:25 ca Exp $  #####
#####  $Id: blacklist_recipients.m4,v 8.13 1999/04/02 02:25:13 gshapiro Exp $  #
####
#####  $Id: local_lmtp.m4,v 8.16 2000/08/18 18:58:45 ca Exp $  #####
#####  $Id: mailertable.m4,v 8.23 2001/03/16 00:51:26 gshapiro Exp $  #####
#####  $Id: virtusertable.m4,v 8.21 2001/03/16 00:51:26 gshapiro Exp $  #####
#####  $Id: proto.m4,v 8.649.2.17 2003/03/28 17:20:53 ca Exp $  #####
#####  $Id: local.m4,v 8.58 2000/10/26 01:58:29 ca Exp $  #####
#####  $Id: smtp.m4,v 8.64 2001/04/03 01:52:54 gshapiro Exp $  #####

You then generate a .cf file from the current version of sendmail, compare it to 
the old .cf you have, update the .mc file if there was something you see in the 
diffs, and repeat until you are happy.

> Why do I need to do this, you ask?
[ ...UGH! ... ]
> Right now, I am working on trying to upgrade the sendmail.cf file from
> 8.9 to 8.12 to make newaliases work and to ease future maintainability.
> I never learned to read the sendmail.cf language beyond the basics, and
> don't know the one to one mapping of mc rule to cf rule blocks.

The approach you're taking is sort of like figuring out the right direction to 
head in, then walking the exact opposite way.  Sure, the earth is a sphere and 
if you keep going long enough, you'll eventually get to where you want to be, 
but choosing the longest possible path around doesn't make much sense.  :-)

You'd very probably be done by now if you simply used the majordomo port which 
comes with FreeBSD; the port should handle the webserver cgi-bin integration and 
any mail system changes automatically.

-Chuck




More information about the freebsd-isp mailing list