Sentrion Overview Sentrion Platform Sentrion REAC Sentrion Mimecast Hard Appliances Virtual Appliances
Overview Policy Compliance Secure Content Filtering Cloud Partner Enterprise Community
Overview Download Security Support News Documentation Tips & Tricks DKIM FAQ Misc Milters
Overview Directory Synchronization Messaging Architecture Review High Volume Mail HIPAA Policy QUICKStart Implementation Performance Tuning Training Services Overview Message Routing and
Configuration
Message Policy
Management
Connection Control /
Attack Prevention
Directory Configuration
and Management
Overview Sendmail Partners Milter Community Industry Organizations System Integrators & Distributors
Overview Silver Support Gold Support Platinum Support Open Source Support Security Advisories Contact Support
Overview Customers Events Press Room Board & Investors Management Careers Contact Us
Overview Ask the Experts Security Chalk Talks Collateral Product Reviews & Awards IP Reputation Check Real-time Outbreak Monitor
Sendmail Inc.

HOME | CUSTOMER LOGIN
Follow Sendmail on Twitter
The Sendmail Blog
Sentrion Message Processors
Sentrion Application Store
Services
Partners
Support
Company
Resources
Open Source
 
    Open Source
  • Overview
  • Download
  • Security
  • Support
  • News
  • Documentation
  • Tips and Tricks
  • DKIM
  • FAQ
  • Misc
  • Milters
  • Support FAQ
  • Contact
  • Public Forums

Open Source Support

FAQ: Vendor / OS Specific Sendmail Issues

  1. Sun Microsystems SunOS/Solaris 1.x/2.x
    1. How can I solve "line 273: replacement $3 out of bounds" errors?
    2. How can I solve "line 445: bad ruleset 96 (50 max)" errors?
    3. Why does version 8 sendmail (< 8.7.5) sometimes hang under Solaris 2.5?
    4. Why can't I use SunOS/Solaris to get email to certain large sites?
    5. Why do I have trouble compiling on Solaris?
    6. How does 8.X compare to 8.X+Sun?
  2. IBM AIX
    1. The system resource controller always reports sendmail as "inoperative". What's wrong?
    2. Why can't I use AIX to get email to some sites?
    3. Why can't I get sendmail 8.7.1 to use MX records with AIX 3.2.5?
  3. Linux
    1. Red Hat
      1. Why do I have so many sendmail problems configuring sendmail with linuxconf?
      2. I built sendmail.cf from sendmail.mc and it works until the next reboot of the machine. What is going on?
      3. Why can't I receive mail with Red Hat 7.1 and later?
    2. SusE
      1. Where is the sendmail.mc file on SuSE Linux?

Sun Microsystems SunOS/Solaris 1.x/2.x

How can I solve "line 273: replacement $3 out of bounds" errors?

When I use sendmail V8 with a Sun config file I get lines like:

/etc/sendmail.cf: line 273: replacement $3 out of bounds

the line in question reads:

R$*<@$%y>$* $1<@$2.LOCAL>$3 user@ether

what does this mean? How do I fix it?

V8 doesn't recognize the Sun "$%y" syntax, so as far as it is concerned, there is only a $1 and a $2 (but no $3) in this line. Read Rick McCarty's paper on "Converting Standard Sun Config Files to Sendmail Version 8", in the contrib directory (file "converting.sun.configs") in the latest version 8 sendmail distribution for a full discussion of how to do this.

How can I solve "line 445: bad ruleset 96 (50 max)" errors?

When I use sendmail V8 on a Sun, I sometimes get lines like:

/etc/sendmail.cf: line 445: bad ruleset 96 (50 max)

what does this mean? How do I fix it?

