2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-30 21:55:20 +00:00

postfix-2.0.1-20030115

This commit is contained in:
Wietse Venema
2003-01-15 00:00:00 -05:00
committed by Viktor Dukhovni
parent c3efaf3f27
commit d1909625d1
10 changed files with 44 additions and 30 deletions

View File

@@ -7735,6 +7735,28 @@ Apologies for any names omitted.
For safety sake, threw in the local postmaster address as For safety sake, threw in the local postmaster address as
well. File: smtpd/smtpd_check.c. well. File: smtpd/smtpd_check.c.
20030113
Added MAILER-DAEMON to the list of always recognized local
addresses, since it is generated by Postfix bounces. File:
smtpd/smtpd_check.c.
20030114
Bugfix: transport_errno was not reset upon successful
transport map wildcard lookup after an earlier failure.
Reported by Victor Duchovny. File: trivial-rewrite/transport.c.
Cleanup: unnecessary warnings from the proxymap client
after proxymap server disconnect. File: global/dict_proxy.c.
Cleanup: Patrik Rak found a few more chattr invocations
that were missed 20021209. Files: postfix-install,
conf/post-install.
Cleanup: the pcre-config command can produce null outputs.
Matthias Andree. File: makedefs.
Open problems: Open problems:
Med: make qmgr recipient bounce/defer activity asynchronous Med: make qmgr recipient bounce/defer activity asynchronous

View File

@@ -6,8 +6,8 @@ client library, which can be obtained from:
http://www.mysql.com/downloads/ http://www.mysql.com/downloads/
http://sourceforge.net/projects/mysql/ http://sourceforge.net/projects/mysql/
In order to build postfix with mysql map support, you will need to add In order to build postfix with mysql map support, you will need to add
-DHAS_MYSQL and -I for the directory containing the mysql headers, and -DHAS_MYSQL and -I for the directory containing the mysql headers, and
the mysqlclient library (and libm) to AUXLIBS, for example: the mysqlclient library (and libm) to AUXLIBS, for example:
make -f Makefile.init makefiles \ make -f Makefile.init makefiles \
@@ -29,7 +29,7 @@ in main.cf like this:
alias_maps = mysql:/etc/postfix/mysql-aliases.cf alias_maps = mysql:/etc/postfix/mysql-aliases.cf
The file /etc/postfix/mysql-aliases.cf specifies lots of information The file /etc/postfix/mysql-aliases.cf specifies lots of information
telling postfix how to reference the mysql database. An example mysql telling postfix how to reference the mysql database. An example mysql
map config file follows: map config file follows:
# #
@@ -39,7 +39,7 @@ map config file follows:
# the user name and password to log into the mysql server # the user name and password to log into the mysql server
user = someone user = someone
password = some_password password = some_password
# the database name on the servers # the database name on the servers
dbname = customer_database dbname = customer_database
@@ -55,7 +55,7 @@ where_field = alias
additional_conditions = and status = 'paid' additional_conditions = and status = 'paid'
# the above variables will result in a query of # the above variables will result in a query of
# the form: # the form:
# select forw_addr from mxaliases where alias = '$lookup' and status = 'paid' # select forw_addr from mxaliases where alias = '$lookup' and status = 'paid'
# ($lookup is escaped so if it contains single quotes or other odd # ($lookup is escaped so if it contains single quotes or other odd
# characters, it will not cause a parse error in the sql). # characters, it will not cause a parse error in the sql).
@@ -74,13 +74,13 @@ databases: you can use one for a virtual table, one for an access
table, and one for an aliases table if you want. table, and one for an aliases table if you want.
Since sites that have a need for multiple mail exchangers may enjoy Since sites that have a need for multiple mail exchangers may enjoy
the convenience of using a networked mailer database, but do not want the convenience of using a networked mailer database, but do not want
to introduce a single point of failure to their system, we've included to introduce a single point of failure to their system, we've included
the ability to have postfix reference multiple hosts for access to a the ability to have postfix reference multiple hosts for access to a
single mysql map. This will work if sites set up mirrored mysql single mysql map. This will work if sites set up mirrored mysql
databases on two or more hosts. Whenever queries fail with an error databases on two or more hosts. Whenever queries fail with an error
at one host, the rest of the hosts will be tried in order. Each host at one host, the rest of the hosts will be tried in order. Each host
that is in an error state will undergo a reconnection attempt every so that is in an error state will undergo a reconnection attempt every so
often, and if no mysql server hosts are reachable, then mail will be often, and if no mysql server hosts are reachable, then mail will be
deferred until at least one of those hosts is reachable. deferred until at least one of those hosts is reachable.

