Portability: Berkeley DB changed API from version 2.5 to
2.6. Rob Foehl. File: util/dict_db.c.
+20050315
+
+ Bugfix: when <unistd.h> is included, read is a reserved
+ identifier. File: smtpstone/smtp-source.c.
+
Open problems:
Med: disable header address rewriting after XCLIENT?
Note: there should be no whitespace before "postfix:".
- * Make sure there is a "postfix" alias in /etc/aliases, or whatever the
- pathname of your aliases file is; the command "postconf alias_maps" will
- tell you.
-
- /etc/aliases:
- postfix: root
-
- Note: there should be no whitespace before "postfix:".
-
* Create a group "postdrop" with a group id that is not used by any other
user account. Not even by the postfix user account. My group file entry
looks like:
1\b10\b0.\b.8\b8 -\b- C\bCr\bre\bea\bat\bte\be t\bth\bhe\be a\bal\bli\bia\bas\bse\bes\bs d\bda\bat\bta\bab\bba\bas\bse\be
-Finally, if you haven't used Sendmail prior to using Postfix, you will have to
-build the alias database with one of the following commands:
+Postfix uses a Sendmail-compatible aliases(5) table to redirect mail for local
+(8) recipients. Typically, this information is kept in two files: in a text
+file /etc/aliases and in an indexed file /etc/aliases.db. The command "postconf
+alias_maps" will tell you the exact location of the text file.
+
+First, be sure to update the text file with aliases for root, postmaster and
+"postfix" that forward mail to a real person. Postfix has a sample aliases file
+/etc/postfix/aliases that you can adapt to local conditions.
+
+ /etc/aliases:
+ root: you
+ postmaster: root
+ postfix: root
+ bin: root
+ etcetera...
+
+Note: there should be no whitespace before the ":".
+
+Finally, build the indexed aliases file with one of the following commands:
# newaliases
# sendmail -bi
-Be sure to set up aliases for root and postmaster that forward mail to a real
-person. Postfix has a sample aliases file /etc/postfix/aliases that you can
-adapt to local conditions.
-
1\b11\b1 -\b- T\bTo\bo c\bch\bhr\bro\boo\bot\bt o\bor\br n\bno\bot\bt t\bto\bo c\bch\bhr\bro\boo\bot\bt
Postfix daemon processes can be configured (via master.cf) to run in a chroot
/etc/postfix/main.cf:
# You must stop/start Postfix after changing this parameter.
inet_protocols = ipv4 (DEFAULT: enable IPv4 only)
- inet_protocols = all (enable both IPv4 and IPv6)
+ inet_protocols = all (enable IPv4, and IPv6 if supported)
inet_protocols = ipv4, ipv6 (enable both IPv4 and IPv6)
inet_protocols = ipv6 (enable IPv6 only)
<p> Note: there should be no whitespace before "postfix:". </p>
-<li> <p> Make sure there is a "postfix" alias in /etc/aliases,
-or whatever the pathname of your aliases file is; the
-command "postconf <a href="postconf.5.html#alias_maps">alias_maps</a>" will tell you. </p>
-
-<blockquote>
-<pre>
-/etc/aliases:
- postfix: root
-</pre>
-</blockquote>
-
-<p> Note: there should be no whitespace before "postfix:". </p>
-
<li> <p> Create a group "postdrop" with a group id that is not used
by any other user account. Not even by the postfix user account.
My group file entry looks like:
<h3>10.8 - Create the aliases database</h3>
-<p> Finally, if you haven't used Sendmail prior to using Postfix, you
-will have to build the alias database with one of the following
-commands: </p>
+<p> Postfix uses a Sendmail-compatible <a href="aliases.5.html">aliases(5)</a> table to redirect
+mail for <a href="local.8.html">local(8)</a> recipients. Typically, this information is kept
+in two files: in a text file /etc/aliases and in an indexed file
+/etc/aliases.db. The command "postconf <a href="postconf.5.html#alias_maps">alias_maps</a>" will tell you
+the exact location of the text file. </p>
+
+<p> First, be sure to update the text file with aliases for root,
+postmaster and "postfix" that forward mail to a real person. Postfix
+has a sample aliases file /etc/postfix/aliases that you can adapt
+to local conditions. </p>
+
+<blockquote>
+<pre>
+/etc/aliases:
+ root: you
+ postmaster: root
+ postfix: root
+ bin: root
+ <i>etcetera...</i>
+</pre>
+</blockquote>
+
+<p> Note: there should be no whitespace before the ":". </p>
+
+<p> Finally, build the indexed aliases file with one of the
+following commands: </p>
<blockquote>
<pre>
</pre>
</blockquote>
-<p> Be sure to set up aliases for root and postmaster that forward
-mail to a real person. Postfix has a sample aliases file
-/etc/postfix/aliases that you can adapt to local conditions. </p>
-
<h2><a name="hamlet">11 - To chroot or not to chroot</a></h2>
<p> Postfix daemon processes can be configured (via master.cf) to
/etc/postfix/main.cf:
# You must stop/start Postfix after changing this parameter.
<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4 (DEFAULT: enable IPv4 only)
- <a href="postconf.5.html#inet_protocols">inet_protocols</a> = all (enable both IPv4 and IPv6)
+ <a href="postconf.5.html#inet_protocols">inet_protocols</a> = all (enable IPv4, and IPv6 if supported)
<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4, ipv6 (enable both IPv4 and IPv6)
<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv6 (enable IPv6 only)
</pre>
<p> Note: there should be no whitespace before "postfix:". </p>
-<li> <p> Make sure there is a "postfix" alias in /etc/aliases,
-or whatever the pathname of your aliases file is; the
-command "postconf alias_maps" will tell you. </p>
-
-<blockquote>
-<pre>
-/etc/aliases:
- postfix: root
-</pre>
-</blockquote>
-
-<p> Note: there should be no whitespace before "postfix:". </p>
-
<li> <p> Create a group "postdrop" with a group id that is not used
by any other user account. Not even by the postfix user account.
My group file entry looks like:
<h3>10.8 - Create the aliases database</h3>
-<p> Finally, if you haven't used Sendmail prior to using Postfix, you
-will have to build the alias database with one of the following
-commands: </p>
+<p> Postfix uses a Sendmail-compatible aliases(5) table to redirect
+mail for local(8) recipients. Typically, this information is kept
+in two files: in a text file /etc/aliases and in an indexed file
+/etc/aliases.db. The command "postconf alias_maps" will tell you
+the exact location of the text file. </p>
+
+<p> First, be sure to update the text file with aliases for root,
+postmaster and "postfix" that forward mail to a real person. Postfix
+has a sample aliases file /etc/postfix/aliases that you can adapt
+to local conditions. </p>
+
+<blockquote>
+<pre>
+/etc/aliases:
+ root: you
+ postmaster: root
+ postfix: root
+ bin: root
+ <i>etcetera...</i>
+</pre>
+</blockquote>
+
+<p> Note: there should be no whitespace before the ":". </p>
+
+<p> Finally, build the indexed aliases file with one of the
+following commands: </p>
<blockquote>
<pre>
</pre>
</blockquote>
-<p> Be sure to set up aliases for root and postmaster that forward
-mail to a real person. Postfix has a sample aliases file
-/etc/postfix/aliases that you can adapt to local conditions. </p>
-
<h2><a name="hamlet">11 - To chroot or not to chroot</a></h2>
<p> Postfix daemon processes can be configured (via master.cf) to
/etc/postfix/main.cf:
# You must stop/start Postfix after changing this parameter.
inet_protocols = ipv4 (DEFAULT: enable IPv4 only)
- inet_protocols = all (enable both IPv4 and IPv6)
+ inet_protocols = all (enable IPv4, and IPv6 if supported)
inet_protocols = ipv4, ipv6 (enable both IPv4 and IPv6)
inet_protocols = ipv6 (enable IPv6 only)
</pre>
* Patches change the patchlevel and the release date. Snapshots change the
* release date only.
*/
-#define MAIL_RELEASE_DATE "20050314"
+#define MAIL_RELEASE_DATE "20050315"
#define MAIL_VERSION_NUMBER "2.3"
#define VAR_MAIL_VERSION "mail_version"
VSTREAM *stream;
VSTRING *buffer;
int data_state;
- int (*read) (struct SINK_STATE *);
+ int (*read_fn) (struct SINK_STATE *);
int rcpts;
} SINK_STATE;
state->data_state = ST_CR_LF;
smtp_printf(state->stream, "354 End data with <CR><LF>.<CR><LF>");
smtp_flush(state->stream);
- state->read = data_read;
+ state->read_fn = data_read;
}
/* data_event - delayed response to DATA command */
if (msg_verbose)
msg_info(".");
dot_response(state);
- state->read = command_read;
+ state->read_fn = command_read;
state->data_state = ST_ANY;
break;
}
return;
case 0:
- if (state->read(state) < 0) {
+ if (state->read_fn(state) < 0) {
if (msg_verbose)
msg_info("disconnect");
disconnect(state);
state = (SINK_STATE *) mymalloc(sizeof(*state));
state->stream = vstream_fdopen(fd, O_RDWR);
state->buffer = vstring_alloc(1024);
- state->read = command_read;
+ state->read_fn = command_read;
state->data_state = ST_ANY;
smtp_timeout_setup(state->stream, var_tmout);
if (pretend_pix)
#if (DB_VERSION_MAJOR == 2 && DB_VERSION_MINOR < 6)
#define DICT_DB_CURSOR(db, curs) (db)->cursor((db), NULL, (curs))
#else
-#define DICT_DB_CURSOR(db, curs) (db)->cursor((db), NULL, (curs), 0);
+#define DICT_DB_CURSOR(db, curs) (db)->cursor((db), NULL, (curs), 0)
#endif
#ifndef DB_FCNTL_LOCKING