Postfix version 1.1 Patch 03 eliminates one case of too defensive programming, adds one safety net, adds several workarounds, and cleans up some more documentation. - The Postfix SMTP server could abort with a fatal error message because some Berkeley DB versions cannot handle SMTPD access map lookups of the null address. The workaround is to use <> as lookup key. This patch changes the smtpd_null_access_lookup_key default value from the empty string to <>. - The Postfix cleanup daemon could abort with a panic message when a malformed address (user@.) was run through a canonical map. This patch eliminates some overly defensive code. The "problem" is now ignored like it used to be. - On Linux, local mail submission could fail with mysterious error messages because either /usr/lib/sendmail or /usr/sbin/sendmail came from an obsolete Postfix release. This patch adds an extra test to "postfix check", and suggests a fix when a problem is found. - On SCO UNIX, the queue manager would abort with a fatal error. This patch turns off the input rate control mechanism for SCO, because of unexpected limitations in the SCO kernel. As usual, the patch and a patched source code will be made available via ftp://ftp.porcupine.org/mirrors/postfix-release/official: 7812 Feb 2 17:01 postfix-1.1-patch03.gz 208584 Feb 1 12:51 postfix-1.1.3.HISTORY 51319 Feb 1 13:55 postfix-1.1.3.RELEASE_NOTES 1180166 Feb 2 10:41 postfix-1.1.3.tar.gz 152 Feb 2 10:41 postfix-1.1.3.tar.gz.sig Soon to appear on the mirror sites listed on http://www.postfix.org. Wietse Prereq: "1.1.2" diff -cr /tmp/postfix-1.1.2/src/global/mail_version.h ./src/global/mail_version.h *** /tmp/postfix-1.1.2/src/global/mail_version.h Fri Jan 25 10:30:37 2002 --- ./src/global/mail_version.h Fri Feb 1 09:09:40 2002 *************** *** 22,30 **** */ #define VAR_MAIL_VERSION "mail_version" #ifdef SNAPSHOT ! #define DEF_MAIL_VERSION "1.1.2-$mail_release_date" #else ! #define DEF_MAIL_VERSION "1.1.2" #endif extern char *var_mail_version; --- 22,30 ---- */ #define VAR_MAIL_VERSION "mail_version" #ifdef SNAPSHOT ! #define DEF_MAIL_VERSION "1.1.3-$mail_release_date" #else ! #define DEF_MAIL_VERSION "1.1.3" #endif extern char *var_mail_version; *************** *** 32,38 **** * Release date. */ #define VAR_MAIL_RELEASE "mail_release_date" ! #define DEF_MAIL_RELEASE "20020125" extern char *var_mail_release; /* LICENSE --- 32,38 ---- * Release date. */ #define VAR_MAIL_RELEASE "mail_release_date" ! #define DEF_MAIL_RELEASE "20020201" extern char *var_mail_release; /* LICENSE diff -cr /tmp/postfix-1.1.2/HISTORY ./HISTORY *** /tmp/postfix-1.1.2/HISTORY Fri Jan 25 10:32:54 2002 --- ./HISTORY Fri Feb 1 12:51:03 2002 *************** *** 6007,6013 **** file. Based on code by LaMont Jones, HP. File: postmap/postmap.c. ! 20020124 Portability: some Linux systems install libnsl.so without libnsl.a file, causing an yp_match undefined reference --- 6007,6013 ---- file. Based on code by LaMont Jones, HP. File: postmap/postmap.c. ! 20020123 Portability: some Linux systems install libnsl.so without libnsl.a file, causing an yp_match undefined reference *************** *** 6030,6035 **** --- 6030,6056 ---- Documentation: the postmap manual page described an out of date input file format. + + 20020129 + + Workaround: SCO version 3.2 can't ioctl(FIONREAD) a pipe. + Therefore, input mail flow control is disabled by default. + Files: makedefs, global/mail_params.h, conf/main.cf. + Problem reported by Kurt Andersen, Agilent. + + 20020201 + + Workaround: changed the default smtpd_null_access_lookup_key + setting to <>, because some Bezerkeloid DB implementations + can't handle null-length lookup keys. File: global/mail_params.h. + + Bugfix: backed out a null-length address panic call by + ignoring the problem, like Postfix did in the past. File: + global/resolve_local.c. + + Safety: "postfix check" will now warn if /usr/lib/sendmail + and /usr/sbin/sendmail differ, and will propose to replace + one by a symlink to the other. File: conf/postfix-script. Open problems: diff -cr /tmp/postfix-1.1.2/RELEASE_NOTES ./RELEASE_NOTES *** /tmp/postfix-1.1.2/RELEASE_NOTES Fri Jan 25 10:44:27 2002 --- ./RELEASE_NOTES Fri Feb 1 13:55:45 2002 *************** *** 12,17 **** --- 12,28 ---- date. Snapshots change only the release date, unless they include the same bugfix as a patch release. + Incompatible changes with Postfix version 1.1.3 (released 20020201) + =================================================================== + + In Postfix SMTPD access tables, Postfix now uses <> as the default + lookup key for the null address, in order to work around bugs in + some Berkeley DB implementations. This behavior is controlled with + the smtpd_null_access_lookup_key configuration parameter. + + On SCO #.2 UNIX, the input rate flow control is now turned off by + default, because of limitations in the SCO UNIX kernel. + Incompatible changes with Postfix version 1.1.2 (released 20020125) =================================================================== diff -cr /tmp/postfix-1.1.2/conf/access ./conf/access *** /tmp/postfix-1.1.2/conf/access Fri Jan 25 09:52:43 2002 --- ./conf/access Fri Feb 1 12:41:59 2002 *************** *** 1,4 **** - # # ACCESS(5) ACCESS(5) # # NAME --- 1,3 ---- *************** *** 68,98 **** # user@ Matches all mail addresses with the specified user # part. # ! # Note: lookup of the null sender address may not be possi- ! # ble with all supported types of lookup table. A workaround ! # is to specify smtpd_null_access_lookup_key = <> in the ! # Postfix main.cf file, and to specify <> as the left-hand ! # field in the access table. # # ADDRESS EXTENSION # When a mail address localpart contains the optional recip- ! # ient delimiter (e.g., user+foo@domain), the lookup order ! # becomes: user+foo@domain, user@domain, domain, user+foo@, # and user@. # # HOST NAME/ADDRESS PATTERNS # With lookups from indexed files such as DB or DBM, or from ! # networked tables such as NIS, LDAP or SQL, the following # lookup patterns are examined in the order as listed: # # domain.name # Matches domain.name. # ! # The pattern domain.name also matches subdomains, # but only when the string smtpd_access_maps is ! # listed in the Postfix parent_domain_matches_subdo- ! # mains configuration setting. Otherwise, specify ! # .domain.name (note the initial dot) in order to # match subdomains. # # net.work.addr.ess --- 67,98 ---- # user@ Matches all mail addresses with the specified user # part. # ! # Note: lookup of the null sender address is not possible ! # with some types of lookup table. By default, Postfix uses ! # <> as the lookup key for such addresses. The value is ! # specified with the workaround is to specify ! # smtpd_null_access_lookup_key parameter in the Postfix ! # main.cf file. # # ADDRESS EXTENSION # When a mail address localpart contains the optional recip- ! # ient delimiter (e.g., user+foo@domain), the lookup order ! # becomes: user+foo@domain, user@domain, domain, user+foo@, # and user@. # # HOST NAME/ADDRESS PATTERNS # With lookups from indexed files such as DB or DBM, or from ! # networked tables such as NIS, LDAP or SQL, the following # lookup patterns are examined in the order as listed: # # domain.name # Matches domain.name. # ! # The pattern domain.name also matches subdomains, # but only when the string smtpd_access_maps is ! # listed in the Postfix parent_domain_matches_subdo- ! # mains configuration setting. Otherwise, specify ! # .domain.name (note the initial dot) in order to # match subdomains. # # net.work.addr.ess *************** *** 101,113 **** # # net.work # ! # net Matches any host address in the specified network. ! # A network address is a sequence of one or more # octets separated by ".". # # ACTIONS # [45]NN text ! # Reject the address etc. that matches the pattern, # and respond with the numerical code and text. # # REJECT Reject the address etc. that matches the pattern. A --- 101,113 ---- # # net.work # ! # net Matches any host address in the specified network. ! # A network address is a sequence of one or more # octets separated by ".". # # ACTIONS # [45]NN text ! # Reject the address etc. that matches the pattern, # and respond with the numerical code and text. # # REJECT Reject the address etc. that matches the pattern. A *************** *** 115,149 **** # # OK Accept the address etc. that matches the pattern. # # restriction... # Apply the named UCE restriction(s) (permit, reject, # reject_unauth_destination, and so on). # # REGULAR EXPRESSION TABLES ! # This section describes how the table lookups change when # the table is given in the form of regular expressions. For ! # a description of regular expression lookup table syntax, # see regexp_table(5) or pcre_table(5). # ! # Each pattern is a regular expression that is applied to # the entire string being looked up. Depending on the appli- ! # cation, that string is an entire client hostname, an # entire client IP address, or an entire mail address. Thus, # no parent domain or parent network search is done, ! # user@domain mail addresses are not broken up into their # user@ and domain constituent parts, nor is user+foo broken # up into user and foo. # ! # Patterns are applied in the order as specified in the ! # table, until a pattern is found that matches the search # string. # ! # Actions are the same as with indexed file lookups, with ! # the additional feature that parenthesized substrings from # the pattern can be interpolated as $1, $2 and so on. # # BUGS ! # The table format does not understand quoting conventions. # # SEE ALSO # postmap(1) create mapping table --- 115,154 ---- # # OK Accept the address etc. that matches the pattern. # + # all-numerical + # An all-numerical result is treated as OK. This for- + # mat is generated by address-based relay authoriza- + # tion schemes. + # # restriction... # Apply the named UCE restriction(s) (permit, reject, # reject_unauth_destination, and so on). # # REGULAR EXPRESSION TABLES ! # This section describes how the table lookups change when # the table is given in the form of regular expressions. For ! # a description of regular expression lookup table syntax, # see regexp_table(5) or pcre_table(5). # ! # Each pattern is a regular expression that is applied to # the entire string being looked up. Depending on the appli- ! # cation, that string is an entire client hostname, an # entire client IP address, or an entire mail address. Thus, # no parent domain or parent network search is done, ! # user@domain mail addresses are not broken up into their # user@ and domain constituent parts, nor is user+foo broken # up into user and foo. # ! # Patterns are applied in the order as specified in the ! # table, until a pattern is found that matches the search # string. # ! # Actions are the same as with indexed file lookups, with ! # the additional feature that parenthesized substrings from # the pattern can be interpolated as $1, $2 and so on. # # BUGS ! # The table format does not understand quoting conventions. # # SEE ALSO # postmap(1) create mapping table *************** *** 152,158 **** # regexp_table(5) format of POSIX regular expression tables # # LICENSE ! # The Secure Mailer license must be distributed with this # software. # # AUTHOR(S) --- 157,163 ---- # regexp_table(5) format of POSIX regular expression tables # # LICENSE ! # The Secure Mailer license must be distributed with this # software. # # AUTHOR(S) *************** *** 161,165 **** # P.O. Box 704 # Yorktown Heights, NY 10598, USA # ! # 1 ! # --- 166,169 ---- # P.O. Box 704 # Yorktown Heights, NY 10598, USA # ! # ACCESS(5) diff -cr /tmp/postfix-1.1.2/conf/main.cf ./conf/main.cf *** /tmp/postfix-1.1.2/conf/main.cf Tue Jan 15 09:27:55 2002 --- ./conf/main.cf Thu Jan 31 21:12:04 2002 *************** *** 238,252 **** # #local_recipient_maps = $alias_maps unix:passwd.byname - # If you use both the Postfix local and virtual delivery agents, specify: - # - #local_recipient_maps = $alias_maps unix:passwd.byname $virtual_mailbox_maps - # INPUT RATE CONTROL # # The in_flow_delay configuration parameter implements mail input ! # flow control. This feature is turned off by default because it ! # needs further development. # # A Postfix process will pause for $in_flow_delay seconds before # accepting a new message, when the message arrival rate exceeds the --- 238,249 ---- # #local_recipient_maps = $alias_maps unix:passwd.byname # INPUT RATE CONTROL # # The in_flow_delay configuration parameter implements mail input ! # flow control. This feature is turned on by default, although it ! # still needs further development (it's disabled on SCO UNIX due ! # to an SCO bug). # # A Postfix process will pause for $in_flow_delay seconds before # accepting a new message, when the message arrival rate exceeds the *************** *** 256,262 **** # # Specify 0 to disable the feature. Valid delays are 0..10. # ! #in_flow_delay = 1 # ADDRESS REWRITING # --- 253,259 ---- # # Specify 0 to disable the feature. Valid delays are 0..10. # ! #in_flow_delay = 1s # ADDRESS REWRITING # diff -cr /tmp/postfix-1.1.2/conf/postfix-script ./conf/postfix-script *** /tmp/postfix-1.1.2/conf/postfix-script Fri Jan 11 09:36:27 2002 --- ./conf/postfix-script Fri Feb 1 13:51:38 2002 *************** *** 212,217 **** --- 212,225 ---- find corrupt -type f -exec $WARN damaged message: {} \; # XXX also: look for weird stuff, weird permissions, etc. + + test -f /usr/sbin/sendmail -a -f /usr/lib/sendmail && { + cmp -s /usr/sbin/sendmail /usr/lib/sendmail || { + $WARN /usr/lib/sendmail and /usr/sbin/sendmail differ + $WARN Replace one by a symbolic link to the other + } + } + exit 0 ;; *) diff -cr /tmp/postfix-1.1.2/html/access.5.html ./html/access.5.html *** /tmp/postfix-1.1.2/html/access.5.html Sun Jan 6 18:25:48 2002 --- ./html/access.5.html Fri Feb 1 12:42:00 2002 *************** *** 1,5 ****
- 
  ACCESS(5)                                               ACCESS(5)
  
  NAME
