If you have a look at the spec file you can see that Red Hat has provided several patches. These are:
Patch0: sendmail-8.9.3-redhat.patch <--- this patch configures the source code correctly for the Red Hat Linux file system structure
Patch1: sendmail-8.9.3-cf.patch <--- this patch configures the default mail delivery agent (procmail) and sets up a status file
Patch2: sendmail-8.7.1-makemapman.patch <--- this patch edits the makemap.8 man page
Patch3: sendmail-8.7.1-smrsh.patch <--- this patch implements changes resulting from a security announcement from CERT
Patch4: sendmail-8.9.3-db1.patch <--- this patch upgrades the db functionality included with sendmail
Patch5: sendmail-8.8.7-rmail.patch <--- this patch removes undesirable command switches
Patch6: sendmail-8.9.3-smrsh.patch <--- this patch defines binary locations and adds a config for smrsh (sendmail restricted shell) which is the default configuration with Red Hat sendmail.
In addition to these patches Red Hat has also provided an initial, default, configuration. You do not have to use it but it's there. Let's have a look at it:
divert(-1) dnl This is the macro config file used to generate the /etc/sendmail.cf dnl file. If you modify this file you will have to regenerate the dnl /etc/sendmail.cf by running this macro config through the m4 dnl preprocessor: dnl dnl m4 /etc/sendmail.mc > /etc/sendmail.cf dnl dnl You will need to have the sendmail-cf package installed for this dnl to work. include(`@@PATH@@/m4/cf.m4') define(`confDEF_USER_ID',``8:12'') OSTYPE(`linux') undefine(`UUCP_RELAY') undefine(`BITNET_RELAY') define(`confAUTO_REBUILD') define(`confTO_CONNECT', `1m') define(`confTRY_NULL_MX_LIST',true) define(`confDONT_PROBE_INTERFACES',true) define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail') FEATURE(`smrsh',`/usr/sbin/smrsh') FEATURE(mailertable) FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable') FEATURE(redirect) FEATURE(always_add_domain) FEATURE(use_cw_file) FEATURE(local_procmail) MAILER(procmail) MAILER(smtp) FEATURE(`access_db') FEATURE(`blacklist_recipients') dnl We strongly recommend to comment this one out if you want to protect dnl yourself from spam. However, the laptop and users on computers dnl that do not hav 24x7 DNS do need this. FEATURE(`accept_unresolvable_domains') dnl FEATURE(`relay_based_on_MX')
We will examine this file and what it does in detail in a later section of this document. For now it's important to note that depending on what type of environment you're in, this may be an appropriate or completely inappropriate configuration. In either case you aren't tied irrevocably to this file. It may be changed or replaced as needed.
Some of the other files included in the src.rpm are:
sendmail.init <--- this is the initialization script which will be placed in /etc/rc.d/init.d/ to start sendmail when the machine is booted
sendmail.sysconfig <--- this file will end up in /etc/sysconfig after installation
sendmail.8.9.3.tar.gz <--- this is the actual source code for sendmail
check.tar <--- this file contains Claus Assman's anti-UCE hacks
aliases <--- this is the standard /etc/aliases file
The default installation (Workstation or Server) of sendmail does not install the sendmail-cf RPM. By default the intention is for you to use linuxconf to configure sendmail. This may be an appropriate choice for the average user but for the purposes of this document we will want to deal with sendmail using the tools designed by sendmail's creators. This means that most of what we will be doing will involve using m4 to change or modify sendmail's configuration. This method is incompatible with the use of linuxconf so if you intend to use linuxconf to maintain your sendmail configuration you will not be using m4 and vice versa.