You are previewing sendmail, 4th Edition.

sendmail, 4th Edition

Cover of sendmail, 4th Edition by Bryan Costales... Published by O'Reilly Media, Inc.
  1. sendmail, 4th Edition
  2. Dedication
  3. Preface
    1. Changes Since the Previous Edition
    2. Why This Book Is Necessary
    3. History
    4. Thoughts from Eric Allman
    5. Organization
    6. Audience and Assumptions
    7. Unix and sendmail Versions
    8. Conventions Used in This Book
    9. Using Code Examples
    10. Additional Sources of Information
    11. Other Books, Other Problems
    12. How to Contact Us
    13. Safari® Books Online
    14. Acknowledgments
  4. 1. Some Basics
    1. Email Basics
    2. Requests for Comments (RFCs)
    3. Email and sendmail
      1. Other MTAs
      2. Why sendmail Is So Complex
    4. Basic Parts of sendmail
      1. The Configuration File
      2. The Queue
      3. Aliases and Mailing Lists
    5. Basic Parts of a Mail Message
      1. Run sendmail by Hand
      2. The Header
      3. The Body
      4. The Envelope
    6. Basic Roles of sendmail
      1. Role in the Filesystem
      2. Role in the aliases File
      3. Role in Queue Management
      4. Role in Local Delivery
      5. Delivery to a Mailbox
      6. Delivery Through a Program
      7. Role in Network Transport
      8. Role in TCP/IP
      9. Role in UUCP
      10. Role in Other Protocols
      11. Role As a Daemon
    7. Basic Modes of sendmail
      1. How to Run sendmail
      2. Kill and Restart, Beginning with V8.7
      3. Show Queue Mode (-bp)
      4. Rebuild Aliases Mode (-bi)
      5. Verify Mode (-bv)
      6. Verbose Mode (-v)
      7. Debugging Mode (-d)
    8. The sendmail.cf File
      1. Configuration Commands
      2. The version Command
      3. Comments
      4. A Quick Tour
  5. I. Administration
    1. 2. Download, Build, and Install
      1. Vendor Versus Compiling
      2. Download the Source
      3. What's Where in the Source
      4. Build sendmail
      5. Install sendmail
      6. Pitfalls
      7. Build m4 Macro Reference
    2. 3. Tune sendmail with Compile-Time Macros
      1. Before You Begin, a Checklist
      2. To Port, Tune, or Debug
      3. Pitfalls
      4. Compile-Time Macro Reference
    3. 4. Maintain Security with sendmail
      1. Why root?
      2. The Environment
      3. SMTP Probes
      4. The Configuration File
      5. Permissions
      6. The aliases File
      7. Forged Mail
      8. Security Features
      9. Other Security Information
      10. Pitfalls
    4. 5. Authentication and Encryption
      1. Support SMTP AUTH
      2. Public Key Cryptography
      3. STARTTLS
      4. Pitfalls
    5. 6. The sendmail Command Line
      1. Alternative argv[0] Names
      2. Command-Line Switches
      3. List of Recipient Addresses
      4. Processing the Command Line
      5. sendmail's exit( ) Status
      6. Pitfalls
      7. Alphabetized Command-Line Switches
    6. 7. How to Handle Spam
      1. The Local_check_ Rule Sets
      2. How DNSBL Works
      3. Check Headers with Rule Sets
      4. Relaying
      5. The access Database
      6. Spam Suppression Features
      7. Pitfalls
    7. 8. Test Rule Sets with -bt
      1. Overview
      2. Configuration Lines
      3. Dump a sendmail Macro or Class
      4. Show an Item
      5. Complex Actions Made Simple
      6. Process-Specified Addresses
      7. Add Debugging for Detail
      8. Batch Rule-Set Testing
      9. Pitfalls
    8. 9. DNS and sendmail
      1. Overview
      2. How sendmail Uses DNS
      3. Set Up MX Records
      4. How to Use dig
      5. Pitfalls
    9. 10. Build and Use Companion Programs
      1. The Build Script
      2. The editmap Program
      3. The mail.local Delivery Agent
      4. The mailstats Program
      5. The makemap Program
      6. The praliases Program
      7. The rmail Delivery Agent
      8. The smrsh Program
      9. The vacation Program
      10. Pitfalls
    10. 11. Manage the Queue
      1. Overview of the Queue
      2. Parts of a Queued Message
      3. Using Multiple Queue Directories
      4. Queue Groups (V8.12 and Later)
      5. Bogus qf Files
      6. Printing the Queue
      7. How the Queue Is Processed
      8. Cause Queues to Be Processed
      9. Process Alternative Queues
      10. Queue Quarantining
      11. Pitfalls
      12. The qf File Internals
    11. 12. Maintain Aliases
      1. The aliases(5) File
      2. Forms of Alias Delivery
      3. Write a Delivery Agent Script
      4. Special Aliases
      5. The aliases Database
      6. Prevent Aliasing with -n
      7. Pitfalls
    12. 13. Mailing Lists and ~/.forward
      1. Internal Mailing Lists
      2. :include: Mailing Lists
      3. Defining a Mailing List Owner
      4. Exploder Mailing Lists
      5. Problems with Mailing Lists
      6. Mail List Etiquette
      7. Packages That Help
      8. The User's ~/.forward File
      9. Pitfalls
    13. 14. Signals, Transactions, and Syslog
      1. Signal the Daemon
      2. Log Transactions with -X
      3. Log with syslog
      4. Pitfalls
      5. Other Useful Logging
      6. Alphabetized syslog Equates
    14. 15. Debug sendmail with -d
      1. The Syntax of -d
      2. The Behavior of -d
      3. Interpret the Output
      4. The -D Debug File Switch
      5. Table of All -d Categories
      6. Pitfalls
      7. Reference for -d in Numerical Order
  6. II. Configuration Reference
    1. 16. Configuration File Overview
      1. Overall Syntax
      2. Comments
      3. V8 Comments
      4. Continuation Lines
      5. The V Configuration Command
      6. Pitfalls
    2. 17. Configure sendmail.cf with m4
      1. The m4 Preprocessor
      2. Configure with m4
      3. m4 Macros by Function
      4. Masquerading
      5. Relays
      6. UUCP Support
      7. Pitfalls
      8. Configuration File Feature Reference
    3. 18. The R (Rules) Configuration Command
      1. Why Rules?
      2. The R Configuration Command
      3. Tokenizing Rules
      4. The Workspace
      5. The Behavior of a Rule
      6. The LHS
      7. The RHS
      8. Pitfalls
      9. Rule Operator Reference
    4. 19. The S (Rule Sets) Configuration Command
      1. The S Configuration Command
      2. The Sequence of Rule Sets
      3. The canonify Rule Set 3
      4. The final Rule Set 4
      5. The parse Rule Set 0
      6. The localaddr Rule Set 5
      7. Rule Sets 1 and 2
      8. Pitfalls
      9. Policy Rule Set Reference
    5. 20. The M (Mail Delivery Agent) Configuration Command
      1. The M Configuration Command
      2. The Symbolic Delivery Agent Name
      3. The mc Configuration Syntax
      4. Delivery Agents by Name
      5. Delivery Agent Equates
      6. How a Delivery Agent Is Executed
      7. Pitfalls
      8. Delivery Agent F= Flags
    6. 21. The D (Define a Macro) Configuration Command
      1. Preassigned sendmail Macros
      2. Command-Line Definitions
      3. Configuration-File Definitions
      4. Macro Names
      5. Macro Expansion: $ and $&
      6. Macro Conditionals: $?, $|, and $.
      7. Macros with mc Configuration
      8. Pitfalls
      9. Alphabetized sendmail Macros
    7. 22. The C and F (Class Macro) Configuration Commands
      1. Class Configuration Commands
      2. Access Classes in Rules
      3. Classes with mc Configuration
      4. Internal Class Macros
      5. Pitfalls
      6. Alphabetized Class Macros
    8. 23. The K (Database-Map) Configuration Command
      1. Enable at Compile Time
      2. The K Configuration Command
      3. The K Command Switches
      4. Use $( and $) in Rules
      5. Database Maps with mc Configuration
      6. Pitfalls
      7. Alphabetized Database-Map Types
    9. 24. The O (Options) Configuration Command
      1. Overview
      2. Command-Line Options
      3. Configuration File Options
      4. Options in the mc File
      5. Alphabetical Table of All Options
      6. Option Argument Types
      7. Interrelating Options
      8. Pitfalls
      9. Alphabetized Options
    10. 25. The H (Headers) Configuration Command
      1. Overview
      2. Header Names
      3. Header Field Contents
      4. ?flags? in Header Definitions
      5. Rules Check Header Contents
      6. Header Behavior in conf.c
      7. Headers and mc Configuration
      8. Headers by Category
      9. Forwarding with Re-Sent Headers
      10. Precedence
      11. Pitfalls
      12. Alphabetized Header Reference
    11. 26. The X (Milters) Configuration Command
      1. Create Milter Support
      2. Add Configuration Support
      3. Build a Milter
      4. Pitfalls
      5. smfi_ Routine Reference
      6. xxfi_ Routine Reference
  7. III. Appendixes
    1. A. The mc Configuration Macros and Directives
    2. B. What's New Since Edition 3
      1. Chapter 1, Some Basics
      2. Chapter 2, Download, Build, and Install
      3. Chapter 3, Tune sendmail with Compile-Time Macros
      4. Chapter 4, Maintain Security with sendmail
      5. Chapter 5, Authentication and Encryption
      6. Chapter 6, The sendmail Command Line
      7. Chapter 7, How to Handle Spam
      8. Chapter 8, Test Rule Sets with -bt
      9. Chapter 9, DNS and sendmail
      10. Chapter 10, Build and Use Companion Programs
      11. Chapter 11, Manage the Queue
      12. Chapter 12, Maintain Aliases
      13. Chapter 13, Mailing Lists and ~/.forward
      14. Chapter 14, Signals, Transactions, and Syslog
      15. Chapter 15, Debug sendmail with -d
      16. Chapter 16, Configuration File Overview
      17. Chapter 17, Configure sendmail.cf with m4
      18. Chapter 18, The R (Rules) Configuration Command
      19. Chapter 19, The S (Rule Sets) Configuration Command
      20. Chapter 20, The M (Mail Delivery Agent) Configuration Command
      21. Chapter 21, The D (Define a Macro) Configuration Command
      22. Chapter 22, The C and F (Class Macro) Configuration Commands
      23. Chapter 23, The K (Database-Map) Configuration Command
      24. Chapter 24, The O (Options) Configuration Command
      25. Chapter 25, The H (Headers) Configuration Command
      26. Chapter 26, The X (Milters) Configuration Command
    3. C. The checkcompat( ) Function
      1. How checkcompat( ) Works
  8. Bibliography
    1. Publications and Postings
  9. Index
  10. About the Authors
  11. Colophon
  12. Copyright

