On Wed, 13 Jan 2010 07:44, serguey-grigoriev@ wrote:
13.01.10, 11:32, "Matthew Seaman" <[email protected]>:S.N.Grigoriev wrote: > I would like to know if there is a way to completely > replace the base sendmail with a ports one. The goal > is to have corresponding files on the traditional places > (not in /usr/local) and to use the system sendmail > startup script but not /usr/local/etc/rc.d/sendmail.sh. That's not the usual approach with sendmail, unlike several other software packages. Because of the existence of mailer.conf(5) you can achieve equivalent functionality without overwriting the base system sendmail. With the following contents: % cat /etc/mail/mailer.conf # $FreeBSD: src/etc/mail/mailer.conf,v 1.3.36.1 2009/08/03 08:13:06 kensmith Exp $ # # Execute the "real" sendmail program, named /usr/libexec/sendmail/sendmail # sendmail /usr/local/sbin/sendmail send-mail /usr/local/sbin/sendmail mailq /usr/local/sbin/sendmail newaliases /usr/local/sbin/sendmail hoststat /usr/local/sbin/sendmail purgestat /usr/local/sbin/sendmail all sendmail related commands are mapped onto the ports version of sendmail, installed under LOCALBASE=/usr/local as usual. These commands are in fact exactly the same wrapper scripts as used with the system sendmail. With this setup it is not necessary to use the init script provided by the sendmail port: simply adding sendmail_enable="YES" to /etc/rc.conf will now cause the ports version of sendmail to be started using /etc/rc.d/sendmail. In addition, the following entries in /etc/make.conf will allow rebuild sendmail configurations and db maps using the Makefile in /etc/mail: WITH_SENDMAIL_PORT= yes SENDMAIL_CF_DIR= /usr/local/share/sendmail/cf MAKEMAP= /usr/local/sbin/makemap Finally, adding WITHOUT_SENDMAIL=yes to /etc/src.conf will suppress building sendmail as part of the base system, while still building and installing the mailwrapper commands. Cheers, MatthewMatthew, I thank you for your response. All you wrote is quite right. But it is a general rule not to use in the system two sets of slightly different programs with duplicating names. It is a direct way to have problems. For example, all third party scripts should be revised to check absolute pathes, program search results becomes depending of the PATH value, and so on.
If all third party scripts and they are using absolute path names then they should not need to be revised at all. This is effectively what mailer.conf does. /usr/sbin/sendmail continues to use mailer.conf which wraps what you have set in there. So no matter whether they call /usr/sbin/sendmail or /usr/local/sbin/sendmail they will still be getting the same results after your install of the ports sendmail.
So really what is the exact problem ? I can understand from a security standpoint why you would want to have less software on your systems but to blame it on third party scripts is irrelevant.
It is relatively easy to do such revisions on a small home system. But a production server with significant amount of third party software will require a lot of time to do that job. To my mind it will be better to have an options in the port Makefile allowing to replace the sendmail files in place.
-- Wed Jan 13 08:27:21 2010 It may not be able to take your machine down, but it can fill up your Internet Pipe. jhell _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[email protected]"