View File

@@ -426,7 +426,6 @@ test -n "$create" && {
if [ -n "$create" -a "$type" = "d" -a -n "$create_flag" -a ! -d "$path" ] if [ -n "$create" -a "$type" = "d" -a -n "$create_flag" -a ! -d "$path" ]
then then
mkdir $path || exit 1 mkdir $path || exit 1
$CHATTR $path >/dev/null 2>/dev/null
set_permission=1 set_permission=1
# Update all owner/group/mode settings. # Update all owner/group/mode settings.
elif [ -n "$set_perms" ] elif [ -n "$set_perms" ]

View File

@@ -290,13 +290,11 @@ esac
case "$CCARGS" in case "$CCARGS" in
*-DHAS_PCRE*) ;; *-DHAS_PCRE*) ;;
*-DNO_PCRE*) ;; *-DNO_PCRE*) ;;
*) pcre_cflags=`(pcre-config --cflags) 2>/dev/null` *) pcre_cflags=`(pcre-config --cflags) 2>/dev/null` &&
pcre_libs=`(pcre-config --libs) 2>/dev/null` pcre_libs=`(pcre-config --libs) 2>/dev/null` && {
if [ -n "$pcre_cflags" -a -n "$pcre_libs" ] CCARGS="$CCARGS -DHAS_PCRE $pcre_cflags"
then AUXLIBS="$AUXLIBS $pcre_libs"
CCARGS="$CCARGS -DHAS_PCRE $pcre_cflags" }
AUXLIBS="$AUXLIBS $pcre_libs"
fi
;; ;;
esac esac

View File

@@ -191,17 +191,6 @@ test -x bin/postconf || {
exit 1 exit 1
} }
#
# LINUX by default does not synchronously update directories -
# that's dangerous for mail.
#
if [ -f /usr/bin/chattr ]
then
CHATTR="/usr/bin/chattr +S"
else
CHATTR=echo
fi
case `uname -s` in case `uname -s` in
HP-UX*) FMT=cat;; HP-UX*) FMT=cat;;
*) FMT=fmt;; *) FMT=fmt;;
@@ -600,7 +589,6 @@ do
test -z "$owner" || chown $owner $path || exit 1 test -z "$owner" || chown $owner $path || exit 1
test -z "$group" || chgrp $group $path || exit 1 test -z "$group" || chgrp $group $path || exit 1
chmod $mode $path || exit 1 chmod $mode $path || exit 1
$CHATTR $path >/dev/null 2>/dev/null
} }
continue;; continue;;
[fl]) ;; [fl]) ;;

View File