You're somehow trying to start up the old Sun sendmail (or sendmail.mx) with a version 8 sendmail config file, which Sun's sendmail doesn't like. Check your /etc/rc.local, any procedures that have been created to stop and re-start the sendmail processes, etc.... Make sure that you've switched everything over to using the new sendmail. To keep this problem from ever happening again, try the following (make sure you're logged in as root):

mv /usr/lib/sendmail /usr/lib/sendmail.old ln -s /usr/local/lib/sendmail.v8 /usr/lib/sendmail mv /usr/lib/sendmail.mx /usr/lib/sendmail.mx.old ln -s /usr/local/lib/sendmail.v8 /usr/lib/sendmail.mx chmod 0000 /usr/lib/sendmail.old chmod 0000 /usr/lib/sendmail.mx.old

Assuming, of course, that you have installed sendmail V8 in /usr/local/lib/sendmail.v8.

Why does version 8 sendmail (< 8.7.5) sometimes hang under Solaris 2.5?

In moving from Solaris 2.4 to Solaris 2.5, the kernel changed its name and is now in /kernel/genunix instead of /kernel/unix, so _PATH_UNIX in conf.h is pointing to the wrong place.

If you can't upgrade to the latest release of sendmail 8.8.z, the next best thing to do is change _PATH_UNIX in conf.h (in the solaris2 part) to point to the generic interface /dev/ksyms, like so:

# define _PATH_UNIX "/dev/ksyms"

Why can't I use SunOS/Solaris to get email to certain large sites?

This is most likely a problem in your resolver libraries (DNS, /etc/hosts, NIS, etc...). Older Sun (and Solaris?) resolver libraries allocated enough room for only five IP addresses for each host name, and if any program ever ran across a name with more than five IP addresses for it, the program would crash.

For example, this would keep you from getting mail to CompuServe, since (at the time of this writing) they list eleven IP addresses for mx1.compuserve.com (one of the named MXes for compuserve.com).

This will affect you even if you use version 8 sendmail, since it's a problem in the resolver libraries, and not in sendmail itself.

You should either get patches to the resolver libraries from Sun, or the latest version of BIND (see Q2.12) and install their resolver library routines. Between the two, installing BIND is a bit more work, but it typically gives you much more up-to-date code to help you resist attacks to your systems, more capable programs to be used for serving the DNS (including support for IPv6 and several other features), and some very useful utility programs.

Why do I have trouble compiling on Solaris?

Many people have experienced compilation problems on Solaris, with the compiler typically complaining about tm_zone or TopFrame. The Solaris section of our Compiling Sendmail page explains these.

How does 8.X compare to 8.X+Sun?

With a Vn/Berkeley config file, they're identical. There are a few minor differences between 8.X with a Vn/Berkeley config file and 8.X+Sun with the same config file, but the V line changed to Vn/Sun. But most differences are the backwards compatibility hacks needed for 8.X+Sun to support old V1/Sun config files.

There are three web pages which discuss these in detail: Berkeley migration (from SMI-8.6 to 8.X), Sun migration (from SMI-8.6 to 8.X+Sun), and Differences (5 sections comparing and contrasting config files and binaries).

IBM AIX

The system resource controller always reports sendmail as "inoperative". What's wrong?

When I use version 8 sendmail on an IBM RS/6000 running AIX, the system resource controller always reports sendmail as "inoperative", even though it's actually running. What's wrong?

When running as a daemon, sendmail detaches from its parent process, fooling the SRC into thinking that sendmail has exited. To fix this, issue the commands:

kill `head -1 /etc/sendmail.pid` chssys -s sendmail -f 9 -n 15 -S -a "-bD" startsrc -s sendmail -a "-bd -q30m" # your sendmail args may vary

Now the SRC should report the correct status of sendmail.

For more information, read up on the System Resource Controller, the lssrc command and the chssys command in the online AIX documentation.

Why can't I use AIX to get email to some sites?

When I use IBM's sendmail on an IBM RS/6000 running AIX trying to get to certain sites, it seems that I can get to some of them and not others. What's wrong?

There are two possible problems here:

1) Your version of sendmail is not configured to recognize MX records in the DNS. Search through your sendmail.cf looking for "OK MX" or "OK ALL". Older configurations had this line commented out, and this will cause mail from you to some sites to fail (because those sites have MX records, but no A records in their DNS for the specific Fully Qualified Domain Name you're trying to mail to).

For more information, see the comp.unix.aix FAQ ftp://rtfm.mit.edu/pub/usenet/news.answers/aix-faq/.

2) There is a negative caching bug in AIX 3.2.5 with /usr/sbin/named executables that are less than 103000 bytes long. Ask your IBM representative to give you PMP 3251, or the most recent patch that fixes this problem for your particular configuration and version of the OS.

Why can't I get sendmail 8.7.1 to use MX records with AIX 3.2.5?

IBM, in their infinite wisdom, provided a header file that would easily mis-compile. This resulted in the struct{} for the DNS query to be mis-allocated, and MX processing would barf.

Fix 1) upgrade to 8.7.5 - this has a code fix for this problem.

