diff --git a/postfix/HISTORY b/postfix/HISTORY index 954be6fb1..5d36a14ab 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -3277,7 +3277,8 @@ Apologies for any names omitted. 19991121 - Robustness: INSTALL.sh no longer uses postmap for sanity checks. + Robustness: INSTALL.sh no longer uses postmap for sanity + checks. Feature: INSTALL.sh now has an install_root option. @@ -3285,9 +3286,26 @@ Apologies for any names omitted. permissions and ownership. Bugfix: the LDAP client did not properly escape special - characters in lookup keys (patch by John Hensley). - File: util/dict_ldap.c. + characters in lookup keys (patch by John Hensley). File: + util/dict_ldap.c. 19991122 - Bugfix: missing absolute path in INSTALL.sh broke fresh install. + Bugfix: missing absolute path in INSTALL.sh broke fresh + install. + +19991124 + + Bugfix: the local delivery agent's recipient duplicate + filter did not work when configured to use unlimited memory + (which is not a recommended setting). Patrik Rak @ein.cz. + +19991125 + + Bugfix: postconf didn't have an umask(022) call at the + beginning (problem experienced by Matthias Andree). + +19991126 + + Bugfix: TXT records now have string lengths before text + (Mark Martinec @ nsc.ijs.si). diff --git a/postfix/INSTALL.sh b/postfix/INSTALL.sh index 0c8603464..d62a80cd2 100644 --- a/postfix/INSTALL.sh +++ b/postfix/INSTALL.sh @@ -238,7 +238,7 @@ test -f $CONFIG_DIRECTORY/main.cf || { # Save settings. -bin/postconf -e \ +bin/postconf -c $CONFIG_DIRECTORY -e \ "daemon_directory = $daemon_directory" \ "command_directory = $command_directory" \ "queue_directory = $queue_directory" \ diff --git a/postfix/RELEASE_NOTES b/postfix/RELEASE_NOTES index abc0d49d7..a63b72076 100644 --- a/postfix/RELEASE_NOTES +++ b/postfix/RELEASE_NOTES @@ -13,6 +13,11 @@ main.cf. SMTPD access control tables. Use the permit_recipient_map feature instead. The loss is compensated for (see below). +- transport_maps entries override mydestination. If any of the +$mydestination domains matches a transport specification, you also +need to add a "domain.name local:" entry in your transport_maps. +See the html/faq.html sections for firewalls and intranets. + Major changes with snapshot 19991123 ==================================== @@ -49,9 +54,9 @@ relay mail for other systems. - Use "postmap -q key" or "postalias -q key" for testing Postfix lookup tables or alias files. -- Use "postconf -e name=value..." edits the main.cf file. This is -easier and safer than editing the main.cf file by hand. The edits -are done on a temporary copy that is renamed into place. +- Use "postconf -e name=value..." to edit the main.cf file. This +is easier and safer than editing the main.cf file by hand. The +edits are done on a temporary copy that is renamed into place. - Use "postconf -m" to display all supported lookup table types (Scott Cotton). diff --git a/postfix/UUCP_README b/postfix/UUCP_README index 3d8d30927..ba5b04540 100644 --- a/postfix/UUCP_README +++ b/postfix/UUCP_README @@ -1,4 +1,4 @@ In order to receive mail via UUCP, your system needs to have an rmail command installed. A minimal rmail command can be found in -the "aux/rmail" directory. Install the command, mode 755, in a -place that can be found by the UUCP "uuxqt" command. +the "auxiliary/rmail" directory. Install the command, mode 755, in +a place that can be found by the UUCP "uuxqt" command. diff --git a/postfix/conf/main.cf b/postfix/conf/main.cf index f845634c9..57b7f0a62 100644 --- a/postfix/conf/main.cf +++ b/postfix/conf/main.cf @@ -108,6 +108,9 @@ mail_owner = postfix # a name matches a lookup key. Continue long lines by starting the # next line with whitespace. # +# DO NOT LIST VIRTUAL DOMAINS HERE. INSTEAD LIST $VIRTUAL_MAPS AS AN +# AUTHORIZED DESTINATION IN RELAY_DOMAINS. +# #mydestination = $myhostname, localhost.$mydomain #mydestination = $myhostname, localhost.$mydomain $mydomain #mydestination = $myhostname, localhost.$mydomain, $mydomain, diff --git a/postfix/dns/dns_lookup.c b/postfix/dns/dns_lookup.c index fab7144a8..15caa6760 100644 --- a/postfix/dns/dns_lookup.c +++ b/postfix/dns/dns_lookup.c @@ -253,7 +253,6 @@ static DNS_RR *dns_get_rr(DNS_REPLY *reply, unsigned char *pos, int ch; #define MIN2(a, b) ((unsigned)(a) < (unsigned)(b) ? (a) : (b)) -#define UC(x) ((unsigned char *) (x)) if (pos + fixed->length > reply->end) return (0); @@ -294,8 +293,9 @@ static DNS_RR *dns_get_rr(DNS_REPLY *reply, unsigned char *pos, data_len = fixed->length; break; case T_TXT: - data_len = MIN2(fixed->length + 1, sizeof(temp)); - for (src = pos, dst = UC(temp); dst < UC(temp) + data_len - 1; /* */ ) { + data_len = MIN2(pos[0] + 1, MIN2(fixed->length + 1, sizeof(temp))); + for (src = pos + 1, dst = (unsigned char *) (temp); + dst < (unsigned char *) (temp) + data_len - 1; /* */ ) { ch = *src++; *dst++ = (ISPRINT(ch) ? ch : ' '); } diff --git a/postfix/global/been_here.c b/postfix/global/been_here.c index 572c78ebc..51e8e8715 100644 --- a/postfix/global/been_here.c +++ b/postfix/global/been_here.c @@ -157,8 +157,8 @@ int been_here_fixed(BH_TABLE *dup_filter, const char *string) if (htable_locate(dup_filter->table, lookup_key) != 0) { status = 1; } else { - if (dup_filter->limit > 0 - && dup_filter->limit > dup_filter->table->used) + if (dup_filter->limit <= 0 + || dup_filter->limit > dup_filter->table->used) htable_enter(dup_filter->table, lookup_key, (char *) 0); status = 0; } diff --git a/postfix/html/faq.html b/postfix/html/faq.html index 57096651d..349a64f22 100644 --- a/postfix/html/faq.html +++ b/postfix/html/faq.html @@ -176,12 +176,21 @@ href="transport.5.html">transport table lookups.
+
+ +Do not omit the entry that routes mail for the local machine to +the local delivery agent. + +
+
Specify dbm:/etc/postfix/transport if your system
uses dbm files instead of db.
@@ -198,11 +207,6 @@ changes effective.
Running Postfix on a firewall
-Note: this section depends on accidental properties of the
-implementation so this information is subject to change.
-
-
- How to set up Postfix on the firewall machine so that it relays mail for my.domain to a gateway machine on the inside, and so that it refuses mail for *.my.domain? The problem is that @@ -215,7 +219,7 @@ you specify my.domain.
@@ -229,19 +233,21 @@ route mail for my.domain to the inside machine:
-
-Specify dbm:/etc/postfix/virtual if your system uses dbm +Specify dbm:/etc/postfix/transport if your system uses dbm files instead of db.
diff --git a/postfix/postconf/postconf.c b/postfix/postconf/postconf.c index 064a5c698..4c5f2fbc0 100644 --- a/postfix/postconf/postconf.c +++ b/postfix/postconf/postconf.c @@ -638,6 +638,8 @@ int main(int argc, char **argv) struct stat st; int junk; + umask(022); + /* * To minimize confusion, make sure that the standard file descriptors * are open before opening anything else. XXX Work around for 44BSD where