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.
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).
# Save settings.
-bin/postconf -e \
+bin/postconf -c $CONFIG_DIRECTORY -e \
"daemon_directory = $daemon_directory" \
"command_directory = $command_directory" \
"queue_directory = $queue_directory" \
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
====================================
- 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).
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.
# 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,
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);
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 : ' ');
}
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;
}
<dd><i>.my.domain</i> <b>smtp</b>:
+<dd><i>thishost.my.domain</i> <b>local</b>:
+
</dl>
</dl>
<p>
+<p>
+
+Do not omit the entry that routes mail for the local machine to
+the local delivery agent.
+
+<p>
+
Specify <b>dbm:/etc/postfix/transport</b> if your system
uses <b>dbm</b> files instead of <b>db</b>.
<a name="firewall"><h2>Running Postfix on a firewall</h2> </a>
-Note: this section depends on accidental properties of the
-implementation so this information is subject to change.
-
-<p>
-
How to set up Postfix on the firewall machine so that it relays
mail for <i>my.domain</i> to a gateway machine on the inside, and
so that it refuses mail for <i>*.my.domain</i>? The problem is that
<ul>
<li>Specify a null <a href="uce.html#relay_domains">relay_domains</a>
-parameter plus a <a href="virtual.5.html">virtual</a> table to
+parameter plus a <a href="transport.5.html">transport</a> table to
route mail for <i>my.domain</i> to the inside machine:
<p>
<dd><b>relay_domains = </b>
-<dd><b>virtual_maps = hash:/etc/postfix/virtual</b>
+<dd><b>transport_maps = hash:/etc/postfix/transport</b>
<p>
-<dt>/etc/postfix/virtual:
+<dt>/etc/postfix/transport:
+
+<dd><i>my.domain</i> <b>smtp:</b><i>inside-gateway.my.domain</i>
-<dd><i>@my.domain</i> <i>@inside-gateway.my.domain</i>
+<dd><i>.my.domain</i> <b>smtp:</b><i>inside-gateway.my.domain</i>
</dl>
<p>
-Specify <b>dbm:/etc/postfix/virtual</b> if your system uses <b>dbm</b>
+Specify <b>dbm:/etc/postfix/transport</b> if your system uses <b>dbm</b>
files instead of <b>db</b>.
<p>
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