Fix 2) Install the BIND 4.9.4 libraries and include files and tweak the Makefile.AIX to use them - I *think* these Get It Right (if not, at least it'll die during compile rather than failing weirdly at runtime).

Fix 3) Hack Makefile.AIX to pass a -DBIT_ZERO_ON_LEFT to cause the headers to use the right #ifdefs.

Linux

Red Hat

Why do I have so many sendmail problems configuring sendmail with linuxconf?

Do not edit sendmail.cf with linuxconf. This tool and its module "mailconf" are broken and based on very old rulesets from 8.8.7 . You will have many troubles if you do this. First make sure that the sendmail-cf RPM is installed. Then create your own myhost.mc file in /usr/lib/sendmail-cf/cf:

% cd /usr/lib/sendmail-cf/cf % cp redhat.mc myhost.mc (Edit myhost.mc) % m4 ../m4/cf.m4 myhost.mc > myhost.cf (Test this new myhost.cf; once it's known good, install it:) (If 8.9.x or earlier:) % cp myhost.cf /etc/sendmail.cf % chown root /etc/sendmail.cf (If 8.10.x or later:) % cp myhost.cf /etc/mail/sendmail.cf % chown root /etc/mail/sendmail.cf

See /usr/doc/sendmail/README.cf (or just README) for features and detailed instructions how to do this.

I built sendmail.cf from sendmail.mc and it works until the next reboot of the machine. What is going on?

If you have used linuxconf's module "mailconf" just once, it will rewrite your sendmail.cf on every reboot if it sees that sendmail.cf is changed from linuxconf. The solution is to remove the mailconf module from linuxconf. Turn on linuxconf and go to item

Control files and systems > Configure Linuxconf modules

Scroll down to "Module path -> mailconf" and turn off the button "this module is active", then click "Accept" and "quit" to quit linuxconf.

This will disable linuxconf's control of sendmail. Build sendmail.cf again from sendmail.mc (see 5.3.1), and restart sendmail.

Why can't I receive mail with Red Hat 7.1 and later?

Red Hat, like some other vendors, changed the way that sendmail is run. (See 4.22 for a more general discussion of this problem.) They decided that most people need a client-only version of sendmail. So it is listening only on the localhost interface. Check the RH documentation on how to change that:

Make sure that you have installed the "sendmail-cf" package on your system -- it should be on your install media.

Then check the file "sendmail.mc" (probably in "/etc/mail"). Look for the string "DAEMON_OPTIONS" and for the comment lines near that string.

Also note that Red Hat 7.1 and later build sendmail with tcpwrapper support, and provide a hosts.deny file that rejects all external mail. The sendmail:ALL addition to hosts.allow fixes this.

SusE

Where is the sendmail.mc file on SuSE Linux?

On SuSE Linux systems there is no real sendmail.mc file. This file is generated 'on the fly' by SuSEconfig using several variables in /etc/rc.config and /etc/rc.config.d/sendmail.rc.config (SuSE <= 7.3) or /etc/sysconfig/sendmail (SuSE >= 8.0).

SuSEconfig executes the script /sbin/conf.d/SuSEconfig.sendmail to a) build a temorary .mc file b) execute m4 to generate /etc/sendmail.cf and c) delete the temporary .mc file afterwards.

To make customisations you cannot achieve by modifying the variables in the configuration files mentioned above (using YaST or YaST2), you have two options:

  1. Use /etc/mail/linux.mc (or /etc/mail/linux.nullclient.mc) as a starting point. Both files contain several helpful comments.
  2. To get a .mc file based on your current configuration, modify /sbin/conf.d/SuSEconfig.sendmail to keep the temporary .mc file and execute SuSEconfig afterwards. Then use that copy as starting point.

In both cases you have to build your /etc/sendmail.cf (note: SuSE still uses /etc not /etc/mail as suggested in the manual) using the m4 macroprocessor:

m4 your.mc.file > /etc/sendmail.cf

Then reload sendmail with "rcsendmail reload".

To prevent SuSEconfig from overiding your new sendmail.cf in future runs, set the variable "SENDMAIL_TYPE" in /etc/rc.config.d/sendmail.rc.config to "no" (SuSE Linux <= 7.3). On systems >= 8.0 you probably will have to set an "exit" command atop of the file /sbin/conf.d/SuSEconfig.sendmail to do the same. SuSE 8.0 does not know the SENDMAIL_TYPE variable.

Sendmail FAQ



Site Map | Privacy Policy | Terms & Conditions | Copyright © 1998-2013 Sendmail, Inc. All Rights Reserved.