--- 1,4 ----
***************
*** 69,99 ****
         user@  Matches  all mail addresses with the specified user
                part.
  
!        Note: lookup of the null sender address may not be  possi-
!        ble with all supported types of lookup table. A workaround
!        is to specify smtpd_null_access_lookup_key  =  <>  in  the
!        Postfix  main.cf  file, and to specify <> as the left-hand
!        field in the access table.
  
  ADDRESS EXTENSION
         When a mail address localpart contains the optional recip-
!        ient  delimiter  (e.g., user+foo@domain), the lookup order
!        becomes: user+foo@domain, user@domain, domain,  user+foo@,
         and user@.
  
  HOST NAME/ADDRESS PATTERNS
         With lookups from indexed files such as DB or DBM, or from
!        networked tables such as NIS, LDAP or SQL,  the  following
         lookup patterns are examined in the order as listed:
  
         domain.name
                Matches domain.name.
  
!               The  pattern  domain.name  also matches subdomains,
                but  only  when  the  string  smtpd_access_maps  is
!               listed  in the Postfix parent_domain_matches_subdo-
!               mains configuration  setting.   Otherwise,  specify
!               .domain.name  (note  the  initial  dot) in order to
                match subdomains.
  
         net.work.addr.ess
--- 68,99 ----
         user@  Matches  all mail addresses with the specified user
                part.
  
