README (77349) | README (80785) |
---|---|
1# Copyright (c) 1998-2001 Sendmail, Inc. and its suppliers. 2# All rights reserved. 3# Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved. 4# Copyright (c) 1988 5# The Regents of the University of California. All rights reserved. 6# 7# By using this file, you agree to the terms and conditions set 8# forth in the LICENSE file which can be found at the top level of 9# the sendmail distribution. 10# 11# | 1# Copyright (c) 1998-2001 Sendmail, Inc. and its suppliers. 2# All rights reserved. 3# Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved. 4# Copyright (c) 1988 5# The Regents of the University of California. All rights reserved. 6# 7# By using this file, you agree to the terms and conditions set 8# forth in the LICENSE file which can be found at the top level of 9# the sendmail distribution. 10# 11# |
12# $Id: README,v 8.263.2.1.2.35 2001/05/09 20:58:32 gshapiro Exp $ | 12# $Id: README,v 8.263.2.1.2.37 2001/06/03 03:41:12 ca Exp $ |
13# 14 15This directory contains the source files for sendmail(TM). 16 17********************* 18!! DO NOT USE MAKE !! in this directory to compile sendmail -- 19********************* instead, use the "Build" script located in 20the sendmail directory. It will build an appropriate Makefile, and --- 56 unchanged lines hidden (view full) --- 77You can recompile from scratch using the -c flag with the Build 78command. This removes the existing compilation directory for the 79current platform and builds a new one. 80 81Porting to a new Unix-based system should be a matter of creating 82an appropriate configuration file in the devtools/OS/ directory. 83 84 | 13# 14 15This directory contains the source files for sendmail(TM). 16 17********************* 18!! DO NOT USE MAKE !! in this directory to compile sendmail -- 19********************* instead, use the "Build" script located in 20the sendmail directory. It will build an appropriate Makefile, and --- 56 unchanged lines hidden (view full) --- 77You can recompile from scratch using the -c flag with the Build 78command. This removes the existing compilation directory for the 79current platform and builds a new one. 80 81Porting to a new Unix-based system should be a matter of creating 82an appropriate configuration file in the devtools/OS/ directory. 83 84 |
85 | |
86+----------------------+ 87| DATABASE DEFINITIONS | 88+----------------------+ 89 90There are several database formats that can be used for the alias files 91and for general maps. When used for alias files they interact in an 92attempt to be backward compatible. 93 --- 79 unchanged lines hidden (view full) --- 173"Quirks" section for more information. 174 175The regex map can be used to see if an address matches a certain regular 176expression. For example, all-numerics local parts are common spam 177addresses, so "^[0-9]+$" would match this. By using such a map in a 178check_* rule-set, you can block a certain range of addresses that would 179otherwise be considered valid. 180 | 85+----------------------+ 86| DATABASE DEFINITIONS | 87+----------------------+ 88 89There are several database formats that can be used for the alias files 90and for general maps. When used for alias files they interact in an 91attempt to be backward compatible. 92 --- 79 unchanged lines hidden (view full) --- 172"Quirks" section for more information. 173 174The regex map can be used to see if an address matches a certain regular 175expression. For example, all-numerics local parts are common spam 176addresses, so "^[0-9]+$" would match this. By using such a map in a 177check_* rule-set, you can block a certain range of addresses that would 178otherwise be considered valid. 179 |
180 |
|
181+---------------+ 182| COMPILE FLAGS | 183+---------------+ 184 185Wherever possible, I try to make sendmail pull in the correct 186compilation options needed to compile on various environments based on 187automatically defined symbols. Some machines don't seem to have useful 188symbols available, requiring that a compilation flag be defined in --- 269 unchanged lines hidden (view full) --- 458SNPRINTF_IS_BROKEN 459 Set this if your system has an snprintf() implementation 460 which does not NUL terminate the string being filled in. 461 Use test/t_snprintf.c to test your system. 462NEEDSGETIPNODE Set this if your system supports IPv6 but doesn't include 463 the getipnodeby{name,addr}() functions. Set automatically 464 for Linux's glibc. 465 | 181+---------------+ 182| COMPILE FLAGS | 183+---------------+ 184 185Wherever possible, I try to make sendmail pull in the correct 186compilation options needed to compile on various environments based on 187automatically defined symbols. Some machines don't seem to have useful 188symbols available, requiring that a compilation flag be defined in --- 269 unchanged lines hidden (view full) --- 458SNPRINTF_IS_BROKEN 459 Set this if your system has an snprintf() implementation 460 which does not NUL terminate the string being filled in. 461 Use test/t_snprintf.c to test your system. 462NEEDSGETIPNODE Set this if your system supports IPv6 but doesn't include 463 the getipnodeby{name,addr}() functions. Set automatically 464 for Linux's glibc. 465 |
466 |
|
466+-----------------------+ 467| COMPILE-TIME FEATURES | 468+-----------------------+ 469 470There are a bunch of features that you can decide to compile in, such 471as selecting various database packages and special protocol support. 472Several are assumed based on other compilation flags -- if you want to 473"un-assume" something, you probably need to edit conf.h. Compilation --- 121 unchanged lines hidden (view full) --- 595 enables the security layer of SASL. The sfio include file 596 stdio.h must be installed in a subdirectory called sfio, 597 i.e., if you install sfio in /usr/local, stdio.h should 598 be in /usr/local/include/sfio, and libsfio.a should be in 599 /usr/local/lib. Notice: read the sfio section in 600 OPERATING SYSTEM AND COMPILE QUIRKS. 601 602 | 467+-----------------------+ 468| COMPILE-TIME FEATURES | 469+-----------------------+ 470 471There are a bunch of features that you can decide to compile in, such 472as selecting various database packages and special protocol support. 473Several are assumed based on other compilation flags -- if you want to 474"un-assume" something, you probably need to edit conf.h. Compilation --- 121 unchanged lines hidden (view full) --- 596 enables the security layer of SASL. The sfio include file 597 stdio.h must be installed in a subdirectory called sfio, 598 i.e., if you install sfio in /usr/local, stdio.h should 599 be in /usr/local/include/sfio, and libsfio.a should be in 600 /usr/local/lib. Notice: read the sfio section in 601 OPERATING SYSTEM AND COMPILE QUIRKS. 602 603 |
604Generic notice: If you enable a compile time option that needs 605libraries or include files that don't come with sendmail or are 606installed in a location that your C compiler doesn't use by default 607you should set confINCDIRS and confLIBDIRS as explained in the 608first section: BUILDING SENDMAIL. 609 610 |
|
603+---------------------+ 604| DNS/RESOLVER ISSUES | 605+---------------------+ 606 607Many systems have old versions of the resolver library. At a minimum, 608you should be running BIND 4.8.3; older versions may compile, but they 609have known bugs that should give you pause. 610 --- 23 unchanged lines hidden (view full) --- 634When attempting to canonify a hostname, some broken name servers will 635return SERVFAIL (a temporary failure) on T_AAAA (IPv6) lookups. If you 636want to excuse this behavior, compile sendmail with 637-D_FFR_WORKAROUND_BROKEN_NAMESERVERS and add WorkAroundBrokenAAAA to your 638ResolverOptions setting. However, instead, we recommend catching the 639problem and reporting it to the name server administrator so we can rid the 640world of broken name servers. 641 | 611+---------------------+ 612| DNS/RESOLVER ISSUES | 613+---------------------+ 614 615Many systems have old versions of the resolver library. At a minimum, 616you should be running BIND 4.8.3; older versions may compile, but they 617have known bugs that should give you pause. 618 --- 23 unchanged lines hidden (view full) --- 642When attempting to canonify a hostname, some broken name servers will 643return SERVFAIL (a temporary failure) on T_AAAA (IPv6) lookups. If you 644want to excuse this behavior, compile sendmail with 645-D_FFR_WORKAROUND_BROKEN_NAMESERVERS and add WorkAroundBrokenAAAA to your 646ResolverOptions setting. However, instead, we recommend catching the 647problem and reporting it to the name server administrator so we can rid the 648world of broken name servers. 649 |
650 |
|
642+----------------------------------------+ 643| STARTTLS COMPILATION AND CONFIGURATION | 644+----------------------------------------+ 645 646Please read the docs accompanying the OpenSSL library and sfio. 647You have to compile and install both libraries before you can compile 648sendmail. See devtools/README how to set the correct compile time 649parameters; you should at least set the following variables: 650 651define(`confSTDIO_TYPE', `portable') | 651+----------------------------------------+ 652| STARTTLS COMPILATION AND CONFIGURATION | 653+----------------------------------------+ 654 655Please read the docs accompanying the OpenSSL library and sfio. 656You have to compile and install both libraries before you can compile 657sendmail. See devtools/README how to set the correct compile time 658parameters; you should at least set the following variables: 659 660define(`confSTDIO_TYPE', `portable') |
652APPENDDEF(`confENVDEF', `-DSFIO') 653APPENDDEF(`confLIBS', `-lsfio') | 661APPENDDEF(`conf_sendmail_ENVDEF', `-DSFIO') 662APPENDDEF(`conf_sendmail_LIBS', `-lsfio') |
654APPENDDEF(`conf_sendmail_ENVDEF', `-DSTARTTLS') 655APPENDDEF(`conf_sendmail_LIBS', `-lssl -lcrypto') 656 | 663APPENDDEF(`conf_sendmail_ENVDEF', `-DSTARTTLS') 664APPENDDEF(`conf_sendmail_LIBS', `-lssl -lcrypto') 665 |
666If you have installed the OpenSSL libraries and include files in 667a location that your C compiler doesn't use by default you should 668set confINCDIRS and confLIBDIRS as explained in the first section: 669BUILDING SENDMAIL. 670 |
|
657Configuration information can be found in doc/op/op.me (required 658certificates) and cf/README (how to tell sendmail about certificates). 659 660To perform an initial test, connect to your sendmail daemon 661(telnet localhost 25) and issue a EHLO localhost and see whether 662250-STARTTLS 663is in the response. If it isn't, run the daemon with 664-O LogLevel=14 665and try again. Then take a look at the logfile and see whether 666there are any problems listed about permissions (unsafe files) 667or the validity of X.509 certificates. 668 669Note: sfio must be used in all libraries with which sendmail exchanges | 671Configuration information can be found in doc/op/op.me (required 672certificates) and cf/README (how to tell sendmail about certificates). 673 674To perform an initial test, connect to your sendmail daemon 675(telnet localhost 25) and issue a EHLO localhost and see whether 676250-STARTTLS 677is in the response. If it isn't, run the daemon with 678-O LogLevel=14 679and try again. Then take a look at the logfile and see whether 680there are any problems listed about permissions (unsafe files) 681or the validity of X.509 certificates. 682 683Note: sfio must be used in all libraries with which sendmail exchanges |
670file pointers. That is, libsmutil must be compiled with sfio, which 671is accomplished by the above config parameters. Another example is 672PH map support. This does not apply to the usual libraries, e.g., 673OpenSSL, Berkeley DB, Cyrus SASL. | 684file pointers. An example is PH map support. This does not apply to the 685usual libraries, e.g., OpenSSL, Berkeley DB, Cyrus SASL. |
674 675Further information can be found via: 676http://www.sendmail.org/tips/ 677 678 679+------------------------------------+ 680| SASL COMPILATION AND CONFIGURATION | 681+------------------------------------+ 682 683Please read the docs accompanying the library (INSTALL and README). 684If you use Berkeley DB for Cyrus SASL then you must compile sendmail | 686 687Further information can be found via: 688http://www.sendmail.org/tips/ 689 690 691+------------------------------------+ 692| SASL COMPILATION AND CONFIGURATION | 693+------------------------------------+ 694 695Please read the docs accompanying the library (INSTALL and README). 696If you use Berkeley DB for Cyrus SASL then you must compile sendmail |
685with the same version of Berkeley DB. | 697with the same version of Berkeley DB. See devtools/README how to 698set the correct compile time parameters; you should at least set 699the following variables: |
686 | 700 |
701APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL') 702APPENDDEF(`conf_sendmail_LIBS', `-lsasl') 703 704If you have installed the Cyrus SASL library and include files in 705a location that your C compiler doesn't use by default you should 706set confINCDIRS and confLIBDIRS as explained in the first section: 707BUILDING SENDMAIL. 708 |
|
687You have to select and install authentication mechanisms and tell 688sendmail where to find the sasl library and the include files (see 689devtools/README for the parameters to set). Setup the required 690users and passwords as explained in the SASL documentation. See 691also cf/README for authentication related options (esp. DefaultAuthInfo 692if you want authentication between MTAs). 693 694To perform an initial test, connect to your sendmail daemon --- 899 unchanged lines hidden (view full) --- 1594 1595+--------------+ 1596| MANUAL PAGES | 1597+--------------+ 1598 1599The manual pages have been written against the -man macros, and 1600should format correctly with any reasonable *roff. 1601 | 709You have to select and install authentication mechanisms and tell 710sendmail where to find the sasl library and the include files (see 711devtools/README for the parameters to set). Setup the required 712users and passwords as explained in the SASL documentation. See 713also cf/README for authentication related options (esp. DefaultAuthInfo 714if you want authentication between MTAs). 715 716To perform an initial test, connect to your sendmail daemon --- 899 unchanged lines hidden (view full) --- 1616 1617+--------------+ 1618| MANUAL PAGES | 1619+--------------+ 1620 1621The manual pages have been written against the -man macros, and 1622should format correctly with any reasonable *roff. 1623 |
1624 |
|
1602+-----------------+ 1603| DEBUGGING HOOKS | 1604+-----------------+ 1605 1606As of 8.6.5, sendmail daemons will catch a SIGUSR1 signal and log 1607some debugging output (logged at LOG_DEBUG severity). The 1608information dumped is: 1609 --- 91 unchanged lines hidden (view full) --- 1701trace.c The trace package. These routines allow setting and 1702 testing of trace flags with a high granularity. 1703udb.c The user database interface module. 1704usersmtp.c Routines to implement user SMTP. 1705util.c Some general purpose routines used by sendmail. 1706version.c The version number and information about this 1707 version of sendmail. 1708 | 1625+-----------------+ 1626| DEBUGGING HOOKS | 1627+-----------------+ 1628 1629As of 8.6.5, sendmail daemons will catch a SIGUSR1 signal and log 1630some debugging output (logged at LOG_DEBUG severity). The 1631information dumped is: 1632 --- 91 unchanged lines hidden (view full) --- 1724trace.c The trace package. These routines allow setting and 1725 testing of trace flags with a high granularity. 1726udb.c The user database interface module. 1727usersmtp.c Routines to implement user SMTP. 1728util.c Some general purpose routines used by sendmail. 1729version.c The version number and information about this 1730 version of sendmail. 1731 |
1709(Version $Revision: 8.263.2.1.2.35 $, last update $Date: 2001/05/09 20:58:32 $ ) | 1732(Version $Revision: 8.263.2.1.2.37 $, last update $Date: 2001/06/03 03:41:12 $ ) |