Prereq: "2.3.3" diff -cr /var/tmp/postfix-2.3.3/src/global/mail_version.h ./src/global/mail_version.h *** /var/tmp/postfix-2.3.3/src/global/mail_version.h Fri Aug 25 18:25:50 2006 --- ./src/global/mail_version.h Wed Nov 1 14:41:35 2006 *************** *** 20,27 **** * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ ! #define MAIL_RELEASE_DATE "200600825" ! #define MAIL_VERSION_NUMBER "2.3.3" #ifdef SNAPSHOT # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE --- 20,27 ---- * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ ! #define MAIL_RELEASE_DATE "20061101" ! #define MAIL_VERSION_NUMBER "2.3.4" #ifdef SNAPSHOT # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE diff -cr /var/tmp/postfix-2.3.3/HISTORY ./HISTORY *** /var/tmp/postfix-2.3.3/HISTORY Fri Aug 25 18:24:02 2006 --- ./HISTORY Thu Oct 19 11:16:11 2006 *************** *** 12691,12693 **** --- 12691,12771 ---- Robustness: mail delivery agents now detect loops in queue files. Files with too many backward jumps are saved to the "corrupt" directory. File: global/record.c. + + 20060831 + + Bugfix (introduced with initial implementation): missing + "dict_errno = 0" caused mis-leading error messages after + non-error lookup failure. Victor Duchovni. File: + util/dict_cidr.c. + + Robustness: the default TLS cipher lists were changed from + !foo:ALL into ALL:!foo. Victor Duchovni. Files: + global/mail_params.h and documentation. + + 20060902 + + Bugfix (introduced Postfix 2.3): the LMTP client stripped + "inet": from the next-hop destination, but still used the + complete next-hop from the delivery request. File: + smtp/smtp_connect.c. + + 20060903 + + Cleanup: record loop detection. File: global/record.c. + + 20060929 + + Workaround: AIX 5.[1-3] getaddrinfo() creates socket address + structures with a non-zero port value. This breaks the + smtp_bind_address etc. features, and breaks inet_interfaces + settings with only one IP address. Problem reported by + Hamish Marson. Files: util/sock_addr.[hc], util/myaddrinfo.c. + + Bugfix (introduced with the Postfix TLS patch): memory leak + in verify_extract_peer(). The OpenSSL documentation provides + no information on how subjectAltNames are managed. Sam + Rushing, ironport. File: tls/tls_client.c. + + Bugfix (introduced with Postfix 2.2): smtp_generic_maps + turned on MIME conversion. File: smtp/smtp_proto.c. + + Workaround: don't send SIZE information in the MAIL FROM + command when message content will be subject to 8bit -> + quoted-printable conversion. File: smtp/smtp_proto.c. + + 20061002 + + Compatibility: Sendmail now invokes the Milter connect + action with the verified hostname instead of the name + obtained with PTR lookup. File: smtpd/smtpd.c. + + 20061004 + + Cleanup: force space between mailq queueid+status and file + size items. File: showq/showq.c. + + 20061015 + + Cleanup: convert the Milter {mail_addr} and {rcpt_addr} + macro values to external form. File: smtpd/smtpd_milter.c. + + Cleanup: the Milter {mail_addr} and {rcpt_addr} macros are + now available with non-SMTP mail. File: cleanup/cleanup_milter.c. + + Cleanup: convert addresses in Milter recipient add/delete + requests to internal form. File: cleanup/cleanup_milter.c. + + Cleanup: with non-SMTP mail, convert addresses in simulated + MAIL FROM and RCPT TO events to external form. File: + cleanup/cleanup_milter.c. + + 20061017 + + Cleanup: removed spurious warning when the cleanup server + attempts to bounce mail with soft_bounce=yes. Problem + reported by Ralf Hildebrandt. File: cleanup/cleanup_bounce.c. + + Bugfix: null pointer bug when receiving a non-protocol + response on a cached SMTP/LMTP connection. Report by Brian + Kantor. Fix by Victor Duchovni. File: smtp/smtp_reuse.c. Only in .: TODO diff -cr /var/tmp/postfix-2.3.3/auxiliary/qshape/qshape.pl ./auxiliary/qshape/qshape.pl *** /var/tmp/postfix-2.3.3/auxiliary/qshape/qshape.pl Fri Jun 16 16:02:26 2006 --- ./auxiliary/qshape/qshape.pl Wed Sep 27 08:43:27 2006 *************** *** 19,25 **** # Postfix queue message distribution in time and by sender domain # or recipient domain. The program needs read access to the queue # directories and queue files, so it must run as the superuser or ! # the \fBmail_owner\fR specified in \fImain.cf\fR (typically # \fBpostfix\fR). # # Options: --- 19,25 ---- # Postfix queue message distribution in time and by sender domain # or recipient domain. The program needs read access to the queue # directories and queue files, so it must run as the superuser or ! # the \fBmail_owner\fR specified in \fBmain.cf\fR (typically # \fBpostfix\fR). # # Options: *************** *** 73,80 **** # the incoming and active queues. To display a different set of # queues, just list their directory names on the command line. # Absolute paths are used as is, other paths are taken relative ! # to the \fImain.cf\fR \fBqueue_directory\fR parameter setting. ! # While \fImain.cf\fR supports the use of \fI$variable\fR expansion # in the definition of the \fBqueue_directory\fR parameter, the # \fBqshape\fR program does not. If you must use variable expansions # in the \fBqueue_directory\fR setting, you must specify an explicit --- 73,80 ---- # the incoming and active queues. To display a different set of # queues, just list their directory names on the command line. # Absolute paths are used as is, other paths are taken relative ! # to the \fBmain.cf\fR \fBqueue_directory\fR parameter setting. ! # While \fBmain.cf\fR supports the use of \fI$variable\fR expansion # in the definition of the \fBqueue_directory\fR parameter, the # \fBqshape\fR program does not. If you must use variable expansions # in the \fBqueue_directory\fR setting, you must specify an explicit diff -cr /var/tmp/postfix-2.3.3/html/lmtp.8.html ./html/lmtp.8.html *** /var/tmp/postfix-2.3.3/html/lmtp.8.html Wed Jul 19 17:44:23 2006 --- ./html/lmtp.8.html Thu Oct 19 11:43:24 2006 *************** *** 417,430 **** number generator (PRNG). tls_high_cipherlist ! (!EXPORT:!LOW:!MEDIUM:ALL:+RC4:@STRENGTH) The OpenSSL cipherlist for "HIGH" grade ciphers. ! tls_medium_cipherlist (!EXPORT:!LOW:ALL:+RC4:@STRENGTH) The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! tls_low_cipherlist (!EXPORT:ALL:+RC4:@STRENGTH) The OpenSSL cipherlist for "LOW" or higher grade ciphers. --- 417,430 ---- number generator (PRNG). tls_high_cipherlist ! (ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH) The OpenSSL cipherlist for "HIGH" grade ciphers. ! tls_medium_cipherlist (ALL:!EXPORT:!LOW:+RC4:@STRENGTH) The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! tls_low_cipherlist (ALL:!EXPORT:+RC4:@STRENGTH) The OpenSSL cipherlist for "LOW" or higher grade ciphers. diff -cr /var/tmp/postfix-2.3.3/html/local.8.html ./html/local.8.html *** /var/tmp/postfix-2.3.3/html/local.8.html Tue Jul 11 14:40:30 2006 --- ./html/local.8.html Thu Oct 19 11:43:24 2006 *************** *** 46,52 **** local delivery agent tries each pathname in the list until a file is found. ! Delivery via ~/..forward files is done with the privileges of the recipient. Thus, ~/.forward like files must be readable by the recipient, and their parent directory needs to have "execute" permission for the recipient. --- 46,52 ---- local delivery agent tries each pathname in the list until a file is found. ! Delivery via ~/.forward files is done with the privileges of the recipient. Thus, ~/.forward like files must be readable by the recipient, and their parent directory needs to have "execute" permission for the recipient. diff -cr /var/tmp/postfix-2.3.3/html/mailq.1.html ./html/mailq.1.html *** /var/tmp/postfix-2.3.3/html/mailq.1.html Thu Jun 15 14:15:24 2006 --- ./html/mailq.1.html Thu Sep 28 07:06:33 2006 *************** *** 120,167 **** files. -F full_name ! Set the sender full name. This is used only with ! messages that have no From: message header. -f sender Set the envelope sender address. This is the ! address where delivery problems are sent to. With Postfix versions before 2.1, the Errors-To: message header overrides the error return address. ! -G Gateway (relay) submission, as opposed to initial ! user submission. Either do not rewrite addresses ! at all, or update incomplete addresses with the domain information specified with remote_header_re- write_domain. ! This option is ignored before Postfix version 2.3. -h hop_count (ignored) ! Hop count limit. Use the hopcount_limit configura- tion parameter instead. ! -I Initialize alias database. See the newaliases com- mand above. ! -i When reading a message from standard input, don't ! treat a line with only a . character as the end of input. -L label (ignored) ! The logging label. Use the syslog_name configura- tion parameter instead. -m (ignored) Backwards compatibility. -N dsn (default: 'delay, failure') ! Delivery status notification control. Specify ! either a comma-separated list with one or more of ! failure (send notification when delivery fails), delay (send notification when delivery is delayed), ! or success (send notification when the message is ! delivered); or specify never (don't send any noti- fications at all). This feature is available in Postfix 2.3 and later. --- 120,168 ---- files. -F full_name ! Set the sender full name. This overrides the NAME ! environment variable, and is used only with mes- ! sages that have no From: message header. -f sender Set the envelope sender address. This is the ! address where delivery problems are sent to. With Postfix versions before 2.1, the Errors-To: message header overrides the error return address. ! -G Gateway (relay) submission, as opposed to initial ! user submission. Either do not rewrite addresses ! at all, or update incomplete addresses with the domain information specified with remote_header_re- write_domain. ! This option is ignored before Postfix version 2.3. -h hop_count (ignored) ! Hop count limit. Use the hopcount_limit configura- tion parameter instead. ! -I Initialize alias database. See the newaliases com- mand above. ! -i When reading a message from standard input, don't ! treat a line with only a . character as the end of input. -L label (ignored) ! The logging label. Use the syslog_name configura- tion parameter instead. -m (ignored) Backwards compatibility. -N dsn (default: 'delay, failure') ! Delivery status notification control. Specify ! either a comma-separated list with one or more of ! failure (send notification when delivery fails), delay (send notification when delivery is delayed), ! or success (send notification when the message is ! delivered); or specify never (don't send any noti- fications at all). This feature is available in Postfix 2.3 and later. *************** *** 170,176 **** Backwards compatibility. -oAalias_database ! Non-default alias database. Specify pathname or type:pathname. See postalias(1) for details. -O option=value (ignored) --- 171,177 ---- Backwards compatibility. -oAalias_database ! Non-default alias database. Specify pathname or type:pathname. See postalias(1) for details. -O option=value (ignored) *************** *** 180,239 **** -o8 (ignored) To send 8-bit or binary content, use an appropriate ! MIME encapsulation and specify the appropriate -B command-line option. ! -oi When reading a message from standard input, don't ! treat a line with only a . character as the end of input. -om (ignored) ! The sender is never eliminated from alias etc. expansions. -o x value (ignored) ! Set option x to value. Use the equivalent configu- ration parameter in main.cf instead. -r sender Set the envelope sender address. This is the ! address where delivery problems are sent to. With Postfix versions before 2.1, the Errors-To: message header overrides the error return address. -R return_limit (ignored) ! Limit the size of bounced mail. Use the ! bounce_size_limit configuration parameter instead. ! -q Attempt to deliver all queued mail. This is imple- mented by executing the postqueue(1) command. Warning: flushing undeliverable mail frequently ! will result in poor delivery performance of all other mail. -qinterval (ignored) ! The interval between queue runs. Use the queue_run_delay configuration parameter instead. -qRsite ! Schedule immediate delivery of all mail that is queued for the named site. This option accepts only ! site names that are eligible for the "fast flush" ! service, and is implemented by executing the postqueue(1) command. See flush(8) for more infor- mation about the "fast flush" service. -qSsite ! This command is not implemented. Use the slower "sendmail -q" command instead. ! -t Extract recipients from message headers. These are ! added to any recipients specified on the command line. ! With Postfix versions prior to 2.1, this option ! requires that no recipient addresses are specified on the command line. -U (ignored) --- 181,240 ---- -o8 (ignored) To send 8-bit or binary content, use an appropriate ! MIME encapsulation and specify the appropriate -B command-line option. ! -oi When reading a message from standard input, don't ! treat a line with only a . character as the end of input. -om (ignored) ! The sender is never eliminated from alias etc. expansions. -o x value (ignored) ! Set option x to value. Use the equivalent configu- ration parameter in main.cf instead. -r sender Set the envelope sender address. This is the ! address where delivery problems are sent to. With Postfix versions before 2.1, the Errors-To: message header overrides the error return address. -R return_limit (ignored) ! Limit the size of bounced mail. Use the ! bounce_size_limit configuration parameter instead. ! -q Attempt to deliver all queued mail. This is imple- mented by executing the postqueue(1) command. Warning: flushing undeliverable mail frequently ! will result in poor delivery performance of all other mail. -qinterval (ignored) ! The interval between queue runs. Use the queue_run_delay configuration parameter instead. -qRsite ! Schedule immediate delivery of all mail that is queued for the named site. This option accepts only ! site names that are eligible for the "fast flush" ! service, and is implemented by executing the postqueue(1) command. See flush(8) for more infor- mation about the "fast flush" service. -qSsite ! This command is not implemented. Use the slower "sendmail -q" command instead. ! -t Extract recipients from message headers. These are ! added to any recipients specified on the command line. ! With Postfix versions prior to 2.1, this option ! requires that no recipient addresses are specified on the command line. -U (ignored) *************** *** 246,308 **** This feature is available in Postfix 2.3 and later. -XV (Postfix 2.2 and earlier: -V) ! Variable Envelope Return Path. Given an envelope ! sender address of the form owner-listname@origin, ! each recipient user@domain receives mail with a personalized envelope sender address. ! By default, the personalized envelope sender ! address is owner-listname+user=domain@origin. The ! default + and = characters are configurable with ! the default_verp_delimiters configuration parame- ter. -XVxy (Postfix 2.2 and earlier: -Vxy) ! As -XV, but uses x and y as the VERP delimiter ! characters, instead of the characters specified ! with the default_verp_delimiters configuration parameter. ! -v Send an email report of the first delivery attempt ! (Postfix versions 2.1 and later). Mail delivery ! always happens in the background. When multiple -v options are given, enable verbose logging for debugging purposes. -X log_file (ignored) ! Log mailer traffic. Use the debug_peer_list and ! debug_peer_level configuration parameters instead. SECURITY ! By design, this program is not set-user (or group) id. ! However, it must handle data from untrusted users or ! untrusted machines. Thus, the usual precautions need to be taken against malicious inputs. DIAGNOSTICS ! Problems are logged to syslogd(8) and to the standard error stream. ENVIRONMENT MAIL_CONFIG Directory with Postfix configuration files. ! MAIL_VERBOSE Enable verbose logging for debugging purposes. ! MAIL_DEBUG Enable debugging with an external command, as spec- ! ified with the debugger_command configuration parameter. CONFIGURATION PARAMETERS ! The following main.cf parameters are especially relevant to this program. The text below provides only a parameter ! summary. See postconf(5) for more details including exam- ples. TROUBLE SHOOTING CONTROLS ! The DEBUG_README file gives examples of how to trouble shoot a Postfix system. debugger_command (empty) --- 247,313 ---- This feature is available in Postfix 2.3 and later. -XV (Postfix 2.2 and earlier: -V) ! Variable Envelope Return Path. Given an envelope ! sender address of the form owner-listname@origin, ! each recipient user@domain receives mail with a personalized envelope sender address. ! By default, the personalized envelope sender ! address is owner-listname+user=domain@origin. The ! default + and = characters are configurable with ! the default_verp_delimiters configuration parame- ter. -XVxy (Postfix 2.2 and earlier: -Vxy) ! As -XV, but uses x and y as the VERP delimiter ! characters, instead of the characters specified ! with the default_verp_delimiters configuration parameter. ! -v Send an email report of the first delivery attempt ! (Postfix versions 2.1 and later). Mail delivery ! always happens in the background. When multiple -v options are given, enable verbose logging for debugging purposes. -X log_file (ignored) ! Log mailer traffic. Use the debug_peer_list and ! debug_peer_level configuration parameters instead. SECURITY ! By design, this program is not set-user (or group) id. ! However, it must handle data from untrusted users or ! untrusted machines. Thus, the usual precautions need to be taken against malicious inputs. DIAGNOSTICS ! Problems are logged to syslogd(8) and to the standard error stream. ENVIRONMENT MAIL_CONFIG Directory with Postfix configuration files. ! MAIL_VERBOSE (value does not matter) Enable verbose logging for debugging purposes. ! MAIL_DEBUG (value does not matter) Enable debugging with an external command, as spec- ! ified with the debugger_command configuration parameter. + NAME The sender full name. This is used only with mes- + sages that have no From: message header. See also + the -F option above. + CONFIGURATION PARAMETERS ! The following main.cf parameters are especially relevant to this program. The text below provides only a parameter ! summary. See postconf(5) for more details including exam- ples. TROUBLE SHOOTING CONTROLS ! The DEBUG_README file gives examples of how to trouble shoot a Postfix system. debugger_command (empty) *************** *** 310,338 **** mon program is invoked with the -D option. debug_peer_level (2) ! The increment in verbose logging level when a ! remote client or server matches a pattern in the debug_peer_list parameter. debug_peer_list (empty) ! Optional list of remote client or server hostname ! or network address patterns that cause the verbose ! logging level to increase by the amount specified in $debug_peer_level. ACCESS CONTROLS Available in Postfix version 2.2 and later: authorized_flush_users (static:anyone) ! List of users who are authorized to flush the queue. authorized_mailq_users (static:anyone) List of users who are authorized to view the queue. authorized_submit_users (static:anyone) ! List of users who are authorized to submit mail ! with the sendmail(1) command (and with the privi- leged postdrop(1) helper command). RESOURCE AND RATE CONTROLS --- 315,343 ---- mon program is invoked with the -D option. debug_peer_level (2) ! The increment in verbose logging level when a ! remote client or server matches a pattern in the debug_peer_list parameter. debug_peer_list (empty) ! Optional list of remote client or server hostname ! or network address patterns that cause the verbose ! logging level to increase by the amount specified in $debug_peer_level. ACCESS CONTROLS Available in Postfix version 2.2 and later: authorized_flush_users (static:anyone) ! List of users who are authorized to flush the queue. authorized_mailq_users (static:anyone) List of users who are authorized to view the queue. authorized_submit_users (static:anyone) ! List of users who are authorized to submit mail ! with the sendmail(1) command (and with the privi- leged postdrop(1) helper command). RESOURCE AND RATE CONTROLS *************** *** 341,347 **** sent in a non-delivery notification. fork_attempts (5) ! The maximal number of attempts to fork() a child process. fork_delay (1s) --- 346,352 ---- sent in a non-delivery notification. fork_attempts (5) ! The maximal number of attempts to fork() a child process. fork_delay (1s) *************** *** 349,359 **** process. hopcount_limit (50) ! The maximal number of Received: message headers that is allowed in the primary message headers. queue_run_delay (1000s) ! The time between deferred queue scans by the queue manager. FAST FLUSH CONTROLS --- 354,364 ---- process. hopcount_limit (50) ! The maximal number of Received: message headers that is allowed in the primary message headers. queue_run_delay (1000s) ! The time between deferred queue scans by the queue manager. FAST FLUSH CONTROLS *************** *** 362,398 **** fast_flush_domains ($relay_domains) Optional list of destinations that are eligible for ! per-destination logfiles with mail that is queued to those destinations. VERP CONTROLS The VERP_README file describes configuration and operation ! details of Postfix support for variable envelope return path addresses. default_verp_delimiters (+=) The two default VERP delimiter characters. verp_delimiter_filter (-=+) ! The characters Postfix accepts as VERP delimiter ! characters on the Postfix sendmail(1) command line and in SMTP commands. MISCELLANEOUS CONTROLS alias_database (see 'postconf -d' output) ! The alias databases for local(8) delivery that are updated with "newaliases" or with "sendmail -bi". command_directory (see 'postconf -d' output) ! The location of all postfix administrative com- mands. config_directory (see 'postconf -d' output) ! The default location of the Postfix main.cf and master.cf configuration files. daemon_directory (see 'postconf -d' output) ! The directory with Postfix support programs and daemon programs. default_database_type (see 'postconf -d' output) --- 367,403 ---- fast_flush_domains ($relay_domains) Optional list of destinations that are eligible for ! per-destination logfiles with mail that is queued to those destinations. VERP CONTROLS The VERP_README file describes configuration and operation ! details of Postfix support for variable envelope return path addresses. default_verp_delimiters (+=) The two default VERP delimiter characters. verp_delimiter_filter (-=+) ! The characters Postfix accepts as VERP delimiter ! characters on the Postfix sendmail(1) command line and in SMTP commands. MISCELLANEOUS CONTROLS alias_database (see 'postconf -d' output) ! The alias databases for local(8) delivery that are updated with "newaliases" or with "sendmail -bi". command_directory (see 'postconf -d' output) ! The location of all postfix administrative com- mands. config_directory (see 'postconf -d' output) ! The default location of the Postfix main.cf and master.cf configuration files. daemon_directory (see 'postconf -d' output) ! The directory with Postfix support programs and daemon programs. default_database_type (see 'postconf -d' output) *************** *** 400,415 **** postalias(1) and postmap(1) commands. delay_warning_time (0h) ! The time after which the sender receives the mes- sage headers of mail that is still queued. enable_errors_to (no) ! Report mail delivery errors to the address speci- ! fied with the non-standard Errors-To: message ! header, instead of the envelope sender address ! (this feature is removed with Postfix version 2.2, ! is turned off by default with Postfix version 2.1, ! and is always turned on with older Postfix ver- sions). mail_owner (postfix) --- 405,420 ---- postalias(1) and postmap(1) commands. delay_warning_time (0h) ! The time after which the sender receives the mes- sage headers of mail that is still queued. enable_errors_to (no) ! Report mail delivery errors to the address speci- ! fied with the non-standard Errors-To: message ! header, instead of the envelope sender address ! (this feature is removed with Postfix version 2.2, ! is turned off by default with Postfix version 2.1, ! and is always turned on with older Postfix ver- sions). mail_owner (postfix) *************** *** 417,444 **** and most Postfix daemon processes. queue_directory (see 'postconf -d' output) ! The location of the Postfix top-level queue direc- tory. remote_header_rewrite_domain (empty) ! Don't rewrite message headers from remote clients at all when this parameter is empty; otherwise, re- ! write message headers and append the specified domain name to incomplete addresses. syslog_facility (mail) The syslog facility of Postfix logging. syslog_name (postfix) ! The mail system name that is prepended to the ! process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". - trigger_timeout (10s) - The time limit for sending a trigger to a Postfix - daemon (for example, the pickup(8) or qmgr(8) dae- - mon). - FILES /var/spool/postfix, mail queue /etc/postfix, configuration files --- 422,444 ---- and most Postfix daemon processes. queue_directory (see 'postconf -d' output) ! The location of the Postfix top-level queue direc- tory. remote_header_rewrite_domain (empty) ! Don't rewrite message headers from remote clients at all when this parameter is empty; otherwise, re- ! write message headers and append the specified domain name to incomplete addresses. syslog_facility (mail) The syslog facility of Postfix logging. syslog_name (postfix) ! The mail system name that is prepended to the ! process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". FILES /var/spool/postfix, mail queue /etc/postfix, configuration files *************** *** 461,467 **** VERP_README, Postfix VERP howto LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) --- 461,467 ---- VERP_README, Postfix VERP howto LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) diff -cr /var/tmp/postfix-2.3.3/html/newaliases.1.html ./html/newaliases.1.html *** /var/tmp/postfix-2.3.3/html/newaliases.1.html Thu Jun 15 14:15:24 2006 --- ./html/newaliases.1.html Thu Sep 28 07:06:33 2006 *************** *** 120,167 **** files. -F full_name ! Set the sender full name. This is used only with ! messages that have no From: message header. -f sender Set the envelope sender address. This is the ! address where delivery problems are sent to. With Postfix versions before 2.1, the Errors-To: message header overrides the error return address. ! -G Gateway (relay) submission, as opposed to initial ! user submission. Either do not rewrite addresses ! at all, or update incomplete addresses with the domain information specified with remote_header_re- write_domain. ! This option is ignored before Postfix version 2.3. -h hop_count (ignored) ! Hop count limit. Use the hopcount_limit configura- tion parameter instead. ! -I Initialize alias database. See the newaliases com- mand above. ! -i When reading a message from standard input, don't ! treat a line with only a . character as the end of input. -L label (ignored) ! The logging label. Use the syslog_name configura- tion parameter instead. -m (ignored) Backwards compatibility. -N dsn (default: 'delay, failure') ! Delivery status notification control. Specify ! either a comma-separated list with one or more of ! failure (send notification when delivery fails), delay (send notification when delivery is delayed), ! or success (send notification when the message is ! delivered); or specify never (don't send any noti- fications at all). This feature is available in Postfix 2.3 and later. --- 120,168 ---- files. -F full_name ! Set the sender full name. This overrides the NAME ! environment variable, and is used only with mes- ! sages that have no From: message header. -f sender Set the envelope sender address. This is the ! address where delivery problems are sent to. With Postfix versions before 2.1, the Errors-To: message header overrides the error return address. ! -G Gateway (relay) submission, as opposed to initial ! user submission. Either do not rewrite addresses ! at all, or update incomplete addresses with the domain information specified with remote_header_re- write_domain. ! This option is ignored before Postfix version 2.3. -h hop_count (ignored) ! Hop count limit. Use the hopcount_limit configura- tion parameter instead. ! -I Initialize alias database. See the newaliases com- mand above. ! -i When reading a message from standard input, don't ! treat a line with only a . character as the end of input. -L label (ignored) ! The logging label. Use the syslog_name configura- tion parameter instead. -m (ignored) Backwards compatibility. -N dsn (default: 'delay, failure') ! Delivery status notification control. Specify ! either a comma-separated list with one or more of ! failure (send notification when delivery fails), delay (send notification when delivery is delayed), ! or success (send notification when the message is ! delivered); or specify never (don't send any noti- fications at all). This feature is available in Postfix 2.3 and later. *************** *** 170,176 **** Backwards compatibility. -oAalias_database ! Non-default alias database. Specify pathname or type:pathname. See postalias(1) for details. -O option=value (ignored) --- 171,177 ---- Backwards compatibility. -oAalias_database ! Non-default alias database. Specify pathname or type:pathname. See postalias(1) for details. -O option=value (ignored) *************** *** 180,239 **** -o8 (ignored) To send 8-bit or binary content, use an appropriate ! MIME encapsulation and specify the appropriate -B command-line option. ! -oi When reading a message from standard input, don't ! treat a line with only a . character as the end of input. -om (ignored) ! The sender is never eliminated from alias etc. expansions. -o x value (ignored) ! Set option x to value. Use the equivalent configu- ration parameter in main.cf instead. -r sender Set the envelope sender address. This is the ! address where delivery problems are sent to. With Postfix versions before 2.1, the Errors-To: message header overrides the error return address. -R return_limit (ignored) ! Limit the size of bounced mail. Use the ! bounce_size_limit configuration parameter instead. ! -q Attempt to deliver all queued mail. This is imple- mented by executing the postqueue(1) command. Warning: flushing undeliverable mail frequently ! will result in poor delivery performance of all other mail. -qinterval (ignored) ! The interval between queue runs. Use the queue_run_delay configuration parameter instead. -qRsite ! Schedule immediate delivery of all mail that is queued for the named site. This option accepts only ! site names that are eligible for the "fast flush" ! service, and is implemented by executing the postqueue(1) command. See flush(8) for more infor- mation about the "fast flush" service. -qSsite ! This command is not implemented. Use the slower "sendmail -q" command instead. ! -t Extract recipients from message headers. These are ! added to any recipients specified on the command line. ! With Postfix versions prior to 2.1, this option ! requires that no recipient addresses are specified on the command line. -U (ignored) --- 181,240 ---- -o8 (ignored) To send 8-bit or binary content, use an appropriate ! MIME encapsulation and specify the appropriate -B command-line option. ! -oi When reading a message from standard input, don't ! treat a line with only a . character as the end of input. -om (ignored) ! The sender is never eliminated from alias etc. expansions. -o x value (ignored) ! Set option x to value. Use the equivalent configu- ration parameter in main.cf instead. -r sender Set the envelope sender address. This is the ! address where delivery problems are sent to. With Postfix versions before 2.1, the Errors-To: message header overrides the error return address. -R return_limit (ignored) ! Limit the size of bounced mail. Use the ! bounce_size_limit configuration parameter instead. ! -q Attempt to deliver all queued mail. This is imple- mented by executing the postqueue(1) command. Warning: flushing undeliverable mail frequently ! will result in poor delivery performance of all other mail. -qinterval (ignored) ! The interval between queue runs. Use the queue_run_delay configuration parameter instead. -qRsite ! Schedule immediate delivery of all mail that is queued for the named site. This option accepts only ! site names that are eligible for the "fast flush" ! service, and is implemented by executing the postqueue(1) command. See flush(8) for more infor- mation about the "fast flush" service. -qSsite ! This command is not implemented. Use the slower "sendmail -q" command instead. ! -t Extract recipients from message headers. These are ! added to any recipients specified on the command line. ! With Postfix versions prior to 2.1, this option ! requires that no recipient addresses are specified on the command line. -U (ignored) *************** *** 246,308 **** This feature is available in Postfix 2.3 and later. -XV (Postfix 2.2 and earlier: -V) ! Variable Envelope Return Path. Given an envelope ! sender address of the form owner-listname@origin, ! each recipient user@domain receives mail with a personalized envelope sender address. ! By default, the personalized envelope sender ! address is owner-listname+user=domain@origin. The ! default + and = characters are configurable with ! the default_verp_delimiters configuration parame- ter. -XVxy (Postfix 2.2 and earlier: -Vxy) ! As -XV, but uses x and y as the VERP delimiter ! characters, instead of the characters specified ! with the default_verp_delimiters configuration parameter. ! -v Send an email report of the first delivery attempt ! (Postfix versions 2.1 and later). Mail delivery ! always happens in the background. When multiple -v options are given, enable verbose logging for debugging purposes. -X log_file (ignored) ! Log mailer traffic. Use the debug_peer_list and ! debug_peer_level configuration parameters instead. SECURITY ! By design, this program is not set-user (or group) id. ! However, it must handle data from untrusted users or ! untrusted machines. Thus, the usual precautions need to be taken against malicious inputs. DIAGNOSTICS ! Problems are logged to syslogd(8) and to the standard error stream. ENVIRONMENT MAIL_CONFIG Directory with Postfix configuration files. ! MAIL_VERBOSE Enable verbose logging for debugging purposes. ! MAIL_DEBUG Enable debugging with an external command, as spec- ! ified with the debugger_command configuration parameter. CONFIGURATION PARAMETERS ! The following main.cf parameters are especially relevant to this program. The text below provides only a parameter ! summary. See postconf(5) for more details including exam- ples. TROUBLE SHOOTING CONTROLS ! The DEBUG_README file gives examples of how to trouble shoot a Postfix system. debugger_command (empty) --- 247,313 ---- This feature is available in Postfix 2.3 and later. -XV (Postfix 2.2 and earlier: -V) ! Variable Envelope Return Path. Given an envelope ! sender address of the form owner-listname@origin, ! each recipient user@domain receives mail with a personalized envelope sender address. ! By default, the personalized envelope sender ! address is owner-listname+user=domain@origin. The ! default + and = characters are configurable with ! the default_verp_delimiters configuration parame- ter. -XVxy (Postfix 2.2 and earlier: -Vxy) ! As -XV, but uses x and y as the VERP delimiter ! characters, instead of the characters specified ! with the default_verp_delimiters configuration parameter. ! -v Send an email report of the first delivery attempt ! (Postfix versions 2.1 and later). Mail delivery ! always happens in the background. When multiple -v options are given, enable verbose logging for debugging purposes. -X log_file (ignored) ! Log mailer traffic. Use the debug_peer_list and ! debug_peer_level configuration parameters instead. SECURITY ! By design, this program is not set-user (or group) id. ! However, it must handle data from untrusted users or ! untrusted machines. Thus, the usual precautions need to be taken against malicious inputs. DIAGNOSTICS ! Problems are logged to syslogd(8) and to the standard error stream. ENVIRONMENT MAIL_CONFIG Directory with Postfix configuration files. ! MAIL_VERBOSE (value does not matter) Enable verbose logging for debugging purposes. ! MAIL_DEBUG (value does not matter) Enable debugging with an external command, as spec- ! ified with the debugger_command configuration parameter. + NAME The sender full name. This is used only with mes- + sages that have no From: message header. See also + the -F option above. + CONFIGURATION PARAMETERS ! The following main.cf parameters are especially relevant to this program. The text below provides only a parameter ! summary. See postconf(5) for more details including exam- ples. TROUBLE SHOOTING CONTROLS ! The DEBUG_README file gives examples of how to trouble shoot a Postfix system. debugger_command (empty) *************** *** 310,338 **** mon program is invoked with the -D option. debug_peer_level (2) ! The increment in verbose logging level when a ! remote client or server matches a pattern in the debug_peer_list parameter. debug_peer_list (empty) ! Optional list of remote client or server hostname ! or network address patterns that cause the verbose ! logging level to increase by the amount specified in $debug_peer_level. ACCESS CONTROLS Available in Postfix version 2.2 and later: authorized_flush_users (static:anyone) ! List of users who are authorized to flush the queue. authorized_mailq_users (static:anyone) List of users who are authorized to view the queue. authorized_submit_users (static:anyone) ! List of users who are authorized to submit mail ! with the sendmail(1) command (and with the privi- leged postdrop(1) helper command). RESOURCE AND RATE CONTROLS --- 315,343 ---- mon program is invoked with the -D option. debug_peer_level (2) ! The increment in verbose logging level when a ! remote client or server matches a pattern in the debug_peer_list parameter. debug_peer_list (empty) ! Optional list of remote client or server hostname ! or network address patterns that cause the verbose ! logging level to increase by the amount specified in $debug_peer_level. ACCESS CONTROLS Available in Postfix version 2.2 and later: authorized_flush_users (static:anyone) ! List of users who are authorized to flush the queue. authorized_mailq_users (static:anyone) List of users who are authorized to view the queue. authorized_submit_users (static:anyone) ! List of users who are authorized to submit mail ! with the sendmail(1) command (and with the privi- leged postdrop(1) helper command). RESOURCE AND RATE CONTROLS *************** *** 341,347 **** sent in a non-delivery notification. fork_attempts (5) ! The maximal number of attempts to fork() a child process. fork_delay (1s) --- 346,352 ---- sent in a non-delivery notification. fork_attempts (5) ! The maximal number of attempts to fork() a child process. fork_delay (1s) *************** *** 349,359 **** process. hopcount_limit (50) ! The maximal number of Received: message headers that is allowed in the primary message headers. queue_run_delay (1000s) ! The time between deferred queue scans by the queue manager. FAST FLUSH CONTROLS --- 354,364 ---- process. hopcount_limit (50) ! The maximal number of Received: message headers that is allowed in the primary message headers. queue_run_delay (1000s) ! The time between deferred queue scans by the queue manager. FAST FLUSH CONTROLS *************** *** 362,398 **** fast_flush_domains ($relay_domains) Optional list of destinations that are eligible for ! per-destination logfiles with mail that is queued to those destinations. VERP CONTROLS The VERP_README file describes configuration and operation ! details of Postfix support for variable envelope return path addresses. default_verp_delimiters (+=) The two default VERP delimiter characters. verp_delimiter_filter (-=+) ! The characters Postfix accepts as VERP delimiter ! characters on the Postfix sendmail(1) command line and in SMTP commands. MISCELLANEOUS CONTROLS alias_database (see 'postconf -d' output) ! The alias databases for local(8) delivery that are updated with "newaliases" or with "sendmail -bi". command_directory (see 'postconf -d' output) ! The location of all postfix administrative com- mands. config_directory (see 'postconf -d' output) ! The default location of the Postfix main.cf and master.cf configuration files. daemon_directory (see 'postconf -d' output) ! The directory with Postfix support programs and daemon programs. default_database_type (see 'postconf -d' output) --- 367,403 ---- fast_flush_domains ($relay_domains) Optional list of destinations that are eligible for ! per-destination logfiles with mail that is queued to those destinations. VERP CONTROLS The VERP_README file describes configuration and operation ! details of Postfix support for variable envelope return path addresses. default_verp_delimiters (+=) The two default VERP delimiter characters. verp_delimiter_filter (-=+) ! The characters Postfix accepts as VERP delimiter ! characters on the Postfix sendmail(1) command line and in SMTP commands. MISCELLANEOUS CONTROLS alias_database (see 'postconf -d' output) ! The alias databases for local(8) delivery that are updated with "newaliases" or with "sendmail -bi". command_directory (see 'postconf -d' output) ! The location of all postfix administrative com- mands. config_directory (see 'postconf -d' output) ! The default location of the Postfix main.cf and master.cf configuration files. daemon_directory (see 'postconf -d' output) ! The directory with Postfix support programs and daemon programs. default_database_type (see 'postconf -d' output) *************** *** 400,415 **** postalias(1) and postmap(1) commands. delay_warning_time (0h) ! The time after which the sender receives the mes- sage headers of mail that is still queued. enable_errors_to (no) ! Report mail delivery errors to the address speci- ! fied with the non-standard Errors-To: message ! header, instead of the envelope sender address ! (this feature is removed with Postfix version 2.2, ! is turned off by default with Postfix version 2.1, ! and is always turned on with older Postfix ver- sions). mail_owner (postfix) --- 405,420 ---- postalias(1) and postmap(1) commands. delay_warning_time (0h) ! The time after which the sender receives the mes- sage headers of mail that is still queued. enable_errors_to (no) ! Report mail delivery errors to the address speci- ! fied with the non-standard Errors-To: message ! header, instead of the envelope sender address ! (this feature is removed with Postfix version 2.2, ! is turned off by default with Postfix version 2.1, ! and is always turned on with older Postfix ver- sions). mail_owner (postfix) *************** *** 417,444 **** and most Postfix daemon processes. queue_directory (see 'postconf -d' output) ! The location of the Postfix top-level queue direc- tory. remote_header_rewrite_domain (empty) ! Don't rewrite message headers from remote clients at all when this parameter is empty; otherwise, re- ! write message headers and append the specified domain name to incomplete addresses. syslog_facility (mail) The syslog facility of Postfix logging. syslog_name (postfix) ! The mail system name that is prepended to the ! process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". - trigger_timeout (10s) - The time limit for sending a trigger to a Postfix - daemon (for example, the pickup(8) or qmgr(8) dae- - mon). - FILES /var/spool/postfix, mail queue /etc/postfix, configuration files --- 422,444 ---- and most Postfix daemon processes. queue_directory (see 'postconf -d' output) ! The location of the Postfix top-level queue direc- tory. remote_header_rewrite_domain (empty) ! Don't rewrite message headers from remote clients at all when this parameter is empty; otherwise, re- ! write message headers and append the specified domain name to incomplete addresses. syslog_facility (mail) The syslog facility of Postfix logging. syslog_name (postfix) ! The mail system name that is prepended to the ! process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". FILES /var/spool/postfix, mail queue /etc/postfix, configuration files *************** *** 461,467 **** VERP_README, Postfix VERP howto LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) --- 461,467 ---- VERP_README, Postfix VERP howto LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) diff -cr /var/tmp/postfix-2.3.3/html/postconf.5.html ./html/postconf.5.html *** /var/tmp/postfix-2.3.3/html/postconf.5.html Sat Aug 12 10:32:44 2006 --- ./html/postconf.5.html Sun Sep 3 15:21:50 2006 *************** *** 11604,11610 ****
tls_high_cipherlist ! (default: !EXPORT:!LOW:!MEDIUM:ALL:+RC4:@STRENGTH)