!        Note: lookup of the null sender address  is  not  possible
!        with  some types of lookup table. By default, Postfix uses
!        <> as the lookup key for  such  addresses.  The  value  is
!        specified    with    the    workaround   is   to   specify
!        smtpd_null_access_lookup_key  parameter  in  the   Postfix
!        main.cf file.
  
  ADDRESS EXTENSION
         When a mail address localpart contains the optional recip-
!        ient delimiter (e.g., user+foo@domain), the  lookup  order
!        becomes:  user+foo@domain, user@domain, domain, user+foo@,
         and user@.
  
  HOST NAME/ADDRESS PATTERNS
         With lookups from indexed files such as DB or DBM, or from
!        networked  tables  such as NIS, LDAP or SQL, the following
         lookup patterns are examined in the order as listed:
  
         domain.name
                Matches domain.name.
  
!               The pattern domain.name  also  matches  subdomains,
                but  only  when  the  string  smtpd_access_maps  is
!               listed in the Postfix  parent_domain_matches_subdo-
!               mains  configuration  setting.   Otherwise, specify
!               .domain.name (note the initial  dot)  in  order  to
                match subdomains.
  
         net.work.addr.ess
***************
*** 102,114 ****
  
         net.work
  
!        net    Matches any host address in the specified  network.
!               A  network  address  is  a  sequence of one or more
                octets separated by ".".
  
  ACTIONS
         [45]NN text