DHParameters

Parameters for DSA/DH cipher suite V8.11 and later

For Ephemeral Diffie-Hellman encoding, the server first sends either an RSA or a DSA public key. The server then generates, signs, and sends the Diffie-Hellman (DH) parameters and the DH public value.

The DH parameters that are sent are generated or read from a file. The location of that file is defined with this DHParameters option:

O DHParameters=paramconfiguration file (V8.11 and later)
-ODHParameters=paramcommand line (V8.11 and later)
define(`confDH_PARAMETERS',`param')   ← mc configuration (V8.11 and later)

Here, param is one of the items shown in Table 24-17. Note that only the first character is examined, so 5 and 512 are equivalent. Also note that the default is 1024 for the server, and 512 for the client.

Table 24-17. DHParameters parameter items

Item

Meaning

None

No parameters, so don't use DH.

512

Generate 512-bit fixed parameters.

1024

Generate 1024-bit fixed parameters.

/path/file

Read the parameters from a file.

If you list the /path/file item, the file referenced must live in a safe path, one that is writable only by root.

If you use an item that is not in the table, one of the following errors will print and be logged, depending on whether sendmail is in the role of a client or server:

STARTTLS=client, error: illegal value 'bad item' for DHParam
STARTTLS=server, error: illegal value 'bad item' for DHParam

This option should be defined only if a cipher suite containing DSA/DH is used. Otherwise, ...

The best content for your career. Discover unlimited learning on demand for around $1/day.