The OpenSSL cipherlist for "HIGH" grade ciphers. This defines the meaning of the "high" setting in smtpd_tls_mandatory_ciphers, --- 11604,11610 ----

tls_high_cipherlist ! (default: ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)

The OpenSSL cipherlist for "HIGH" grade ciphers. This defines the meaning of the "high" setting in smtpd_tls_mandatory_ciphers, *************** *** 11617,11623 ****

tls_low_cipherlist ! (default: !EXPORT:ALL:+RC4:@STRENGTH)

The OpenSSL cipherlist for "LOW" or higher grade ciphers. This defines the meaning of the "low" setting in smtpd_tls_mandatory_ciphers, --- 11617,11623 ----

tls_low_cipherlist ! (default: ALL:!EXPORT:+RC4:@STRENGTH)

The OpenSSL cipherlist for "LOW" or higher grade ciphers. This defines the meaning of the "low" setting in smtpd_tls_mandatory_ciphers, *************** *** 11630,11636 ****

tls_medium_cipherlist ! (default: !EXPORT:!LOW:ALL:+RC4:@STRENGTH)

The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. This defines the meaning of the "medium" setting in smtpd_tls_mandatory_ciphers, --- 11630,11636 ----

tls_medium_cipherlist ! (default: ALL:!EXPORT:!LOW:+RC4:@STRENGTH)