!               Reject the address etc. that matches  the  pattern,
                and respond with the numerical code and text.
  
         REJECT Reject the address etc. that matches the pattern. A
--- 102,114 ----
  
         net.work
  
!        net    Matches  any host address in the specified network.
!               A network address is a  sequence  of  one  or  more
                octets separated by ".".
  
  ACTIONS
         [45]NN text
!               Reject  the  address etc. that matches the pattern,
                and respond with the numerical code and text.
  
         REJECT Reject the address etc. that matches the pattern. A
***************
*** 116,150 ****
  
         OK     Accept the address etc. that matches the pattern.
  
         restriction...
                Apply the named UCE restriction(s) (permit, reject,
                reject_unauth_destination, and so on).
  
  REGULAR EXPRESSION TABLES
!        This  section  describes how the table lookups change when
         the table is given in the form of regular expressions. For
!        a  description  of regular expression lookup table syntax,
         see regexp_table(5) or pcre_table(5).
  
!        Each pattern is a regular expression that  is  applied  to
         the entire string being looked up. Depending on the appli-
!        cation, that string  is  an  entire  client  hostname,  an
         entire client IP address, or an entire mail address. Thus,
         no  parent  domain  or  parent  network  search  is  done,
!        user@domain  mail  addresses  are not broken up into their
         user@ and domain constituent parts, nor is user+foo broken
         up into user and foo.
  
