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:
committed by
Viktor Dukhovni
parent
c3efaf3f27
commit
d1909625d1
@@ -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
|
||||||
|
@@ -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.
|
||||||
|
|
||||||
|
@@ -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" ]
|
||||||
|
@@ -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
|
||||||
|
|
||||||
|
@@ -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]) ;;
|
||||||
|
@@ -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,
|
||||||
|
@@ -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
|
||||||
|
@@ -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",
|
||||||
|
@@ -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)
|
||||||
|
@@ -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
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user