The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. This defines the meaning of the "medium" setting in smtpd_tls_mandatory_ciphers, diff -cr /var/tmp/postfix-2.3.3/html/qshape.1.html ./html/qshape.1.html *** /var/tmp/postfix-2.3.3/html/qshape.1.html Mon Jun 26 15:59:12 2006 --- ./html/qshape.1.html Wed Sep 27 08:47:10 2006 *************** *** 20,26 **** Postfix queue message distribution in time and by sender domain or recipient domain. The program needs read access to the queue directories and queue files, so it must run ! as the superuser or the mail_owner specified in >main.cfi> (typically postfix). Options: --- 20,26 ---- Postfix queue message distribution in time and by sender domain or recipient domain. The program needs read access to the queue directories and queue files, so it must run ! as the superuser or the mail_owner specified in main.cf (typically postfix). Options: *************** *** 90,97 **** a different set of queues, just list their direc- tory names on the command line. Absolute paths are used as is, other paths are taken relative to the ! >main.cfi> queue_directory parameter setting. While ! >main.cfi> supports the use of $variable expansion in the definition of the queue_directory parameter, the qshape program does not. If you must use vari- able expansions in the queue_directory setting, you --- 90,97 ---- a different set of queues, just list their direc- tory names on the command line. Absolute paths are used as is, other paths are taken relative to the ! main.cf queue_directory parameter setting. While ! main.cf supports the use of $variable expansion in the definition of the queue_directory parameter, the qshape program does not. If you must use vari- able expansions in the queue_directory setting, you diff -cr /var/tmp/postfix-2.3.3/html/sendmail.1.html ./html/sendmail.1.html *** /var/tmp/postfix-2.3.3/html/sendmail.1.html Thu Jun 15 14:15:24 2006 --- ./html/sendmail.1.html Thu Sep 28 07:06:33 2006 *************** *** 120,167 **** files. -F full_name ! Set the sender full name. This is used only with ! messages that have no From: message header. -f sender Set the envelope sender address. This is the ! address where delivery problems are sent to. With Postfix versions before 2.1, the Errors-To: message header overrides the error return address. ! -G Gateway (relay) submission, as opposed to initial ! user submission. Either do not rewrite addresses ! at all, or update incomplete addresses with the domain information specified with remote_header_re- write_domain. ! This option is ignored before Postfix version 2.3. -h hop_count (ignored) ! Hop count limit. Use the hopcount_limit configura- tion parameter instead. ! -I Initialize alias database. See the newaliases com- mand above. ! -i When reading a message from standard input, don't ! treat a line with only a . character as the end of input. -L label (ignored) ! The logging label. Use the syslog_name configura- tion parameter instead. -m (ignored) Backwards compatibility. -N dsn (default: 'delay, failure') ! Delivery status notification control. Specify ! either a comma-separated list with one or more of ! failure (send notification when delivery fails), delay (send notification when delivery is delayed), ! or success (send notification when the message is ! delivered); or specify never (don't send any noti- fications at all). This feature is available in Postfix 2.3 and later. --- 120,168 ---- files. -F full_name ! Set the sender full name. This overrides the NAME ! environment variable, and is used only with mes- ! sages that have no From: message header. -f sender Set the envelope sender address. This is the ! address where delivery problems are sent to. With Postfix versions before 2.1, the Errors-To: message header overrides the error return address. ! -G Gateway (relay) submission, as opposed to initial ! user submission. Either do not rewrite addresses ! at all, or update incomplete addresses with the domain information specified with remote_header_re- write_domain. ! This option is ignored before Postfix version 2.3. -h hop_count (ignored) ! Hop count limit. Use the hopcount_limit configura- tion parameter instead. ! -I Initialize alias database. See the newaliases com- mand above. ! -i When reading a message from standard input, don't ! treat a line with only a . character as the end of input. -L label (ignored) ! The logging label. Use the syslog_name configura- tion parameter instead. -m (ignored) Backwards compatibility. -N dsn (default: 'delay, failure') ! Delivery status notification control. Specify ! either a comma-separated list with one or more of ! failure (send notification when delivery fails), delay (send notification when delivery is delayed), ! or success (send notification when the message is ! delivered); or specify never (don't send any noti- fications at all). This feature is available in Postfix 2.3 and later. *************** *** 170,176 **** Backwards compatibility. -oAalias_database ! Non-default alias database. Specify pathname or type:pathname. See postalias(1) for details. -O option=value (ignored) --- 171,177 ---- Backwards compatibility. -oAalias_database ! Non-default alias database. Specify pathname or type:pathname. See postalias(1) for details. -O option=value (ignored) *************** *** 180,239 **** -o8 (ignored) To send 8-bit or binary content, use an appropriate ! MIME encapsulation and specify the appropriate -B command-line option. ! -oi When reading a message from standard input, don't ! treat a line with only a . character as the end of input. -om (ignored) ! The sender is never eliminated from alias etc. expansions. -o x value (ignored) ! Set option x to value. Use the equivalent configu- ration parameter in main.cf instead. -r sender Set the envelope sender address. This is the ! address where delivery problems are sent to. With Postfix versions before 2.1, the Errors-To: message header overrides the error return address. -R return_limit (ignored) ! Limit the size of bounced mail. Use the ! bounce_size_limit configuration parameter instead. ! -q Attempt to deliver all queued mail. This is imple- mented by executing the postqueue(1) command. Warning: flushing undeliverable mail frequently ! will result in poor delivery performance of all other mail. -qinterval (ignored) ! The interval between queue runs. Use the queue_run_delay configuration parameter instead. -qRsite ! Schedule immediate delivery of all mail that is queued for the named site. This option accepts only ! site names that are eligible for the "fast flush" ! service, and is implemented by executing the postqueue(1) command. See flush(8) for more infor- mation about the "fast flush" service. -qSsite ! This command is not implemented. Use the slower "sendmail -q" command instead. ! -t Extract recipients from message headers. These are ! added to any recipients specified on the command line. ! With Postfix versions prior to 2.1, this option ! requires that no recipient addresses are specified on the command line. -U (ignored) --- 181,240 ---- -o8 (ignored) To send 8-bit or binary content, use an appropriate ! MIME encapsulation and specify the appropriate -B command-line option. ! -oi When reading a message from standard input, don't ! treat a line with only a . character as the end of input. -om (ignored) ! The sender is never eliminated from alias etc. expansions. -o x value (ignored) ! Set option x to value. Use the equivalent configu- ration parameter in main.cf instead. -r sender Set the envelope sender address. This is the ! address where delivery problems are sent to. With Postfix versions before 2.1, the Errors-To: message header overrides the error return address. -R return_limit (ignored) ! Limit the size of bounced mail. Use the ! bounce_size_limit configuration parameter instead. ! -q Attempt to deliver all queued mail. This is imple- mented by executing the postqueue(1) command. Warning: flushing undeliverable mail frequently ! will result in poor delivery performance of all other mail. -qinterval (ignored) ! The interval between queue runs. Use the queue_run_delay configuration parameter instead. -qRsite ! Schedule immediate delivery of all mail that is queued for the named site. This option accepts only ! site names that are eligible for the "fast flush" ! service, and is implemented by executing the postqueue(1) command. See flush(8) for more infor- mation about the "fast flush" service. -qSsite ! This command is not implemented. Use the slower "sendmail -q" command instead. ! -t Extract recipients from message headers. These are ! added to any recipients specified on the command line. ! With Postfix versions prior to 2.1, this option ! requires that no recipient addresses are specified on the command line. -U (ignored) *************** *** 246,308 **** This feature is available in Postfix 2.3 and later. -XV (Postfix 2.2 and earlier: -V) ! Variable Envelope Return Path. Given an envelope ! sender address of the form owner-listname@origin, ! each recipient user@domain receives mail with a personalized envelope sender address. ! By default, the personalized envelope sender ! address is owner-listname+user=domain@origin. The ! default + and = characters are configurable with ! the default_verp_delimiters configuration parame- ter. -XVxy (Postfix 2.2 and earlier: -Vxy) ! As -XV, but uses x and y as the VERP delimiter ! characters, instead of the characters specified ! with the default_verp_delimiters configuration parameter. ! -v Send an email report of the first delivery attempt ! (Postfix versions 2.1 and later). Mail delivery ! always happens in the background. When multiple -v options are given, enable verbose logging for debugging purposes. -X log_file (ignored) ! Log mailer traffic. Use the debug_peer_list and ! debug_peer_level configuration parameters instead. SECURITY ! By design, this program is not set-user (or group) id. ! However, it must handle data from untrusted users or ! untrusted machines. Thus, the usual precautions need to be taken against malicious inputs. DIAGNOSTICS ! Problems are logged to syslogd(8) and to the standard error stream. ENVIRONMENT MAIL_CONFIG Directory with Postfix configuration files. ! MAIL_VERBOSE Enable verbose logging for debugging purposes. ! MAIL_DEBUG Enable debugging with an external command, as spec- ! ified with the debugger_command configuration parameter. CONFIGURATION PARAMETERS ! The following main.cf parameters are especially relevant to this program. The text below provides only a parameter ! summary. See postconf(5) for more details including exam- ples. TROUBLE SHOOTING CONTROLS ! The DEBUG_README file gives examples of how to trouble shoot a Postfix system. debugger_command (empty) --- 247,313 ---- This feature is available in Postfix 2.3 and later. -XV (Postfix 2.2 and earlier: -V) ! Variable Envelope Return Path. Given an envelope ! sender address of the form owner-listname@origin, ! each recipient user@domain receives mail with a personalized envelope sender address. ! By default, the personalized envelope sender ! address is owner-listname+user=domain@origin. The ! default + and = characters are configurable with ! the default_verp_delimiters configuration parame- ter. -XVxy (Postfix 2.2 and earlier: -Vxy) ! As -XV, but uses x and y as the VERP delimiter ! characters, instead of the characters specified ! with the default_verp_delimiters configuration parameter. ! -v Send an email report of the first delivery attempt ! (Postfix versions 2.1 and later). Mail delivery ! always happens in the background. When multiple -v options are given, enable verbose logging for debugging purposes. -X log_file (ignored) ! Log mailer traffic. Use the debug_peer_list and ! debug_peer_level configuration parameters instead. SECURITY ! By design, this program is not set-user (or group) id. ! However, it must handle data from untrusted users or ! untrusted machines. Thus, the usual precautions need to be taken against malicious inputs. DIAGNOSTICS ! Problems are logged to syslogd(8) and to the standard error stream. ENVIRONMENT MAIL_CONFIG Directory with Postfix configuration files. ! MAIL_VERBOSE (value does not matter) Enable verbose logging for debugging purposes. ! MAIL_DEBUG (value does not matter) Enable debugging with an external command, as spec- ! ified with the debugger_command configuration parameter. + NAME The sender full name. This is used only with mes- + sages that have no From: message header. See also + the -F option above. + CONFIGURATION PARAMETERS ! The following main.cf parameters are especially relevant to this program. The text below provides only a parameter ! summary. See postconf(5) for more details including exam- ples. TROUBLE SHOOTING CONTROLS ! The DEBUG_README file gives examples of how to trouble shoot a Postfix system. debugger_command (empty) *************** *** 310,338 **** mon program is invoked with the -D option. debug_peer_level (2) ! The increment in verbose logging level when a ! remote client or server matches a pattern in the debug_peer_list parameter. debug_peer_list (empty) ! Optional list of remote client or server hostname ! or network address patterns that cause the verbose ! logging level to increase by the amount specified in $debug_peer_level. ACCESS CONTROLS Available in Postfix version 2.2 and later: authorized_flush_users (static:anyone) ! List of users who are authorized to flush the queue. authorized_mailq_users (static:anyone) List of users who are authorized to view the queue. authorized_submit_users (static:anyone) ! List of users who are authorized to submit mail ! with the sendmail(1) command (and with the privi- leged postdrop(1) helper command). RESOURCE AND RATE CONTROLS --- 315,343 ---- mon program is invoked with the -D option. debug_peer_level (2) ! The increment in verbose logging level when a ! remote client or server matches a pattern in the debug_peer_list parameter. debug_peer_list (empty) ! Optional list of remote client or server hostname ! or network address patterns that cause the verbose ! logging level to increase by the amount specified in $debug_peer_level. ACCESS CONTROLS Available in Postfix version 2.2 and later: authorized_flush_users (static:anyone) ! List of users who are authorized to flush the queue. authorized_mailq_users (static:anyone) List of users who are authorized to view the queue. authorized_submit_users (static:anyone) ! List of users who are authorized to submit mail ! with the sendmail(1) command (and with the privi- leged postdrop(1) helper command). RESOURCE AND RATE CONTROLS *************** *** 341,347 **** sent in a non-delivery notification. fork_attempts (5) ! The maximal number of attempts to fork() a child process. fork_delay (1s) --- 346,352 ---- sent in a non-delivery notification. fork_attempts (5) ! The maximal number of attempts to fork() a child process. fork_delay (1s) *************** *** 349,359 **** process. hopcount_limit (50) ! The maximal number of Received: message headers that is allowed in the primary message headers. queue_run_delay (1000s) ! The time between deferred queue scans by the queue manager. FAST FLUSH CONTROLS --- 354,364 ---- process. hopcount_limit (50) ! The maximal number of Received: message headers that is allowed in the primary message headers. queue_run_delay (1000s) ! The time between deferred queue scans by the queue manager. FAST FLUSH CONTROLS *************** *** 362,398 **** fast_flush_domains ($relay_domains) Optional list of destinations that are eligible for ! per-destination logfiles with mail that is queued to those destinations. VERP CONTROLS The VERP_README file describes configuration and operation ! details of Postfix support for variable envelope return path addresses. default_verp_delimiters (+=) The two default VERP delimiter characters. verp_delimiter_filter (-=+) ! The characters Postfix accepts as VERP delimiter ! characters on the Postfix sendmail(1) command line and in SMTP commands. MISCELLANEOUS CONTROLS alias_database (see 'postconf -d' output) ! The alias databases for local(8) delivery that are updated with "newaliases" or with "sendmail -bi". command_directory (see 'postconf -d' output) ! The location of all postfix administrative com- mands. config_directory (see 'postconf -d' output) ! The default location of the Postfix main.cf and master.cf configuration files. daemon_directory (see 'postconf -d' output) ! The directory with Postfix support programs and daemon programs. default_database_type (see 'postconf -d' output) --- 367,403 ---- fast_flush_domains ($relay_domains) Optional list of destinations that are eligible for ! per-destination logfiles with mail that is queued to those destinations. VERP CONTROLS The VERP_README file describes configuration and operation ! details of Postfix support for variable envelope return path addresses. default_verp_delimiters (+=) The two default VERP delimiter characters. verp_delimiter_filter (-=+) ! The characters Postfix accepts as VERP delimiter ! characters on the Postfix sendmail(1) command line and in SMTP commands. MISCELLANEOUS CONTROLS alias_database (see 'postconf -d' output) ! The alias databases for local(8) delivery that are updated with "newaliases" or with "sendmail -bi". command_directory (see 'postconf -d' output) ! The location of all postfix administrative com- mands. config_directory (see 'postconf -d' output) ! The default location of the Postfix main.cf and master.cf configuration files. daemon_directory (see 'postconf -d' output) ! The directory with Postfix support programs and daemon programs. default_database_type (see 'postconf -d' output) *************** *** 400,415 **** postalias(1) and postmap(1) commands. delay_warning_time (0h) ! The time after which the sender receives the mes- sage headers of mail that is still queued. enable_errors_to (no) ! Report mail delivery errors to the address speci- ! fied with the non-standard Errors-To: message ! header, instead of the envelope sender address ! (this feature is removed with Postfix version 2.2, ! is turned off by default with Postfix version 2.1, ! and is always turned on with older Postfix ver- sions). mail_owner (postfix) --- 405,420 ---- postalias(1) and postmap(1) commands. delay_warning_time (0h) ! The time after which the sender receives the mes- sage headers of mail that is still queued. enable_errors_to (no) ! Report mail delivery errors to the address speci- ! fied with the non-standard Errors-To: message ! header, instead of the envelope sender address ! (this feature is removed with Postfix version 2.2, ! is turned off by default with Postfix version 2.1, ! and is always turned on with older Postfix ver- sions). mail_owner (postfix) *************** *** 417,444 **** and most Postfix daemon processes. queue_directory (see 'postconf -d' output) ! The location of the Postfix top-level queue direc- tory. remote_header_rewrite_domain (empty) ! Don't rewrite message headers from remote clients at all when this parameter is empty; otherwise, re- ! write message headers and append the specified domain name to incomplete addresses. syslog_facility (mail) The syslog facility of Postfix logging. syslog_name (postfix) ! The mail system name that is prepended to the ! process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". - trigger_timeout (10s) - The time limit for sending a trigger to a Postfix - daemon (for example, the pickup(8) or qmgr(8) dae- - mon). - FILES /var/spool/postfix, mail queue /etc/postfix, configuration files --- 422,444 ---- and most Postfix daemon processes. queue_directory (see 'postconf -d' output) ! The location of the Postfix top-level queue direc- tory. remote_header_rewrite_domain (empty) ! Don't rewrite message headers from remote clients at all when this parameter is empty; otherwise, re- ! write message headers and append the specified domain name to incomplete addresses. syslog_facility (mail) The syslog facility of Postfix logging. syslog_name (postfix) ! The mail system name that is prepended to the ! process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". FILES /var/spool/postfix, mail queue /etc/postfix, configuration files *************** *** 461,467 **** VERP_README, Postfix VERP howto LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) --- 461,467 ---- VERP_README, Postfix VERP howto LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) diff -cr /var/tmp/postfix-2.3.3/html/smtp.8.html ./html/smtp.8.html *** /var/tmp/postfix-2.3.3/html/smtp.8.html Wed Jul 19 17:44:23 2006 --- ./html/smtp.8.html Thu Oct 19 11:43:24 2006 *************** *** 417,430 **** number generator (PRNG). tls_high_cipherlist ! (!EXPORT:!LOW:!MEDIUM:ALL:+RC4:@STRENGTH) The OpenSSL cipherlist for "HIGH" grade ciphers. ! tls_medium_cipherlist (!EXPORT:!LOW:ALL:+RC4:@STRENGTH) The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! tls_low_cipherlist (!EXPORT:ALL:+RC4:@STRENGTH) The OpenSSL cipherlist for "LOW" or higher grade ciphers. --- 417,430 ---- number generator (PRNG). tls_high_cipherlist ! (ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH) The OpenSSL cipherlist for "HIGH" grade ciphers. ! tls_medium_cipherlist (ALL:!EXPORT:!LOW:+RC4:@STRENGTH) The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! tls_low_cipherlist (ALL:!EXPORT:+RC4:@STRENGTH) The OpenSSL cipherlist for "LOW" or higher grade ciphers. diff -cr /var/tmp/postfix-2.3.3/html/smtpd.8.html ./html/smtpd.8.html *** /var/tmp/postfix-2.3.3/html/smtpd.8.html Thu Jul 27 07:12:16 2006 --- ./html/smtpd.8.html Mon Oct 2 16:04:38 2006 *************** *** 456,469 **** number generator (PRNG). tls_high_cipherlist ! (!EXPORT:!LOW:!MEDIUM:ALL:+RC4:@STRENGTH) The OpenSSL cipherlist for "HIGH" grade ciphers. ! tls_medium_cipherlist (!EXPORT:!LOW:ALL:+RC4:@STRENGTH) The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! tls_low_cipherlist (!EXPORT:ALL:+RC4:@STRENGTH) The OpenSSL cipherlist for "LOW" or higher grade ciphers. --- 456,469 ---- number generator (PRNG). tls_high_cipherlist ! (ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH) The OpenSSL cipherlist for "HIGH" grade ciphers. ! tls_medium_cipherlist (ALL:!EXPORT:!LOW:+RC4:@STRENGTH) The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! tls_low_cipherlist (ALL:!EXPORT:+RC4:@STRENGTH) The OpenSSL cipherlist for "LOW" or higher grade ciphers. diff -cr /var/tmp/postfix-2.3.3/makedefs ./makedefs *** /var/tmp/postfix-2.3.3/makedefs Mon Jul 31 09:03:31 2006 --- ./makedefs Sat Aug 26 11:54:59 2006 *************** *** 132,137 **** --- 132,139 ---- ;; NetBSD.3*) SYSTYPE=NETBSD3 ;; + NetBSD.4*) SYSTYPE=NETBSD4 + ;; BSD/OS.2*) SYSTYPE=BSDI2 ;; BSD/OS.3*) SYSTYPE=BSDI3 diff -cr /var/tmp/postfix-2.3.3/man/man1/qshape.1 ./man/man1/qshape.1 *** /var/tmp/postfix-2.3.3/man/man1/qshape.1 Mon Jun 26 15:59:11 2006 --- ./man/man1/qshape.1 Wed Sep 27 08:47:10 2006 *************** *** 20,26 **** Postfix queue message distribution in time and by sender domain or recipient domain. The program needs read access to the queue directories and queue files, so it must run as the superuser or ! the \fBmail_owner\fR specified in \fImain.cf\fR (typically \fBpostfix\fR). Options: --- 20,26 ---- Postfix queue message distribution in time and by sender domain or recipient domain. The program needs read access to the queue directories and queue files, so it must run as the superuser or ! the \fBmail_owner\fR specified in \fBmain.cf\fR (typically \fBpostfix\fR). Options: *************** *** 74,81 **** the incoming and active queues. To display a different set of queues, just list their directory names on the command line. Absolute paths are used as is, other paths are taken relative ! to the \fImain.cf\fR \fBqueue_directory\fR parameter setting. ! While \fImain.cf\fR supports the use of \fI$variable\fR expansion in the definition of the \fBqueue_directory\fR parameter, the \fBqshape\fR program does not. If you must use variable expansions in the \fBqueue_directory\fR setting, you must specify an explicit --- 74,81 ---- the incoming and active queues. To display a different set of queues, just list their directory names on the command line. Absolute paths are used as is, other paths are taken relative ! to the \fBmain.cf\fR \fBqueue_directory\fR parameter setting. ! While \fBmain.cf\fR supports the use of \fI$variable\fR expansion in the definition of the \fBqueue_directory\fR parameter, the \fBqshape\fR program does not. If you must use variable expansions in the \fBqueue_directory\fR setting, you must specify an explicit diff -cr /var/tmp/postfix-2.3.3/man/man1/sendmail.1 ./man/man1/sendmail.1 *** /var/tmp/postfix-2.3.3/man/man1/sendmail.1 Thu Jun 15 14:15:22 2006 --- ./man/man1/sendmail.1 Thu Sep 28 07:06:32 2006 *************** *** 101,107 **** with the MAIL_CONFIG environment variable to override the location of configuration files. .IP "\fB-F \fIfull_name\fR ! Set the sender full name. This is used only with messages that have no \fBFrom:\fR message header. .IP "\fB-f \fIsender\fR" Set the envelope sender address. This is the address where --- 101,108 ---- with the MAIL_CONFIG environment variable to override the location of configuration files. .IP "\fB-F \fIfull_name\fR ! Set the sender full name. This overrides the NAME environment ! variable, and is used only with messages that have no \fBFrom:\fR message header. .IP "\fB-f \fIsender\fR" Set the envelope sender address. This is the address where *************** *** 239,249 **** .fi .IP \fBMAIL_CONFIG\fR Directory with Postfix configuration files. ! .IP \fBMAIL_VERBOSE\fR Enable verbose logging for debugging purposes. ! .IP \fBMAIL_DEBUG\fR Enable debugging with an external command, as specified with the \fBdebugger_command\fR configuration parameter. .SH "CONFIGURATION PARAMETERS" .na .nf --- 240,254 ---- .fi .IP \fBMAIL_CONFIG\fR Directory with Postfix configuration files. ! .IP "\fBMAIL_VERBOSE\fR (value does not matter)" Enable verbose logging for debugging purposes. ! .IP "\fBMAIL_DEBUG\fR (value does not matter)" Enable debugging with an external command, as specified with the \fBdebugger_command\fR configuration parameter. + .IP \fBNAME\fR + The sender full name. This is used only with messages that + have no \fBFrom:\fR message header. See also the \fB-F\fR + option above. .SH "CONFIGURATION PARAMETERS" .na .nf *************** *** 364,372 **** .IP "\fBsyslog_name (postfix)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". - .IP "\fBtrigger_timeout (10s)\fR" - The time limit for sending a trigger to a Postfix daemon (for - example, the \fBpickup\fR(8) or \fBqmgr\fR(8) daemon). .SH "FILES" .na .nf --- 369,374 ---- diff -cr /var/tmp/postfix-2.3.3/man/man5/postconf.5 ./man/man5/postconf.5 *** /var/tmp/postfix-2.3.3/man/man5/postconf.5 Sat Aug 12 10:32:44 2006 --- ./man/man5/postconf.5 Sun Sep 3 15:21:50 2006 *************** *** 7044,7064 **** strongly encouraged to not change this setting. .PP This feature is available in Postfix 2.3 and later. ! .SH tls_high_cipherlist (default: !EXPORT:!LOW:!MEDIUM:ALL:+RC4:@STRENGTH) The OpenSSL cipherlist for "HIGH" grade ciphers. This defines the meaning of the "high" setting in smtpd_tls_mandatory_ciphers, smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. You are strongly encouraged to not change this setting. .PP This feature is available in Postfix 2.3 and later. ! .SH tls_low_cipherlist (default: !EXPORT:ALL:+RC4:@STRENGTH) The OpenSSL cipherlist for "LOW" or higher grade ciphers. This defines the meaning of the "low" setting in smtpd_tls_mandatory_ciphers, smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. You are strongly encouraged to not change this setting. .PP This feature is available in Postfix 2.3 and later. ! .SH tls_medium_cipherlist (default: !EXPORT:!LOW:ALL:+RC4:@STRENGTH) The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. This defines the meaning of the "medium" setting in smtpd_tls_mandatory_ciphers, smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. This is --- 7044,7064 ---- strongly encouraged to not change this setting. .PP This feature is available in Postfix 2.3 and later. ! .SH tls_high_cipherlist (default: ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH) The OpenSSL cipherlist for "HIGH" grade ciphers. This defines the meaning of the "high" setting in smtpd_tls_mandatory_ciphers, smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. You are strongly encouraged to not change this setting. .PP This feature is available in Postfix 2.3 and later. ! .SH tls_low_cipherlist (default: ALL:!EXPORT:+RC4:@STRENGTH) The OpenSSL cipherlist for "LOW" or higher grade ciphers. This defines the meaning of the "low" setting in smtpd_tls_mandatory_ciphers, smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. You are strongly encouraged to not change this setting. .PP This feature is available in Postfix 2.3 and later. ! .SH tls_medium_cipherlist (default: ALL:!EXPORT:!LOW:+RC4:@STRENGTH) The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. This defines the meaning of the "medium" setting in smtpd_tls_mandatory_ciphers, smtp_tls_mandatory_ciphers and lmtp_tls_mandatory_ciphers. This is diff -cr /var/tmp/postfix-2.3.3/man/man8/local.8 ./man/man8/local.8 *** /var/tmp/postfix-2.3.3/man/man8/local.8 Tue Jul 11 14:40:30 2006 --- ./man/man8/local.8 Thu Oct 19 11:43:23 2006 *************** *** 49,55 **** configuration parameter. Upon delivery, the local delivery agent tries each pathname in the list until a file is found. ! Delivery via ~/.\fB.forward\fR files is done with the privileges of the recipient. Thus, ~/.\fBforward\fR like files must be readable by the recipient, and their parent directory needs to have "execute" --- 49,55 ---- configuration parameter. Upon delivery, the local delivery agent tries each pathname in the list until a file is found. ! Delivery via ~/.\fBforward\fR files is done with the privileges of the recipient. Thus, ~/.\fBforward\fR like files must be readable by the recipient, and their parent directory needs to have "execute" diff -cr /var/tmp/postfix-2.3.3/man/man8/smtp.8 ./man/man8/smtp.8 *** /var/tmp/postfix-2.3.3/man/man8/smtp.8 Wed Jul 19 17:44:23 2006 --- ./man/man8/smtp.8 Thu Oct 19 11:43:24 2006 *************** *** 347,357 **** The number of pseudo-random bytes that an \fBsmtp\fR(8) or \fBsmtpd\fR(8) process requests from the \fBtlsmgr\fR(8) server in order to seed its internal pseudo random number generator (PRNG). ! .IP "\fBtls_high_cipherlist (!EXPORT:!LOW:!MEDIUM:ALL:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "HIGH" grade ciphers. ! .IP "\fBtls_medium_cipherlist (!EXPORT:!LOW:ALL:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! .IP "\fBtls_low_cipherlist (!EXPORT:ALL:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "LOW" or higher grade ciphers. .IP "\fBtls_export_cipherlist (ALL:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. --- 347,357 ---- The number of pseudo-random bytes that an \fBsmtp\fR(8) or \fBsmtpd\fR(8) process requests from the \fBtlsmgr\fR(8) server in order to seed its internal pseudo random number generator (PRNG). ! .IP "\fBtls_high_cipherlist (ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "HIGH" grade ciphers. ! .IP "\fBtls_medium_cipherlist (ALL:!EXPORT:!LOW:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! .IP "\fBtls_low_cipherlist (ALL:!EXPORT:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "LOW" or higher grade ciphers. .IP "\fBtls_export_cipherlist (ALL:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. diff -cr /var/tmp/postfix-2.3.3/man/man8/smtpd.8 ./man/man8/smtpd.8 *** /var/tmp/postfix-2.3.3/man/man8/smtpd.8 Thu Jul 27 07:12:15 2006 --- ./man/man8/smtpd.8 Mon Oct 2 16:04:37 2006 *************** *** 378,388 **** The number of pseudo-random bytes that an \fBsmtp\fR(8) or \fBsmtpd\fR(8) process requests from the \fBtlsmgr\fR(8) server in order to seed its internal pseudo random number generator (PRNG). ! .IP "\fBtls_high_cipherlist (!EXPORT:!LOW:!MEDIUM:ALL:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "HIGH" grade ciphers. ! .IP "\fBtls_medium_cipherlist (!EXPORT:!LOW:ALL:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! .IP "\fBtls_low_cipherlist (!EXPORT:ALL:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "LOW" or higher grade ciphers. .IP "\fBtls_export_cipherlist (ALL:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. --- 378,388 ---- The number of pseudo-random bytes that an \fBsmtp\fR(8) or \fBsmtpd\fR(8) process requests from the \fBtlsmgr\fR(8) server in order to seed its internal pseudo random number generator (PRNG). ! .IP "\fBtls_high_cipherlist (ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "HIGH" grade ciphers. ! .IP "\fBtls_medium_cipherlist (ALL:!EXPORT:!LOW:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! .IP "\fBtls_low_cipherlist (ALL:!EXPORT:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "LOW" or higher grade ciphers. .IP "\fBtls_export_cipherlist (ALL:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. diff -cr /var/tmp/postfix-2.3.3/proto/postconf.proto ./proto/postconf.proto *** /var/tmp/postfix-2.3.3/proto/postconf.proto Thu Aug 10 15:59:56 2006 --- ./proto/postconf.proto Sun Sep 3 15:21:00 2006 *************** *** 10301,10307 ****

This feature is available in Postfix 2.3 and later.

! %PARAM tls_high_cipherlist !EXPORT:!LOW:!MEDIUM:ALL:+RC4:@STRENGTH

The OpenSSL cipherlist for "HIGH" grade ciphers. This defines the meaning of the "high" setting in smtpd_tls_mandatory_ciphers, --- 10301,10307 ----

This feature is available in Postfix 2.3 and later.

! %PARAM tls_high_cipherlist ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH

The OpenSSL cipherlist for "HIGH" grade ciphers. This defines the meaning of the "high" setting in smtpd_tls_mandatory_ciphers, *************** *** 10310,10316 ****

This feature is available in Postfix 2.3 and later.

! %PARAM tls_medium_cipherlist !EXPORT:!LOW:ALL:+RC4:@STRENGTH

The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. This defines the meaning of the "medium" setting in smtpd_tls_mandatory_ciphers, --- 10310,10316 ----

This feature is available in Postfix 2.3 and later.

! %PARAM tls_medium_cipherlist ALL:!EXPORT:!LOW:+RC4:@STRENGTH

The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. This defines the meaning of the "medium" setting in smtpd_tls_mandatory_ciphers, *************** *** 10322,10328 ****

This feature is available in Postfix 2.3 and later.

! %PARAM tls_low_cipherlist !EXPORT:ALL:+RC4:@STRENGTH

The OpenSSL cipherlist for "LOW" or higher grade ciphers. This defines the meaning of the "low" setting in smtpd_tls_mandatory_ciphers, --- 10322,10328 ----

This feature is available in Postfix 2.3 and later.

! %PARAM tls_low_cipherlist ALL:!EXPORT:+RC4:@STRENGTH

The OpenSSL cipherlist for "LOW" or higher grade ciphers. This defines the meaning of the "low" setting in smtpd_tls_mandatory_ciphers, diff -cr /var/tmp/postfix-2.3.3/src/cleanup/Makefile.in ./src/cleanup/Makefile.in *** /var/tmp/postfix-2.3.3/src/cleanup/Makefile.in Sun Jul 9 13:45:30 2006 --- ./src/cleanup/Makefile.in Thu Oct 19 11:16:17 2006 *************** *** 60,66 **** CLEANUP_MILTER_OBJS = cleanup_state.o cleanup_out.o cleanup_addr.o \ cleanup_out_recipient.o ! cleanup_milter: cleanup_milter.o $(CLEANUP_MILTER_OBJS) mv cleanup_milter.o junk $(CC) $(CFLAGS) -DTEST -o $@ $@.c $(CLEANUP_MILTER_OBJS) $(LIBS) $(SYSLIBS) mv junk cleanup_milter.o --- 60,66 ---- CLEANUP_MILTER_OBJS = cleanup_state.o cleanup_out.o cleanup_addr.o \ cleanup_out_recipient.o ! cleanup_milter: cleanup_milter.o $(CLEANUP_MILTER_OBJS) $(LIBS) mv cleanup_milter.o junk $(CC) $(CFLAGS) -DTEST -o $@ $@.c $(CLEANUP_MILTER_OBJS) $(LIBS) $(SYSLIBS) mv junk cleanup_milter.o *************** *** 504,509 **** --- 504,511 ---- cleanup_milter.o: ../../include/mymalloc.h cleanup_milter.o: ../../include/nvtable.h cleanup_milter.o: ../../include/off_cvt.h + cleanup_milter.o: ../../include/quote_821_local.h + cleanup_milter.o: ../../include/quote_flags.h cleanup_milter.o: ../../include/rec_attr_map.h cleanup_milter.o: ../../include/rec_type.h cleanup_milter.o: ../../include/record.h diff -cr /var/tmp/postfix-2.3.3/src/cleanup/cleanup.h ./src/cleanup/cleanup.h *** /var/tmp/postfix-2.3.3/src/cleanup/cleanup.h Thu Jul 20 20:14:48 2006 --- ./src/cleanup/cleanup.h Thu Oct 19 11:16:17 2006 *************** *** 95,100 **** --- 95,102 ---- const char *client_addr; /* real or ersatz client */ int client_af; /* real or ersatz client */ const char *client_port; /* real or ersatz client */ + VSTRING *milter_ext_from; /* externalized sender */ + VSTRING *milter_ext_rcpt; /* externalized recipient */ } CLEANUP_STATE; /* diff -cr /var/tmp/postfix-2.3.3/src/cleanup/cleanup_bounce.c ./src/cleanup/cleanup_bounce.c *** /var/tmp/postfix-2.3.3/src/cleanup/cleanup_bounce.c Tue May 9 09:06:29 2006 --- ./src/cleanup/cleanup_bounce.c Tue Oct 17 06:02:05 2006 *************** *** 67,76 **** { MSG_STATS stats; if (bounce_append(BOUNCE_FLAG_CLEAN, state->queue_id, CLEANUP_MSG_STATS(&stats, state), rcpt, "none", dsn) != 0) { - msg_warn("%s: bounce logfile update error", state->queue_id); state->errs |= CLEANUP_STAT_WRITE; } } --- 67,81 ---- { MSG_STATS stats; + /* + * Don't log a spurious warning (for example, when soft_bounce is turned + * on). bounce_append() already logs a record when the logfile can't be + * updated. Set the write error flag, so that a maildrop queue file won't + * be destroyed. + */ if (bounce_append(BOUNCE_FLAG_CLEAN, state->queue_id, CLEANUP_MSG_STATS(&stats, state), rcpt, "none", dsn) != 0) { state->errs |= CLEANUP_STAT_WRITE; } } diff -cr /var/tmp/postfix-2.3.3/src/cleanup/cleanup_milter.c ./src/cleanup/cleanup_milter.c *** /var/tmp/postfix-2.3.3/src/cleanup/cleanup_milter.c Tue Aug 22 11:00:32 2006 --- ./src/cleanup/cleanup_milter.c Thu Oct 19 11:16:17 2006 *************** *** 104,109 **** --- 104,110 ---- #include #include #include + #include /* Application-specific. */ *************** *** 968,982 **** /* cleanup_add_rcpt - append recipient address */ ! static const char *cleanup_add_rcpt(void *context, char *rcpt) { const char *myname = "cleanup_add_rcpt"; CLEANUP_STATE *state = (CLEANUP_STATE *) context; off_t new_rcpt_offset; off_t reverse_ptr_offset; if (msg_verbose) ! msg_info("%s: \"%s\"", myname, rcpt); /* * To simplify implementation, the cleanup server writes a dummy --- 969,987 ---- /* cleanup_add_rcpt - append recipient address */ ! static const char *cleanup_add_rcpt(void *context, char *ext_rcpt) { const char *myname = "cleanup_add_rcpt"; CLEANUP_STATE *state = (CLEANUP_STATE *) context; off_t new_rcpt_offset; off_t reverse_ptr_offset; + int addr_count; + TOK822 *tree; + TOK822 *tp; + VSTRING *int_rcpt_buf; if (msg_verbose) ! msg_info("%s: \"%s\"", myname, ext_rcpt); /* * To simplify implementation, the cleanup server writes a dummy *************** *** 1006,1012 **** msg_warn("%s: seek file %s: %m", myname, cleanup_path); return (cleanup_milter_error(state, errno)); } ! cleanup_addr_bcc(state, rcpt); if ((reverse_ptr_offset = vstream_ftell(state->dst)) < 0) { msg_warn("%s: vstream_ftell file %s: %m", myname, cleanup_path); return (cleanup_milter_error(state, errno)); --- 1011,1045 ---- msg_warn("%s: seek file %s: %m", myname, cleanup_path); return (cleanup_milter_error(state, errno)); } ! ! /* ! * Transform recipient from external form to internal form. This also ! * removes the enclosing <>, if present. ! * ! * XXX vstring_alloc() rejects zero-length requests. ! */ ! int_rcpt_buf = vstring_alloc(strlen(ext_rcpt) + 1); ! tree = tok822_parse(ext_rcpt); ! for (addr_count = 0, tp = tree; tp != 0; tp = tp->next) { ! if (tp->type == TOK822_ADDR) { ! if (addr_count == 0) { ! tok822_internalize(int_rcpt_buf, tp->head, TOK822_STR_DEFL); ! addr_count += 1; ! } else { ! msg_warn("%s: Milter request to add multi-recipient: \"%s\"", ! state->queue_id, ext_rcpt); ! break; ! } ! } ! } ! tok822_free_tree(tree); ! cleanup_addr_bcc(state, STR(int_rcpt_buf)); ! vstring_free(int_rcpt_buf); ! if (addr_count == 0) { ! msg_warn("%s: ignoring attempt from Milter to add null recipient", ! state->queue_id); ! return (CLEANUP_OUT_OK(state) ? 0 : cleanup_milter_error(state, 0)); ! } if ((reverse_ptr_offset = vstream_ftell(state->dst)) < 0) { msg_warn("%s: vstream_ftell file %s: %m", myname, cleanup_path); return (cleanup_milter_error(state, errno)); *************** *** 1042,1048 **** /* cleanup_del_rcpt - remove recipient and all its expansions */ ! static const char *cleanup_del_rcpt(void *context, char *rcpt) { const char *myname = "cleanup_del_rcpt"; CLEANUP_STATE *state = (CLEANUP_STATE *) context; --- 1075,1081 ---- /* cleanup_del_rcpt - remove recipient and all its expansions */ ! static const char *cleanup_del_rcpt(void *context, char *ext_rcpt) { const char *myname = "cleanup_del_rcpt"; CLEANUP_STATE *state = (CLEANUP_STATE *) context; *************** *** 1057,1065 **** int rec_type; int junk; int count = 0; if (msg_verbose) ! msg_info("%s: \"%s\"", myname, rcpt); /* * Virtual aliasing and other address rewriting happens after the mail --- 1090,1102 ---- int rec_type; int junk; int count = 0; + TOK822 *tree; + TOK822 *tp; + VSTRING *int_rcpt_buf; + int addr_count; if (msg_verbose) ! msg_info("%s: \"%s\"", myname, ext_rcpt); /* * Virtual aliasing and other address rewriting happens after the mail *************** *** 1091,1099 **** --- 1128,1159 ---- if (dsn_orcpt != 0) \ myfree(dsn_orcpt); \ vstring_free(buf); \ + vstring_free(int_rcpt_buf); \ return (ret); \ } while (0) + /* + * Transform recipient from external form to internal form. This also + * removes the enclosing <>, if present. + * + * XXX vstring_alloc() rejects zero-length requests. + */ + int_rcpt_buf = vstring_alloc(strlen(ext_rcpt) + 1); + tree = tok822_parse(ext_rcpt); + for (addr_count = 0, tp = tree; tp != 0; tp = tp->next) { + if (tp->type == TOK822_ADDR) { + if (addr_count == 0) { + tok822_internalize(int_rcpt_buf, tp->head, TOK822_STR_DEFL); + addr_count += 1; + } else { + msg_warn("%s: Milter request to drop multi-recipient: \"%s\"", + state->queue_id, ext_rcpt); + break; + } + } + } + tok822_free_tree(tree); + buf = vstring_alloc(100); for (;;) { if (CLEANUP_OUT_OK(state) == 0) *************** *** 1154,1160 **** orig_rcpt = mystrdup(start); break; case REC_TYPE_RCPT: /* rewritten RCPT TO address */ ! if (strcmp(orig_rcpt ? orig_rcpt : start, rcpt) == 0) { if (vstream_fseek(state->dst, curr_offset, SEEK_SET) < 0) { msg_warn("%s: seek file %s: %m", myname, cleanup_path); CLEANUP_DEL_RCPT_RETURN(cleanup_milter_error(state, errno)); --- 1214,1220 ---- orig_rcpt = mystrdup(start); break; case REC_TYPE_RCPT: /* rewritten RCPT TO address */ ! if (strcmp(orig_rcpt ? orig_rcpt : start, STR(int_rcpt_buf)) == 0) { if (vstream_fseek(state->dst, curr_offset, SEEK_SET) < 0) { msg_warn("%s: seek file %s: %m", myname, cleanup_path); CLEANUP_DEL_RCPT_RETURN(cleanup_milter_error(state, errno)); *************** *** 1183,1189 **** if (msg_verbose) msg_info("%s: deleted %d records for recipient \"%s\"", ! myname, count, rcpt); CLEANUP_DEL_RCPT_RETURN(0); } --- 1243,1249 ---- if (msg_verbose) msg_info("%s: deleted %d records for recipient \"%s\"", ! myname, count, ext_rcpt); CLEANUP_DEL_RCPT_RETURN(0); } *************** *** 1260,1277 **** if (strcmp(name, S8_MAC_AUTH_AUTHOR) == 0) return (nvtable_find(state->attr, MAIL_ATTR_SASL_SENDER)); #endif - #if 0 if (strcmp(name, S8_MAC_MAIL_ADDR) == 0) ! return (state->sender); ! #endif /* * RCPT TO macros. */ - #if 0 if (strcmp(name, S8_MAC_RCPT_ADDR) == 0) ! return (state->recipient); ! #endif return (0); } --- 1320,1333 ---- if (strcmp(name, S8_MAC_AUTH_AUTHOR) == 0) return (nvtable_find(state->attr, MAIL_ATTR_SASL_SENDER)); #endif if (strcmp(name, S8_MAC_MAIL_ADDR) == 0) ! return (state->milter_ext_from ? STR(state->milter_ext_from) : 0); /* * RCPT TO macros. */ if (strcmp(name, S8_MAC_RCPT_ADDR) == 0) ! return (state->milter_ext_rcpt ? STR(state->milter_ext_rcpt) : 0); return (0); } *************** *** 1485,1491 **** } } if (CLEANUP_MILTER_OK(state)) { ! argv[0] = addr; argv[1] = 0; if ((resp = milter_mail_event(milters, argv)) != 0) { cleanup_milter_apply(state, "MAIL", resp); --- 1541,1554 ---- } } if (CLEANUP_MILTER_OK(state)) { ! if (state->milter_ext_from == 0) ! state->milter_ext_from = vstring_alloc(100); ! /* Sendmail 8.13 does not externalize the null address. */ ! if (*addr) ! quote_821_local(state->milter_ext_from, addr); ! else ! vstring_strcpy(state->milter_ext_from, addr); ! argv[0] = STR(state->milter_ext_from); argv[1] = 0; if ((resp = milter_mail_event(milters, argv)) != 0) { cleanup_milter_apply(state, "MAIL", resp); *************** *** 1515,1521 **** * attribute, but CLEANUP_STAT_DEFER takes precedence. It terminates * queue record processing, and prevents bounces from being sent. */ ! argv[0] = addr; argv[1] = 0; if ((resp = milter_rcpt_event(milters, argv)) != 0 && cleanup_milter_apply(state, "RCPT", resp) != 0) { --- 1578,1591 ---- * attribute, but CLEANUP_STAT_DEFER takes precedence. It terminates * queue record processing, and prevents bounces from being sent. */ ! if (state->milter_ext_rcpt == 0) ! state->milter_ext_rcpt = vstring_alloc(100); ! /* Sendmail 8.13 does not externalize the null address. */ ! if (*addr) ! quote_821_local(state->milter_ext_rcpt, addr); ! else ! vstring_strcpy(state->milter_ext_rcpt, addr); ! argv[0] = STR(state->milter_ext_rcpt); argv[1] = 0; if ((resp = milter_rcpt_event(milters, argv)) != 0 && cleanup_milter_apply(state, "RCPT", resp) != 0) { diff -cr /var/tmp/postfix-2.3.3/src/cleanup/cleanup_state.c ./src/cleanup/cleanup_state.c *** /var/tmp/postfix-2.3.3/src/cleanup/cleanup_state.c Thu Jul 20 20:14:48 2006 --- ./src/cleanup/cleanup_state.c Thu Oct 19 11:16:17 2006 *************** *** 113,118 **** --- 113,120 ---- state->client_addr = 0; state->client_af = 0; state->client_port = 0; + state->milter_ext_from = 0; + state->milter_ext_rcpt = 0; return (state); } *************** *** 159,163 **** --- 161,169 ---- myfree(state->verp_delims); if (state->milters) milter_free(state->milters); + if (state->milter_ext_from) + vstring_free(state->milter_ext_from); + if (state->milter_ext_rcpt) + vstring_free(state->milter_ext_rcpt); myfree((char *) state); } diff -cr /var/tmp/postfix-2.3.3/src/global/mail_params.h ./src/global/mail_params.h *** /var/tmp/postfix-2.3.3/src/global/mail_params.h Wed Jul 26 20:59:10 2006 --- ./src/global/mail_params.h Sun Sep 3 15:21:00 2006 *************** *** 2648,2662 **** * TLS cipherlists */ #define VAR_TLS_HIGH_CLIST "tls_high_cipherlist" ! #define DEF_TLS_HIGH_CLIST "!EXPORT:!LOW:!MEDIUM:ALL:+RC4:@STRENGTH" extern char *var_tls_high_clist; #define VAR_TLS_MEDIUM_CLIST "tls_medium_cipherlist" ! #define DEF_TLS_MEDIUM_CLIST "!EXPORT:!LOW:ALL:+RC4:@STRENGTH" extern char *var_tls_medium_clist; #define VAR_TLS_LOW_CLIST "tls_low_cipherlist" ! #define DEF_TLS_LOW_CLIST "!EXPORT:ALL:+RC4:@STRENGTH" extern char *var_tls_low_clist; #define VAR_TLS_EXPORT_CLIST "tls_export_cipherlist" --- 2648,2662 ---- * TLS cipherlists */ #define VAR_TLS_HIGH_CLIST "tls_high_cipherlist" ! #define DEF_TLS_HIGH_CLIST "ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH" extern char *var_tls_high_clist; #define VAR_TLS_MEDIUM_CLIST "tls_medium_cipherlist" ! #define DEF_TLS_MEDIUM_CLIST "ALL:!EXPORT:!LOW:+RC4:@STRENGTH" extern char *var_tls_medium_clist; #define VAR_TLS_LOW_CLIST "tls_low_cipherlist" ! #define DEF_TLS_LOW_CLIST "ALL:!EXPORT:+RC4:@STRENGTH" extern char *var_tls_low_clist; #define VAR_TLS_EXPORT_CLIST "tls_export_cipherlist" diff -cr /var/tmp/postfix-2.3.3/src/global/record.c ./src/global/record.c *** /var/tmp/postfix-2.3.3/src/global/record.c Fri Aug 25 18:19:42 2006 --- ./src/global/record.c Sun Sep 3 16:00:09 2006 *************** *** 320,329 **** msg_warn("%s: malformed pointer record value: %s", VSTREAM_PATH(stream), buf); return (REC_TYPE_ERROR); ! } else if (offset < saved_offset && ++reverse_count > REVERSE_JUMP_LIMIT) { msg_warn("%s: too many reverse jump records", VSTREAM_PATH(stream)); return (REC_TYPE_ERROR); ! } else if (offset > 0 && vstream_fseek(stream, offset, SEEK_SET) < 0) { msg_warn("%s: seek error after pointer record: %m", VSTREAM_PATH(stream)); return (REC_TYPE_ERROR); --- 320,332 ---- msg_warn("%s: malformed pointer record value: %s", VSTREAM_PATH(stream), buf); return (REC_TYPE_ERROR); ! } else if (offset == 0) { ! /* Dummy record. */ ! return (0); ! } else if (offset <= saved_offset && ++reverse_count > REVERSE_JUMP_LIMIT) { msg_warn("%s: too many reverse jump records", VSTREAM_PATH(stream)); return (REC_TYPE_ERROR); ! } else if (vstream_fseek(stream, offset, SEEK_SET) < 0) { msg_warn("%s: seek error after pointer record: %m", VSTREAM_PATH(stream)); return (REC_TYPE_ERROR); diff -cr /var/tmp/postfix-2.3.3/src/local/local.c ./src/local/local.c *** /var/tmp/postfix-2.3.3/src/local/local.c Tue Jul 11 14:40:23 2006 --- ./src/local/local.c Sun Oct 15 09:34:47 2006 *************** *** 39,45 **** /* configuration parameter. Upon delivery, the local delivery agent /* tries each pathname in the list until a file is found. /* ! /* Delivery via ~/.\fB.forward\fR files is done with the privileges /* of the recipient. /* Thus, ~/.\fBforward\fR like files must be readable by the /* recipient, and their parent directory needs to have "execute" --- 39,45 ---- /* configuration parameter. Upon delivery, the local delivery agent /* tries each pathname in the list until a file is found. /* ! /* Delivery via ~/.\fBforward\fR files is done with the privileges /* of the recipient. /* Thus, ~/.\fBforward\fR like files must be readable by the /* recipient, and their parent directory needs to have "execute" diff -cr /var/tmp/postfix-2.3.3/src/sendmail/sendmail.c ./src/sendmail/sendmail.c *** /var/tmp/postfix-2.3.3/src/sendmail/sendmail.c Thu Jun 15 14:07:15 2006 --- ./src/sendmail/sendmail.c Thu Sep 28 07:06:23 2006 *************** *** 95,101 **** /* with the MAIL_CONFIG environment variable to override the /* location of configuration files. /* .IP "\fB-F \fIfull_name\fR ! /* Set the sender full name. This is used only with messages that /* have no \fBFrom:\fR message header. /* .IP "\fB-f \fIsender\fR" /* Set the envelope sender address. This is the address where --- 95,102 ---- /* with the MAIL_CONFIG environment variable to override the /* location of configuration files. /* .IP "\fB-F \fIfull_name\fR ! /* Set the sender full name. This overrides the NAME environment ! /* variable, and is used only with messages that /* have no \fBFrom:\fR message header. /* .IP "\fB-f \fIsender\fR" /* Set the envelope sender address. This is the address where *************** *** 227,237 **** /* .fi /* .IP \fBMAIL_CONFIG\fR /* Directory with Postfix configuration files. ! /* .IP \fBMAIL_VERBOSE\fR /* Enable verbose logging for debugging purposes. ! /* .IP \fBMAIL_DEBUG\fR /* Enable debugging with an external command, as specified with the /* \fBdebugger_command\fR configuration parameter. /* CONFIGURATION PARAMETERS /* .ad /* .fi --- 228,242 ---- /* .fi /* .IP \fBMAIL_CONFIG\fR /* Directory with Postfix configuration files. ! /* .IP "\fBMAIL_VERBOSE\fR (value does not matter)" /* Enable verbose logging for debugging purposes. ! /* .IP "\fBMAIL_DEBUG\fR (value does not matter)" /* Enable debugging with an external command, as specified with the /* \fBdebugger_command\fR configuration parameter. + /* .IP \fBNAME\fR + /* The sender full name. This is used only with messages that + /* have no \fBFrom:\fR message header. See also the \fB-F\fR + /* option above. /* CONFIGURATION PARAMETERS /* .ad /* .fi *************** *** 338,346 **** /* .IP "\fBsyslog_name (postfix)\fR" /* The mail system name that is prepended to the process name in syslog /* records, so that "smtpd" becomes, for example, "postfix/smtpd". - /* .IP "\fBtrigger_timeout (10s)\fR" - /* The time limit for sending a trigger to a Postfix daemon (for - /* example, the \fBpickup\fR(8) or \fBqmgr\fR(8) daemon). /* FILES /* /var/spool/postfix, mail queue /* /etc/postfix, configuration files --- 343,348 ---- diff -cr /var/tmp/postfix-2.3.3/src/showq/showq.c ./src/showq/showq.c *** /var/tmp/postfix-2.3.3/src/showq/showq.c Mon Jan 9 20:10:55 2006 --- ./src/showq/showq.c Wed Oct 4 14:11:57 2006 *************** *** 140,147 **** char *var_empty_addr; #define STRING_FORMAT "%-10s %8s %-20s %s\n" ! #define SENDER_FORMAT "%-11s%8ld %20.20s %s\n" ! #define DROP_FORMAT "%-10s%c%8ld %20.20s (maildrop queue, sender UID %u)\n" static void showq_reasons(VSTREAM *, BOUNCE_LOG *, RCPT_BUF *, DSN_BUF *, HTABLE *); --- 140,147 ---- char *var_empty_addr; #define STRING_FORMAT "%-10s %8s %-20s %s\n" ! #define SENDER_FORMAT "%-11s %7ld %20.20s %s\n" ! #define DROP_FORMAT "%-10s%c %7ld %20.20s (maildrop queue, sender UID %u)\n" static void showq_reasons(VSTREAM *, BOUNCE_LOG *, RCPT_BUF *, DSN_BUF *, HTABLE *); diff -cr /var/tmp/postfix-2.3.3/src/smtp/smtp.c ./src/smtp/smtp.c *** /var/tmp/postfix-2.3.3/src/smtp/smtp.c Wed Jul 19 17:04:25 2006 --- ./src/smtp/smtp.c Thu Oct 5 12:35:50 2006 *************** *** 317,327 **** /* The number of pseudo-random bytes that an \fBsmtp\fR(8) or \fBsmtpd\fR(8) /* process requests from the \fBtlsmgr\fR(8) server in order to seed its /* internal pseudo random number generator (PRNG). ! /* .IP "\fBtls_high_cipherlist (!EXPORT:!LOW:!MEDIUM:ALL:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "HIGH" grade ciphers. ! /* .IP "\fBtls_medium_cipherlist (!EXPORT:!LOW:ALL:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! /* .IP "\fBtls_low_cipherlist (!EXPORT:ALL:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "LOW" or higher grade ciphers. /* .IP "\fBtls_export_cipherlist (ALL:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. --- 317,327 ---- /* The number of pseudo-random bytes that an \fBsmtp\fR(8) or \fBsmtpd\fR(8) /* process requests from the \fBtlsmgr\fR(8) server in order to seed its /* internal pseudo random number generator (PRNG). ! /* .IP "\fBtls_high_cipherlist (ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "HIGH" grade ciphers. ! /* .IP "\fBtls_medium_cipherlist (ALL:!EXPORT:!LOW:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! /* .IP "\fBtls_low_cipherlist (ALL:!EXPORT:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "LOW" or higher grade ciphers. /* .IP "\fBtls_export_cipherlist (ALL:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. *************** *** 901,907 **** * EHLO keyword filter. */ if (*var_smtp_ehlo_dis_maps) ! smtp_ehlo_dis_maps = maps_create(VAR_SMTPD_EHLO_DIS_MAPS, var_smtp_ehlo_dis_maps, DICT_FLAG_LOCK); --- 901,907 ---- * EHLO keyword filter. */ if (*var_smtp_ehlo_dis_maps) ! smtp_ehlo_dis_maps = maps_create(VAR_SMTP_EHLO_DIS_MAPS, var_smtp_ehlo_dis_maps, DICT_FLAG_LOCK); diff -cr /var/tmp/postfix-2.3.3/src/smtp/smtp_connect.c ./src/smtp/smtp_connect.c *** /var/tmp/postfix-2.3.3/src/smtp/smtp_connect.c Wed Jul 19 20:07:03 2006 --- ./src/smtp/smtp_connect.c Sat Sep 2 18:44:51 2006 *************** *** 663,671 **** * primary destination to be a list (it could be just separators). */ sites = argv_alloc(1); ! argv_add(sites, request->nexthop, (char *) 0); if (sites->argc == 0) ! msg_panic("null destination: \"%s\"", request->nexthop); non_fallback_sites = sites->argc; if ((state->misc_flags & SMTP_MISC_FLAG_USE_LMTP) == 0) argv_split_append(sites, var_fallback_relay, ", \t\r\n"); --- 663,671 ---- * primary destination to be a list (it could be just separators). */ sites = argv_alloc(1); ! argv_add(sites, nexthop, (char *) 0); if (sites->argc == 0) ! msg_panic("null destination: \"%s\"", nexthop); non_fallback_sites = sites->argc; if ((state->misc_flags & SMTP_MISC_FLAG_USE_LMTP) == 0) argv_split_append(sites, var_fallback_relay, ", \t\r\n"); diff -cr /var/tmp/postfix-2.3.3/src/smtp/smtp_proto.c ./src/smtp/smtp_proto.c *** /var/tmp/postfix-2.3.3/src/smtp/smtp_proto.c Tue Jul 25 17:10:57 2006 --- ./src/smtp/smtp_proto.c Fri Sep 29 20:37:08 2006 *************** *** 230,235 **** --- 230,240 ---- "QUIT command", }; + #define SMTP_MIME_DOWNGRADE(session, request) \ + (var_disable_mime_oconv == 0 \ + && (session->features & SMTP_FEATURE_8BITMIME) == 0 \ + && strcmp(request->encoding, MAIL_ATTR_ENC_7BIT) != 0) + static int smtp_start_tls(SMTP_STATE *); /* smtp_helo - perform initial handshake with SMTP server */ *************** *** 1172,1178 **** QUOTE_ADDRESS(session->scratch, vstring_str(session->scratch2)); vstring_sprintf(next_command, "MAIL FROM:<%s>", vstring_str(session->scratch)); ! if (session->features & SMTP_FEATURE_SIZE) /* RFC 1870 */ vstring_sprintf_append(next_command, " SIZE=%lu", request->data_size); if (session->features & SMTP_FEATURE_8BITMIME) { /* RFC 1652 */ --- 1177,1185 ---- QUOTE_ADDRESS(session->scratch, vstring_str(session->scratch2)); vstring_sprintf(next_command, "MAIL FROM:<%s>", vstring_str(session->scratch)); ! /* XXX Don't announce SIZE if we're going to MIME downgrade. */ ! if (session->features & SMTP_FEATURE_SIZE /* RFC 1870 */ ! && !SMTP_MIME_DOWNGRADE(session, request)) vstring_sprintf_append(next_command, " SIZE=%lu", request->data_size); if (session->features & SMTP_FEATURE_8BITMIME) { /* RFC 1652 */ *************** *** 1619,1631 **** * transaction in progress. */ if (send_state == SMTP_STATE_DOT && nrcpt > 0) { ! downgrading = ! (var_disable_mime_oconv == 0 ! && (session->features & SMTP_FEATURE_8BITMIME) == 0 ! && strcmp(request->encoding, MAIL_ATTR_ENC_7BIT) != 0); if (downgrading || smtp_generic_maps) ! session->mime_state = mime_state_alloc(MIME_OPT_DOWNGRADE ! | MIME_OPT_REPORT_NESTING, smtp_generic_maps ? smtp_header_rewrite : smtp_header_out, --- 1626,1638 ---- * transaction in progress. */ if (send_state == SMTP_STATE_DOT && nrcpt > 0) { ! downgrading = SMTP_MIME_DOWNGRADE(session, request); ! /* XXX Don't downgrade just because generic_maps is turned on. */ if (downgrading || smtp_generic_maps) ! session->mime_state = mime_state_alloc(downgrading ? ! MIME_OPT_DOWNGRADE ! | MIME_OPT_REPORT_NESTING : ! MIME_OPT_REPORT_NESTING, smtp_generic_maps ? smtp_header_rewrite : smtp_header_out, diff -cr /var/tmp/postfix-2.3.3/src/smtp/smtp_reuse.c ./src/smtp/smtp_reuse.c *** /var/tmp/postfix-2.3.3/src/smtp/smtp_reuse.c Thu Jul 6 16:20:49 2006 --- ./src/smtp/smtp_reuse.c Tue Oct 17 14:49:24 2006 *************** *** 175,180 **** --- 175,181 ---- return (0); } state->session = session; + session->state = state; /* * XXX Temporary fix. diff -cr /var/tmp/postfix-2.3.3/src/smtpd/Makefile.in ./src/smtpd/Makefile.in *** /var/tmp/postfix-2.3.3/src/smtpd/Makefile.in Sun Jul 9 13:45:31 2006 --- ./src/smtpd/Makefile.in Thu Oct 19 11:16:17 2006 *************** *** 200,205 **** --- 200,206 ---- smtpd_chat.o: ../../include/argv.h smtpd_chat.o: ../../include/attr.h smtpd_chat.o: ../../include/cleanup_user.h + smtpd_chat.o: ../../include/int_filt.h smtpd_chat.o: ../../include/iostuff.h smtpd_chat.o: ../../include/line_wrap.h smtpd_chat.o: ../../include/mail_addr.h *************** *** 303,308 **** --- 304,311 ---- smtpd_milter.o: ../../include/myaddrinfo.h smtpd_milter.o: ../../include/name_code.h smtpd_milter.o: ../../include/name_mask.h + smtpd_milter.o: ../../include/quote_821_local.h + smtpd_milter.o: ../../include/quote_flags.h smtpd_milter.o: ../../include/sys_defs.h smtpd_milter.o: ../../include/tls.h smtpd_milter.o: ../../include/vbuf.h diff -cr /var/tmp/postfix-2.3.3/src/smtpd/smtpd.c ./src/smtpd/smtpd.c *** /var/tmp/postfix-2.3.3/src/smtpd/smtpd.c Tue Aug 22 11:00:32 2006 --- ./src/smtpd/smtpd.c Mon Oct 2 15:48:02 2006 *************** *** 346,356 **** /* The number of pseudo-random bytes that an \fBsmtp\fR(8) or \fBsmtpd\fR(8) /* process requests from the \fBtlsmgr\fR(8) server in order to seed its /* internal pseudo random number generator (PRNG). ! /* .IP "\fBtls_high_cipherlist (!EXPORT:!LOW:!MEDIUM:ALL:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "HIGH" grade ciphers. ! /* .IP "\fBtls_medium_cipherlist (!EXPORT:!LOW:ALL:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! /* .IP "\fBtls_low_cipherlist (!EXPORT:ALL:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "LOW" or higher grade ciphers. /* .IP "\fBtls_export_cipherlist (ALL:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. --- 346,356 ---- /* The number of pseudo-random bytes that an \fBsmtp\fR(8) or \fBsmtpd\fR(8) /* process requests from the \fBtlsmgr\fR(8) server in order to seed its /* internal pseudo random number generator (PRNG). ! /* .IP "\fBtls_high_cipherlist (ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "HIGH" grade ciphers. ! /* .IP "\fBtls_medium_cipherlist (ALL:!EXPORT:!LOW:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. ! /* .IP "\fBtls_low_cipherlist (ALL:!EXPORT:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "LOW" or higher grade ciphers. /* .IP "\fBtls_export_cipherlist (ALL:+RC4:@STRENGTH)\fR" /* The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. *************** *** 2250,2256 **** } vstring_strcpy(state->dsn_orcpt_buf, arg + 6); if (dsn_orcpt_addr ! || (coded_addr = split_at(STR(state->dsn_orcpt_buf), ';')) == 0 || xtext_unquote(state->dsn_buf, coded_addr) == 0 || *(dsn_orcpt_type = STR(state->dsn_orcpt_buf)) == 0) { state->error_mask |= MAIL_ERROR_PROTOCOL; --- 2250,2256 ---- } vstring_strcpy(state->dsn_orcpt_buf, arg + 6); if (dsn_orcpt_addr ! || (coded_addr = split_at(STR(state->dsn_orcpt_buf), ';')) == 0 || xtext_unquote(state->dsn_buf, coded_addr) == 0 || *(dsn_orcpt_type = STR(state->dsn_orcpt_buf)) == 0) { state->error_mask |= MAIL_ERROR_PROTOCOL; *************** *** 3901,3907 **** if (smtpd_milters != 0 && SMTPD_STAND_ALONE(state) == 0) { milter_macro_callback(smtpd_milters, smtpd_milter_eval, (void *) state); ! if ((err = milter_conn_event(smtpd_milters, state->reverse_name, state->addr, XXX_NO_PORT, state->addr_family)) != 0) err = check_milter_reply(state, err); --- 3901,3907 ---- if (smtpd_milters != 0 && SMTPD_STAND_ALONE(state) == 0) { milter_macro_callback(smtpd_milters, smtpd_milter_eval, (void *) state); ! if ((err = milter_conn_event(smtpd_milters, state->name, state->addr, XXX_NO_PORT, state->addr_family)) != 0) err = check_milter_reply(state, err); diff -cr /var/tmp/postfix-2.3.3/src/smtpd/smtpd_milter.c ./src/smtpd/smtpd_milter.c *** /var/tmp/postfix-2.3.3/src/smtpd/smtpd_milter.c Thu Jul 20 20:14:48 2006 --- ./src/smtpd/smtpd_milter.c Thu Oct 19 11:16:17 2006 *************** *** 36,41 **** --- 36,42 ---- /* Global library. */ #include + #include /* Milter library. */ *************** *** 148,161 **** if (strcmp(name, S8_MAC_AUTH_AUTHOR) == 0) return (IF_SASL_ENABLED(state->sasl_sender)); #endif ! if (strcmp(name, S8_MAC_MAIL_ADDR) == 0) ! return (state->sender); /* * RCPT TO macros. */ ! if (strcmp(name, S8_MAC_RCPT_ADDR) == 0) ! return (state->recipient); ! return (0); } --- 149,181 ---- if (strcmp(name, S8_MAC_AUTH_AUTHOR) == 0) return (IF_SASL_ENABLED(state->sasl_sender)); #endif ! if (strcmp(name, S8_MAC_MAIL_ADDR) == 0) { ! if (state->sender == 0) ! return (0); ! if (state->expand_buf == 0) ! state->expand_buf = vstring_alloc(10); ! /* Sendmail 8.13 does not externalize the null string. */ ! if (state->sender[0]) ! quote_821_local(state->expand_buf, state->sender); ! else ! vstring_strcpy(state->expand_buf, state->sender); ! return (STR(state->expand_buf)); ! } /* * RCPT TO macros. */ ! if (strcmp(name, S8_MAC_RCPT_ADDR) == 0) { ! if (state->recipient == 0) ! return (0); ! if (state->expand_buf == 0) ! state->expand_buf = vstring_alloc(10); ! /* Sendmail 8.13 does not externalize the null string. */ ! if (state->recipient[0]) ! quote_821_local(state->expand_buf, state->recipient); ! else ! vstring_strcpy(state->expand_buf, state->recipient); ! return (STR(state->expand_buf)); ! } return (0); } diff -cr /var/tmp/postfix-2.3.3/src/smtpstone/smtp-sink.c ./src/smtpstone/smtp-sink.c *** /var/tmp/postfix-2.3.3/src/smtpstone/smtp-sink.c Thu Jun 15 14:07:16 2006 --- ./src/smtpstone/smtp-sink.c Wed Aug 30 08:50:31 2006 *************** *** 282,287 **** --- 282,288 ---- static void data_response(SINK_STATE *state) { + /* Not: ST_ANY. */ state->data_state = ST_CR_LF; smtp_printf(state->stream, "354 End data with ."); smtp_flush(state->stream); diff -cr /var/tmp/postfix-2.3.3/src/tls/tls_client.c ./src/tls/tls_client.c *** /var/tmp/postfix-2.3.3/src/tls/tls_client.c Wed Jul 5 14:34:38 2006 --- ./src/tls/tls_client.c Fri Sep 29 19:26:04 2006 *************** *** 565,571 **** break; } } ! sk_GENERAL_NAME_free(gens); } } if (dNSName_found) { --- 565,571 ---- break; } } ! sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free); } } if (dNSName_found) { diff -cr /var/tmp/postfix-2.3.3/src/util/dict_cidr.c ./src/util/dict_cidr.c *** /var/tmp/postfix-2.3.3/src/util/dict_cidr.c Wed Jan 18 12:37:55 2006 --- ./src/util/dict_cidr.c Thu Aug 31 16:35:29 2006 *************** *** 78,83 **** --- 78,85 ---- if (msg_verbose) msg_info("dict_cidr_lookup: %s: %s", dict->name, key); + dict_errno = 0; + if ((entry = (DICT_CIDR_ENTRY *) cidr_match_execute(&(dict_cidr->head->cidr_info), key)) != 0) return (entry->value); diff -cr /var/tmp/postfix-2.3.3/src/util/myaddrinfo.c ./src/util/myaddrinfo.c *** /var/tmp/postfix-2.3.3/src/util/myaddrinfo.c Thu Jul 14 15:56:24 2005 --- ./src/util/myaddrinfo.c Fri Sep 29 19:34:20 2006 *************** *** 400,407 **** --- 400,411 ---- * might blow up. Instead we turn off IPV6_V6ONLY in inet_listen(), and * supply a protocol-dependent hard-coded string value to getaddrinfo() * below, so that it will convert into the appropriate wild-card address. + * + * XXX AIX 5.[1-3] getaddrinfo() may return a non-null port when a null + * service argument is specified. */ struct addrinfo hints; + int err; memset((char *) &hints, 0, sizeof(hints)); hints.ai_family = inet_proto_info()->ai_family; *************** *** 423,429 **** } #endif } ! return (getaddrinfo(hostname, service, &hints, res)); #endif } --- 427,444 ---- } #endif } ! err = getaddrinfo(hostname, service, &hints, res); ! #if defined(BROKEN_AI_NULL_SERVICE) ! if (service == 0 && err == 0) { ! struct addrinfo *r; ! unsigned short *portp; ! ! for (r = *res; r != 0; r = r->ai_next) ! if (*(portp = SOCK_ADDR_PORTP(r->ai_addr)) != 0) ! *portp = 0; ! } ! #endif ! return (err); #endif } *************** *** 500,507 **** --- 515,526 ---- * ai_family=PF_UNSPEC, ai_flags=AI_NUMERICHOST, ai_socktype=SOCK_STREAM, * ai_protocol=0 or IPPROTO_TCP, and service=0. The workaround is to * ignore all but the first result. + * + * XXX AIX 5.[1-3] getaddrinfo() may return a non-null port when a null + * service argument is specified. */ struct addrinfo hints; + int err; memset(&hints, 0, sizeof(hints)); hints.ai_family = inet_proto_info()->ai_family; *************** *** 524,530 **** } #endif } ! return (getaddrinfo(hostaddr, service, &hints, res)); #endif } --- 543,560 ---- } #endif } ! err = getaddrinfo(hostaddr, service, &hints, res); ! #if defined(BROKEN_AI_NULL_SERVICE) ! if (service == 0 && err == 0) { ! struct addrinfo *r; ! unsigned short *portp; ! ! for (r = *res; r != 0; r = r->ai_next) ! if (*(portp = SOCK_ADDR_PORTP(r->ai_addr)) != 0) ! *portp = 0; ! } ! #endif ! return (err); #endif } diff -cr /var/tmp/postfix-2.3.3/src/util/sock_addr.c ./src/util/sock_addr.c *** /var/tmp/postfix-2.3.3/src/util/sock_addr.c Tue Jan 18 20:22:20 2005 --- ./src/util/sock_addr.c Sat Sep 30 10:06:11 2006 *************** *** 28,33 **** --- 28,35 ---- /* struct sockaddr *SOCK_ADDR_PTR(ptr) /* unsigned char SOCK_ADDR_FAMILY(ptr) /* unsigned char SOCK_ADDR_LEN(ptr) + /* unsigned short SOCK_ADDR_PORT(ptr) + /* unsigned short *SOCK_ADDR_PORTP(ptr) /* /* struct sockaddr_in *SOCK_ADDR_IN_PTR(ptr) /* unsigned char SOCK_ADDR_IN_FAMILY(ptr) *************** *** 66,72 **** /* address family and length of the real structure that hides /* inside a generic sockaddr structure. On systems where struct /* sockaddr has no sa_len member, SOCK_ADDR_LEN() cannot be ! /* used as lvalue. /* /* The macros SOCK_ADDR_IN{,6}_{PTR,FAMILY,PORT,ADDR}() cast /* a generic pointer to a specific socket address structure --- 68,76 ---- /* address family and length of the real structure that hides /* inside a generic sockaddr structure. On systems where struct /* sockaddr has no sa_len member, SOCK_ADDR_LEN() cannot be ! /* used as lvalue. SOCK_ADDR_PORT() returns the IPv4 or IPv6 ! /* port number, in network byte order; it must not be used as ! /* lvalue. SOCK_ADDR_PORTP() returns a pointer to the same. /* /* The macros SOCK_ADDR_IN{,6}_{PTR,FAMILY,PORT,ADDR}() cast /* a generic pointer to a specific socket address structure diff -cr /var/tmp/postfix-2.3.3/src/util/sock_addr.h ./src/util/sock_addr.h *** /var/tmp/postfix-2.3.3/src/util/sock_addr.h Tue Jan 18 20:22:20 2005 --- ./src/util/sock_addr.h Thu Sep 28 19:03:03 2006 *************** *** 45,50 **** --- 45,57 ---- sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in)) #endif + #define SOCK_ADDR_PORT(sa) \ + (SOCK_ADDR_PTR(sa)->sa_family == AF_INET6 ? \ + SOCK_ADDR_IN6_PORT(sa) : SOCK_ADDR_IN_PORT(sa)) + #define SOCK_ADDR_PORTP(sa) \ + (SOCK_ADDR_PTR(sa)->sa_family == AF_INET6 ? \ + &SOCK_ADDR_IN6_PORT(sa) : &SOCK_ADDR_IN_PORT(sa)) + #define SOCK_ADDR_IN6_PTR(sa) ((struct sockaddr_in6 *)(sa)) #define SOCK_ADDR_IN6_FAMILY(sa) SOCK_ADDR_IN6_PTR(sa)->sin6_family #define SOCK_ADDR_IN6_PORT(sa) SOCK_ADDR_IN6_PTR(sa)->sin6_port *************** *** 70,75 **** --- 77,85 ---- #ifndef HAS_SA_LEN #define SOCK_ADDR_LEN(sa) sizeof(struct sockaddr_in) #endif + + #define SOCK_ADDR_PORT(sa) SOCK_ADDR_IN_PORT(sa)) + #define SOCK_ADDR_PORTP(sa) &SOCK_ADDR_IN_PORT(sa)) #define SOCK_ADDR_EQ_ADDR(sa, sb) \ (SOCK_ADDR_FAMILY(sa) == AF_INET && SOCK_ADDR_FAMILY(sb) == AF_INET \ diff -cr /var/tmp/postfix-2.3.3/src/util/sys_defs.h ./src/util/sys_defs.h *** /var/tmp/postfix-2.3.3/src/util/sys_defs.h Mon Jul 31 09:04:29 2006 --- ./src/util/sys_defs.h Thu Sep 28 18:55:47 2006 *************** *** 28,33 **** --- 28,34 ---- || defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \ || defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \ || defined(NETBSD1) || defined(NETBSD2) || defined(NETBSD3) \ + || defined(NETBSD4) \ || defined(EKKOBSD1) #define SUPPORTED #include *************** *** 512,517 **** --- 513,519 ---- # define HAS_IPV6 #endif #define BROKEN_AI_PASSIVE_NULL_HOST + #define BROKEN_AI_NULL_SERVICE #endif #ifdef AIX4