!        Patterns  are  applied  in  the  order as specified in the
!        table, until a pattern is found that  matches  the  search
         string.
  
!        Actions  are  the  same as with indexed file lookups, with
!        the additional feature that parenthesized substrings  from
         the pattern can be interpolated as $1, $2 and so on.
  
  BUGS
!        The  table format does not understand quoting conventions.
  
  SEE ALSO
         postmap(1) create mapping table
--- 116,155 ----
  
         OK     Accept the address etc. that matches the pattern.
  
+        all-numerical
+               An all-numerical result is treated as OK. This for-
+               mat is generated by address-based relay  authoriza-
+               tion schemes.
+ 
         restriction...
                Apply the named UCE restriction(s) (permit, reject,
                reject_unauth_destination, and so on).
  
  REGULAR EXPRESSION TABLES
!        This section describes how the table lookups  change  when
         the table is given in the form of regular expressions. For
!        a description of regular expression lookup  table  syntax,
         see regexp_table(5) or pcre_table(5).
  
!        Each  pattern  is  a regular expression that is applied to
         the entire string being looked up. Depending on the appli-
!        cation,  that  string  is  an  entire  client hostname, an
         entire client IP address, or an entire mail address. Thus,
         no  parent  domain  or  parent  network  search  is  done,
!        user@domain mail addresses are not broken  up  into  their
         user@ and domain constituent parts, nor is user+foo broken
         up into user and foo.
  
!        Patterns are applied in the  order  as  specified  in  the
!        table,  until  a  pattern is found that matches the search
         string.
  
!        Actions are the same as with indexed  file  lookups,  with
!        the  additional feature that parenthesized substrings from
         the pattern can be interpolated as $1, $2 and so on.
  
  BUGS
!        The table format does not understand quoting  conventions.
  
  SEE ALSO
         postmap(1) create mapping table
***************
*** 153,159 ****
         regexp_table(5) format of POSIX regular expression tables
  
  LICENSE
!        The Secure Mailer license must be  distributed  with  this
         software.
  
  AUTHOR(S)
--- 158,164 ----
         regexp_table(5) format of POSIX regular expression tables
  
  LICENSE
!        The  Secure  Mailer  license must be distributed with this
         software.
  
  AUTHOR(S)
***************
*** 162,167 ****
         P.O. Box 704
         Yorktown Heights, NY 10598, USA
  
!                                                                 1
! 
  
--- 167,171 ---- P.O. Box 704 Yorktown Heights, NY 10598, USA ! ACCESS(5) diff -cr /tmp/postfix-1.1.2/html/mailq.1.html ./html/mailq.1.html *** /tmp/postfix-1.1.2/html/mailq.1.html Tue Jan 1 17:11:17 2002 --- ./html/mailq.1.html Fri Feb 1 09:17:24 2002 *************** *** 1,5 ****
- 
  SENDMAIL(1)                                           SENDMAIL(1)
  
  NAME