@@ -220,6 +220,7 @@ DICT *dict_proxy_open(const char *map, int open_flags, int dict_flags)
ATTR_TYPE_STR, MAIL_ATTR_TABLE, dict_proxy->dict.name, ATTR_TYPE_STR, MAIL_ATTR_TABLE, dict_proxy->dict.name,
ATTR_TYPE_NUM, MAIL_ATTR_FLAGS, dict_proxy->in_flags, ATTR_TYPE_NUM, MAIL_ATTR_FLAGS, dict_proxy->in_flags,
ATTR_TYPE_END) != 0 ATTR_TYPE_END) != 0
|| vstream_fflush(stream)
|| attr_scan(stream, ATTR_FLAG_STRICT, || attr_scan(stream, ATTR_FLAG_STRICT,
ATTR_TYPE_NUM, MAIL_ATTR_STATUS, &status, ATTR_TYPE_NUM, MAIL_ATTR_STATUS, &status,
ATTR_TYPE_NUM, MAIL_ATTR_FLAGS, &server_flags, ATTR_TYPE_NUM, MAIL_ATTR_FLAGS, &server_flags,

View File

@@ -20,7 +20,7 @@
* Patches change the patchlevel and the release date. Snapshots change the * Patches change the patchlevel and the release date. Snapshots change the
* release date only, unless they include the same bugfix as a patch release. * release date only, unless they include the same bugfix as a patch release.
*/ */
#define MAIL_RELEASE_DATE "20030112" #define MAIL_RELEASE_DATE "20030115"
#define VAR_MAIL_VERSION "mail_version" #define VAR_MAIL_VERSION "mail_version"
#define DEF_MAIL_VERSION "2.0.1-" MAIL_RELEASE_DATE #define DEF_MAIL_VERSION "2.0.1-" MAIL_RELEASE_DATE

View File

@@ -3313,10 +3313,15 @@ static int check_rcpt_maps(SMTPD_STATE *state, const char *recipient)
if ((reply->flags & RESOLVE_CLASS_LOCAL) if ((reply->flags & RESOLVE_CLASS_LOCAL)
&& *var_local_rcpt_maps && *var_local_rcpt_maps
/* Generated by bounce, absorbed by qmgr. */
&& !MATCH_LEFT(var_double_bounce_sender, CONST_STR(reply->recipient), && !MATCH_LEFT(var_double_bounce_sender, CONST_STR(reply->recipient),
strlen(var_double_bounce_sender)) strlen(var_double_bounce_sender))
/* Absorbed by qmgr. */
&& !MATCH_LEFT(MAIL_ADDR_POSTMASTER, CONST_STR(reply->recipient), && !MATCH_LEFT(MAIL_ADDR_POSTMASTER, CONST_STR(reply->recipient),
strlen(MAIL_ADDR_POSTMASTER)) strlen(MAIL_ADDR_POSTMASTER))
/* Generated by bounce. */
&& !MATCH_LEFT(MAIL_ADDR_MAIL_DAEMON, CONST_STR(reply->recipient),
strlen(MAIL_ADDR_MAIL_DAEMON))
&& NOMATCH(local_rcpt_maps, CONST_STR(reply->recipient))) && NOMATCH(local_rcpt_maps, CONST_STR(reply->recipient)))
return (smtpd_check_reject(state, MAIL_ERROR_BOUNCE, return (smtpd_check_reject(state, MAIL_ERROR_BOUNCE,
"%d <%s>: User unknown%s", "%d <%s>: User unknown%s",

View File

@@ -190,6 +190,7 @@ void transport_wildcard_init(void)
#define PARTIAL DICT_FLAG_FIXED #define PARTIAL DICT_FLAG_FIXED
if (find_transport_entry(WILDCARD, "", FULL, channel, nexthop)) { if (find_transport_entry(WILDCARD, "", FULL, channel, nexthop)) {
transport_errno = 0;
wildcard_channel = channel; wildcard_channel = channel;
wildcard_nexthop = nexthop; wildcard_nexthop = nexthop;
if (msg_verbose) if (msg_verbose)

View File

@@ -11,7 +11,7 @@ CFLAGS = $(DEBUG) $(OPT) $(DEFS)
PROG = virtual PROG = virtual
TESTPROG= TESTPROG=
INC_DIR = ../../include INC_DIR = ../../include
LIBS = ../../lib/libmaster.a ../../lib/libglobal.a ../../lib/libutil.a $(AUXLIBS) LIBS = ../../lib/libmaster.a ../../lib/libglobal.a ../../lib/libutil.a
.c.o:; $(CC) $(CFLAGS) -c $*.c .c.o:; $(CC) $(CFLAGS) -c $*.c