--- 1,4 ----
***************
*** 329,334 ****
         P.O. Box 704
         Yorktown Heights, NY 10598, USA
  
!                                                                 1
! 
  
--- 328,332 ---- P.O. Box 704 Yorktown Heights, NY 10598, USA ! SENDMAIL(1) diff -cr /tmp/postfix-1.1.2/html/master.8.html ./html/master.8.html *** /tmp/postfix-1.1.2/html/master.8.html Tue Jul 31 20:56:00 2001 --- ./html/master.8.html Fri Feb 1 09:17:23 2002 *************** *** 1,5 ****
- 
  MASTER(8)                                               MASTER(8)
  
  NAME
--- 1,4 ----
***************
*** 151,156 ****
         P.O. Box 704
         Yorktown Heights, NY 10598, USA
  
!                                                                 1
! 
  
--- 150,154 ---- P.O. Box 704 Yorktown Heights, NY 10598, USA ! MASTER(8) diff -cr /tmp/postfix-1.1.2/html/newaliases.1.html ./html/newaliases.1.html *** /tmp/postfix-1.1.2/html/newaliases.1.html Tue Jan 1 17:11:17 2002 --- ./html/newaliases.1.html Fri Feb 1 09:17:24 2002 *************** *** 1,5 ****
- 
  SENDMAIL(1)                                           SENDMAIL(1)
  
  NAME
--- 1,4 ----
***************
*** 329,334 ****
         P.O. Box 704
         Yorktown Heights, NY 10598, USA
  
!                                                                 1
! 
  
--- 328,332 ---- P.O. Box 704 Yorktown Heights, NY 10598, USA ! SENDMAIL(1) diff -cr /tmp/postfix-1.1.2/html/postfix.1.html ./html/postfix.1.html *** /tmp/postfix-1.1.2/html/postfix.1.html Thu Jan 24 19:15:03 2002 --- ./html/postfix.1.html Fri Feb 1 09:17:24 2002 *************** *** 1,5 ****
- 
  POSTFIX(1)                                             POSTFIX(1)
  
  NAME
--- 1,4 ----
***************
*** 154,159 ****
         P.O. Box 704
         Yorktown Heights, NY 10598, USA
  
!                                                                 1
! 
  
--- 153,157 ---- P.O. Box 704 Yorktown Heights, NY 10598, USA ! POSTFIX(1) diff -cr /tmp/postfix-1.1.2/html/qmqpd.8.html ./html/qmqpd.8.html *** /tmp/postfix-1.1.2/html/qmqpd.8.html Thu Jan 24 19:15:03 2002 --- ./html/qmqpd.8.html Fri Feb 1 09:17:24 2002 *************** *** 1,5 ****
- 
  QMQPD(8)                                                 QMQPD(8)
  
  NAME
--- 1,4 ----
***************
*** 117,122 ****
         P.O. Box 704
         Yorktown Heights, NY 10598, USA
  
!                                                                 1
! 
  
--- 116,120 ---- P.O. Box 704 Yorktown Heights, NY 10598, USA ! QMQPD(8) diff -cr /tmp/postfix-1.1.2/html/sendmail.1.html ./html/sendmail.1.html *** /tmp/postfix-1.1.2/html/sendmail.1.html Tue Jan 1 17:11:17 2002 --- ./html/sendmail.1.html Fri Feb 1 09:17:24 2002 *************** *** 1,5 ****
- 
  SENDMAIL(1)                                           SENDMAIL(1)
  
  NAME
--- 1,4 ----
***************
*** 329,334 ****
         P.O. Box 704
         Yorktown Heights, NY 10598, USA
  
!                                                                 1
! 
  
--- 328,332 ---- P.O. Box 704 Yorktown Heights, NY 10598, USA ! SENDMAIL(1) diff -cr /tmp/postfix-1.1.2/makedefs ./makedefs *** /tmp/postfix-1.1.2/makedefs Fri Jan 25 09:17:18 2002 --- ./makedefs Tue Jan 29 12:27:34 2002 *************** *** 61,74 **** SCO_SV.3.2) SYSTYPE=SCO5 # Use the native compiler by default : ${CC="/usr/bin/cc -b elf"} ! : ${DEBUG=} SYSLIBS="-lsocket -ldbm" RANLIB=echo ;; UnixWare.5*) SYSTYPE=UW7 # Use the native compiler by default : ${CC=/usr/bin/cc} - : ${DEBUG=} RANLIB=echo SYSLIBS="-lresolv -lsocket -lnsl" ;; --- 61,73 ---- SCO_SV.3.2) SYSTYPE=SCO5 # Use the native compiler by default : ${CC="/usr/bin/cc -b elf"} ! CCARGS="-DPIPES_CANT_FIONREAD $CCARGS" SYSLIBS="-lsocket -ldbm" RANLIB=echo ;; UnixWare.5*) SYSTYPE=UW7 # Use the native compiler by default : ${CC=/usr/bin/cc} RANLIB=echo SYSLIBS="-lresolv -lsocket -lnsl" ;; diff -cr /tmp/postfix-1.1.2/man/man5/access.5 ./man/man5/access.5 *** /tmp/postfix-1.1.2/man/man5/access.5 Sun Jan 6 18:25:48 2002 --- ./man/man5/access.5 Fri Feb 1 12:41:59 2002 *************** *** 66,76 **** .IP \fIuser\fR@ Matches all mail addresses with the specified user part. .PP ! Note: lookup of the null sender address may not be possible with ! all supported types of lookup table. A workaround is to specify ! \fBsmtpd_null_access_lookup_key = <>\fR in the Postfix \fBmain.cf\fR ! file, and to specify \fB<>\fR as the left-hand field in the access ! table. .SH ADDRESS EXTENSION .na .nf --- 66,76 ---- .IP \fIuser\fR@ Matches all mail addresses with the specified user part. .PP ! Note: lookup of the null sender address is not possible with ! some types of lookup table. By default, Postfix uses \fB<>\fR ! as the lookup key for such addresses. The value is specified with ! the workaround is to specify \fBsmtpd_null_access_lookup_key\fR ! parameter in the Postfix \fBmain.cf\fR file. .SH ADDRESS EXTENSION .na .nf *************** *** 115,120 **** --- 115,123 ---- error response message is generated. .IP \fBOK\fR Accept the address etc. that matches the pattern. + .IP \fIall-numerical\fR + An all-numerical result is treated as OK. This format is + generated by address-based relay authorization schemes. .IP \fIrestriction...\fR Apply the named UCE restriction(s) (\fBpermit\fR, \fRreject\fR, \fBreject_unauth_destination\fR, and so on). diff -cr /tmp/postfix-1.1.2/proto/access ./proto/access *** /tmp/postfix-1.1.2/proto/access Sun Jan 6 18:25:42 2002 --- ./proto/access Fri Feb 1 12:41:52 2002 *************** *** 56,66 **** # .IP \fIuser\fR@ # Matches all mail addresses with the specified user part. # .PP ! # Note: lookup of the null sender address may not be possible with ! # all supported types of lookup table. A workaround is to specify ! # \fBsmtpd_null_access_lookup_key = <>\fR in the Postfix \fBmain.cf\fR ! # file, and to specify \fB<>\fR as the left-hand field in the access ! # table. # ADDRESS EXTENSION # .fi # .ad --- 56,66 ---- # .IP \fIuser\fR@ # Matches all mail addresses with the specified user part. # .PP ! # Note: lookup of the null sender address is not possible with ! # some types of lookup table. By default, Postfix uses \fB<>\fR ! # as the lookup key for such addresses. The value is specified with ! # the workaround is to specify \fBsmtpd_null_access_lookup_key\fR ! # parameter in the Postfix \fBmain.cf\fR file. # ADDRESS EXTENSION # .fi # .ad *************** *** 99,104 **** --- 99,107 ---- # error response message is generated. # .IP \fBOK\fR # Accept the address etc. that matches the pattern. + # .IP \fIall-numerical\fR + # An all-numerical result is treated as OK. This format is + # generated by address-based relay authorization schemes. # .IP \fIrestriction...\fR # Apply the named UCE restriction(s) (\fBpermit\fR, \fRreject\fR, # \fBreject_unauth_destination\fR, and so on). diff -cr /tmp/postfix-1.1.2/src/global/mail_params.h ./src/global/mail_params.h *** /tmp/postfix-1.1.2/src/global/mail_params.h Tue Jan 15 10:24:34 2002 --- ./src/global/mail_params.h Fri Feb 1 08:59:51 2002 *************** *** 1189,1195 **** #define REJECT_UNAUTH_PIPE "reject_unauth_pipelining" #define VAR_SMTPD_NULL_KEY "smtpd_null_access_lookup_key" ! #define DEF_SMTPD_NULL_KEY "" extern char *var_smtpd_null_key; /* --- 1189,1195 ---- #define REJECT_UNAUTH_PIPE "reject_unauth_pipelining" #define VAR_SMTPD_NULL_KEY "smtpd_null_access_lookup_key" ! #define DEF_SMTPD_NULL_KEY "<>" extern char *var_smtpd_null_key; /* *************** *** 1353,1359 **** --- 1353,1363 ---- * the sending processes get a chance to access the disk. */ #define VAR_IN_FLOW_DELAY "in_flow_delay" + #ifdef PIPES_CANT_FIONREAD + #define DEF_IN_FLOW_DELAY "0s" + #else #define DEF_IN_FLOW_DELAY "1s" + #endif extern int var_in_flow_delay; /* diff -cr /tmp/postfix-1.1.2/src/global/resolve_local.c ./src/global/resolve_local.c *** /tmp/postfix-1.1.2/src/global/resolve_local.c Fri Jan 18 09:06:51 2002 --- ./src/global/resolve_local.c Thu Jan 31 14:56:29 2002 *************** *** 92,98 **** */ len = strlen(saved_addr); if (len == 0) ! msg_panic("resolve_local: null domain"); if (saved_addr[len - 1] == '.') saved_addr[--len] = 0; --- 92,98 ---- */ len = strlen(saved_addr); if (len == 0) ! RETURN(0); if (saved_addr[len - 1] == '.') saved_addr[--len] = 0; diff -cr /tmp/postfix-1.1.2/src/master/master.h ./src/master/master.h *** /tmp/postfix-1.1.2/src/master/master.h Thu Jul 19 13:39:47 2001 --- ./src/master/master.h Fri Jan 25 20:58:10 2002 *************** *** 165,172 **** /* * master_flow.c */ ! void master_flow_init(void); ! int master_flow_pipe[2]; /* DIAGNOSTICS /* BUGS --- 165,172 ---- /* * master_flow.c */ ! extern void master_flow_init(void); ! extern int master_flow_pipe[2]; /* DIAGNOSTICS /* BUGS diff -cr /tmp/postfix-1.1.2/src/qmqpd/qmqpd.c ./src/qmqpd/qmqpd.c *** /tmp/postfix-1.1.2/src/qmqpd/qmqpd.c Wed Jan 23 10:22:12 2002 --- ./src/qmqpd/qmqpd.c Thu Jan 31 21:06:35 2002 *************** *** 196,202 **** * bloody likely, but present for the sake of consistency with all other * Postfix points of entrance). */ ! rec_fprintf(state->cleanup, REC_TYPE_TIME, "%ld", state->time); if (*var_filter_xport) rec_fprintf(state->cleanup, REC_TYPE_FILT, "%s", var_filter_xport); } --- 196,202 ---- * bloody likely, but present for the sake of consistency with all other * Postfix points of entrance). */ ! rec_fprintf(state->cleanup, REC_TYPE_TIME, "%ld", (long) state->time); if (*var_filter_xport) rec_fprintf(state->cleanup, REC_TYPE_FILT, "%s", var_filter_xport); } diff -cr /tmp/postfix-1.1.2/src/sendmail/sendmail.c ./src/sendmail/sendmail.c *** /tmp/postfix-1.1.2/src/sendmail/sendmail.c Tue Jan 1 17:10:05 2002 --- ./src/sendmail/sendmail.c Mon Jan 28 13:32:37 2002 *************** *** 386,392 **** msg_warn("-f option specified malformed sender: %s", sender); } else { if ((sender = username()) == 0) ! msg_fatal_status(EX_OSERR, "unable to find out your login name"); saved_sender = mystrdup(sender); } --- 386,393 ---- msg_warn("-f option specified malformed sender: %s", sender); } else { if ((sender = username()) == 0) ! msg_fatal_status(EX_OSERR, "no login name found for user ID %lu", ! (unsigned long) uid); saved_sender = mystrdup(sender); }