Hello community,
here is the log from the commit of package postfix for openSUSE:Factory checked in at 2013-01-21 17:44:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/postfix (Old)
and /work/SRC/openSUSE:Factory/.postfix.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "postfix", Maintainer is "varkoly@suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/postfix/postfix.changes 2012-12-17 09:36:49.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.postfix.new/postfix.changes 2013-01-21 17:44:44.000000000 +0100
@@ -1,0 +2,60 @@
+Thu Jan 17 22:01:16 UTC 2013 - varkoly@suse.com
+
+- bnc#796162 - script to assign path elements not working in postfix install Build-0284(iso)
+
+-------------------------------------------------------------------
+Thu Jan 10 18:23:56 UTC 2013 - chris@computersalat.de
+
+- rebase patches
+ * vda-v10-2.8.12 -> vda-v11-2.9.5 (and to be a p0)
+ * main, master, post-instal, ssl-release-buffers (remove version)
+ * dynamic_maps, dynamic_maps_pie, pointer_to_literals
+
+-------------------------------------------------------------------
+Thu Jan 10 14:45:59 UTC 2013 - varkoly@suse.com
+
+- update to 2,9.5
+ * tls support:
+ Support to turn off the TLSv1.1 and TLSv1.2 protocols:
+ To temporarily turn off problematic protocols globally:
+ /etc/postfix/main.cf:
+ smtp_tls_protocols = !SSLv2, !TLSv1.1, !TLSv1.2
+ smtp_tls_mandatory_protocols = !SSLv2, !TLSv1.1, !TLSv1.2
+ However, it may be better to temporarily turn off problematic
+ protocols for broken sites only:
+ /etc/postfix/main.cf:
+ smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
+ /etc/postfix/tls_policy:
+ example.com may protocols=!SSLv2:!TLSv1.1:!TLSv1.2
+ * 20111012 To simplify integration with third-party
+ applications, the Postfix sendmail command now always transforms
+ all input lines ending in <CR><LF> into UNIX format (lines ending
+ in <LF>). Specify "sendmail_fix_line_endings = strict" to restore
+ historical Postfix behavior (i.e. convert all input lines ending
+ in <CR><LF> only if the first line ends in <CR><LF>).
+ * 20120114 Logfile-based alerting systems may need to be
+ updated to look for "error" messages in addition to "fatal" messages.
+ Specify "daemon_table_open_error_is_fatal = yes" to get the historical
+ behavior (immediate termination with "fatal" message).
+ * enable_long_queue_ids Postfix 2.9 introduces support for non-repeating queue IDs (also
+ used as queue file names). These names are encoded in a mix of upper
+ case, lower case and decimal digit characters. Long queue IDs are
+ disabled by default to avoid breaking tools that parse logfiles and
+ that expect queue IDs with the smaller [A-F0-9] character set.
+ * 20111209 memcache lookup and update support. This provides
+ a way to share postscreen(8) or verify(8) caches between Postfix
+ instances. See MEMCACHE_README and memcache_table(5) for details
+ and limitations.
+ * 20111218 To support external SASL authentication, e.g.,
+ in an NGINX proxy daemon, the Postfix SMTP server now always checks
+ the smtpd_sender_login_maps table, even without having
+ "smtpd_sasl_auth_enable = yes" in main.cf.
+ * ipv6
+ o The default inet_protocols value is now "all" instead of "ipv4",
+ meaning use both IPv4 and IPv6.
+ o The default smtp_address_preference value is now "any" instead
+ of "ipv6", meaning choose randomly between IPv6 and IPv4. With
+ this the Postfix SMTP client will have more success delivering
+ mail to sites that have problematic IPv6 configurations.
+
+-------------------------------------------------------------------
Old:
----
postfix-2.8.12-main.cf.patch
postfix-2.8.12-master.cf.patch
postfix-2.8.12-post-install.patch
postfix-2.8.12-ssl-release-buffers.patch
postfix-2.8.13.tar.bz2
postfix-vda-v10-2.8.12.patch
New:
----
postfix-2.9.5.tar.bz2
postfix-main.cf.patch
postfix-master.cf.patch
postfix-post-install.patch
postfix-ssl-release-buffers.patch
postfix-vda-v11-2.9.5.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ postfix.spec ++++++
--- /var/tmp/diff_new_pack.Gg7x48/_old 2013-01-21 17:44:49.000000000 +0100
+++ /var/tmp/diff_new_pack.Gg7x48/_new 2013-01-21 17:44:49.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package postfix
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
Summary: A fast, secure, and flexible mailer
License: IPL-1.0
Group: Productivity/Networking/Email/Servers
-Version: 2.8.13
+Version: 2.9.5
Release: 0
Url: http://www.postfix.org/
Source: %{name}-%{version}.tar.bz2
@@ -32,11 +32,11 @@
Patch1: dynamic_maps_pie.patch
Patch2: pointer_to_literals.patch
Patch3: ipv6_disabled.patch
-Patch10: %{name}-2.8.12-main.cf.patch
-Patch11: %{name}-2.8.12-master.cf.patch
-Patch12: %{name}-2.8.12-post-install.patch
-Patch20: %{name}-vda-v10-2.8.12.patch
-Patch21: postfix-2.8.12-ssl-release-buffers.patch
+Patch10: %{name}-main.cf.patch
+Patch11: %{name}-master.cf.patch
+Patch12: %{name}-post-install.patch
+Patch20: %{name}-ssl-release-buffers.patch
+Patch100: %{name}-vda-v11-2.9.5.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: %insserv_prereq %fillup_prereq
PreReq: /usr/bin/getent
@@ -147,7 +147,7 @@
%patch11
%patch12
%patch20
-%patch21
+%patch100
# ---------------------------------------------------------------------------
%build
@@ -233,8 +233,7 @@
-e 's;@manpage_directory@;%{_mandir};' \
-e 's;@newaliases_path@;%{pf_newaliases_path};' \
-e 's;@sample_directory@;%{pf_sample_directory};' \
- -e 's;@mailq_path@;%{pf_mailq_path};' %{name}-SuSE/config.%{name} \
- > $RPM_BUILD_ROOT/usr/sbin/config.%{name}
+ -e 's;@mailq_path@;%{pf_mailq_path};' %{name}-SuSE/config.%{name} > $RPM_BUILD_ROOT/usr/sbin/config.%{name}
chmod 755 $RPM_BUILD_ROOT/usr/sbin/config.%{name}
install -m 644 %{name}-SuSE/dynamicmaps.cf $RPM_BUILD_ROOT/etc/%{name}/dynamicmaps.cf
install -m 644 %{name}-SuSE/ldap_aliases.cf $RPM_BUILD_ROOT/etc/%{name}/ldap_aliases.cf
@@ -300,7 +299,6 @@
mkdir -p %{buildroot}/lib/systemd/system
mkdir -p %{buildroot}/etc/postfix/system
install -m 0644 %{name}-SuSE/postfix.service %{buildroot}/lib/systemd/system/
-install -m 0755 %{name}-SuSE/config.postfix %{buildroot}/usr/sbin/config.postfix
install -m 0755 %{name}-SuSE/config_postfix.systemd %{buildroot}/etc/postfix/system/config_postfix
install -m 0755 %{name}-SuSE/update_chroot.systemd %{buildroot}/etc/postfix/system/update_chroot
install -m 0755 %{name}-SuSE/update_postmaps.systemd %{buildroot}/etc/postfix/system/update_postmaps
++++++ dynamic_maps.patch ++++++
--- /var/tmp/diff_new_pack.Gg7x48/_old 2013-01-21 17:44:49.000000000 +0100
+++ /var/tmp/diff_new_pack.Gg7x48/_new 2013-01-21 17:44:49.000000000 +0100
@@ -86,7 +86,7 @@
dict_proxy.c dict_sqlite.c domain_list.c dot_lockfile.c dot_lockfile_as.c \
dsb_scan.c dsn.c dsn_buf.c dsn_mask.c dsn_print.c dsn_util.c \
ehlo_mask.c ext_prop.c file_id.c flush_clnt.c header_opts.c \
-@@ -35,7 +35,7 @@ OBJS = abounce.o anvil_clnt.o been_here.
+@@ -37,7 +37,7 @@ OBJS = abounce.o anvil_clnt.o been_here.
canon_addr.o cfg_parser.o cleanup_strerror.o cleanup_strflags.o \
clnt_stream.o conv_time.o db_common.o debug_peer.o debug_process.o \
defer.o deliver_completed.o deliver_flock.o deliver_pass.o \
@@ -95,7 +95,7 @@
dict_proxy.o dict_sqlite.o domain_list.o dot_lockfile.o dot_lockfile_as.o \
dsb_scan.o dsn.o dsn_buf.o dsn_mask.o dsn_print.o dsn_util.o \
ehlo_mask.o ext_prop.o file_id.o flush_clnt.o header_opts.o \
-@@ -106,10 +106,13 @@ LIBS = ../../lib/libutil.a
+@@ -112,10 +112,13 @@ LIBS = ../../lib/libutil.a
LIB_DIR = ../../lib
INC_DIR = ../../include
MAKES =
@@ -111,7 +111,7 @@
$(OBJS): ../../conf/makedefs.out
-@@ -119,14 +122,30 @@ Makefile: Makefile.in
+@@ -125,14 +128,30 @@ Makefile: Makefile.in
test: $(TESTPROG)
$(LIB): $(OBJS)
@@ -146,7 +146,7 @@
-for i in $(HDRS); \
do \
cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
-@@ -497,7 +516,7 @@ lint:
+@@ -577,7 +596,7 @@ lint:
lint $(DEFS) $(SRCS) $(LINTFIX)
clean:
@@ -160,8 +160,8 @@
--- src/global/mail_conf.c.orig
+++ src/global/mail_conf.c
@@ -190,6 +190,13 @@ void mail_conf_suck(void)
- path = concatenate(var_config_dir, "/", "main.cf", (char *) 0);
- dict_load_file(CONFIG_DICT, path);
+ if (dict_load_file_xt(CONFIG_DICT, path) == 0)
+ msg_fatal("open %s: %m", path);
myfree(path);
+
+#ifndef NO_DYNAMIC_MAPS
@@ -177,7 +177,7 @@
===================================================================
--- src/global/mail_dict.c.orig
+++ src/global/mail_dict.c
-@@ -46,6 +46,7 @@ typedef struct {
+@@ -47,6 +47,7 @@ typedef struct {
static const DICT_OPEN_INFO dict_open_info[] = {
DICT_TYPE_PROXY, dict_proxy_open,
@@ -185,10 +185,10 @@
#ifdef HAS_LDAP
DICT_TYPE_LDAP, dict_ldap_open,
#endif
-@@ -58,6 +59,7 @@ static const DICT_OPEN_INFO dict_open_in
- #ifdef HAS_SQLITE
+@@ -60,6 +61,7 @@ static const DICT_OPEN_INFO dict_open_in
DICT_TYPE_SQLITE, dict_sqlite_open,
#endif
+ DICT_TYPE_MEMCACHE, dict_memcache_open,
+#endif /* MAX_DYNAMIC_MAPS */
0,
};
@@ -205,7 +205,7 @@
/* int var_in_flow_delay;
/* int var_fault_inj_code;
/* char *var_bounce_service;
-@@ -265,6 +266,7 @@ char *var_import_environ;
+@@ -268,6 +269,7 @@ char *var_import_environ;
char *var_export_environ;
char *var_debug_peer_list;
int var_debug_peer_level;
@@ -213,7 +213,7 @@
int var_fault_inj_code;
char *var_bounce_service;
char *var_cleanup_service;
-@@ -276,6 +278,7 @@ char *var_showq_service;
+@@ -279,6 +281,7 @@ char *var_showq_service;
char *var_error_service;
char *var_flush_service;
char *var_verify_service;
@@ -225,7 +225,7 @@
===================================================================
--- src/global/mkmap_open.c.orig
+++ src/global/mkmap_open.c
-@@ -81,7 +81,7 @@
+@@ -82,7 +82,7 @@
* We use a different table (in dict_open.c) when querying maps.
*/
typedef struct {
@@ -234,7 +234,7 @@
MKMAP *(*before_open) (const char *);
} MKMAP_OPEN_INFO;
-@@ -156,7 +156,16 @@ MKMAP *mkmap_open(const char *type, con
+@@ -161,7 +161,16 @@ MKMAP *mkmap_open(const char *type, con
*/
for (mp = mkmap_types; /* void */ ; mp++) {
if (mp->type == 0)
@@ -305,27 +305,58 @@
update: $(LIB_DIR)/$(LIB) $(HDRS)
-for i in $(HDRS); \
-Index: src/postconf/postconf.c
+Index: src/postconf/Makefile.in
===================================================================
---- src/postconf/postconf.c.orig
-+++ src/postconf/postconf.c
-@@ -1013,6 +1013,16 @@ static void show_maps(void)
- {
+--- src/postconf/Makefile.in.orig
++++ src/postconf/Makefile.in
+@@ -595,6 +595,7 @@ postconf_node.o: postconf_node.c
+ postconf_other.o: ../../include/argv.h
+ postconf_other.o: ../../include/dict.h
+ postconf_other.o: ../../include/htable.h
++postconf_other.o: ../../include/mail_params.h
+ postconf_other.o: ../../include/mbox_conf.h
+ postconf_other.o: ../../include/sys_defs.h
+ postconf_other.o: ../../include/vbuf.h
+Index: src/postconf/postconf_other.c
+===================================================================
+--- src/postconf/postconf_other.c.orig
++++ src/postconf/postconf_other.c
+@@ -46,10 +46,15 @@
+ #include
+ #include
+ #include
++#include
++#include
++#include
+
+ /* Global library. */
+
+ #include
++#include
++#include
+
+ /* XSASL library. */
+
+@@ -66,6 +71,19 @@ void show_maps(void)
ARGV *maps_argv;
int i;
+
+#ifndef NO_DYNAMIC_MAPS
+ char *path;
+ char *config_dir;
+
++ if (var_config_dir)
++ myfree(var_config_dir);
+ var_config_dir = mystrdup((config_dir = safe_getenv(CONF_ENV_PATH)) != 0 ?
-+ config_dir : DEF_CONFIG_DIR); /* XXX */
++ config_dir : DEF_CONFIG_DIR); /* XXX */
+ path = concatenate(var_config_dir, "/", "dynamicmaps.cf", (char *) 0);
+ dict_open_dlinfo(path);
+ myfree(path);
+#endif
-
++
maps_argv = dict_mapnames();
for (i = 0; i < maps_argv->argc; i++)
+ vstream_printf("%s\n", maps_argv->argv[i]);
Index: src/postmap/postmap.c
===================================================================
--- src/postmap/postmap.c.orig
@@ -348,7 +379,7 @@
/* .IP \fB-v\fR
/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
/* options make the software increasingly verbose.
-@@ -723,6 +725,18 @@ static void postmap_seq(const char *map_
+@@ -748,6 +750,18 @@ static void postmap_seq(const char *map_
dict_close(dict);
}
@@ -367,7 +398,7 @@
/* usage - explain */
static NORETURN usage(char *myname)
-@@ -743,6 +757,7 @@ int main(int argc, char **argv)
+@@ -768,6 +782,7 @@ int main(int argc, char **argv)
int postmap_flags = POSTMAP_FLAG_AS_OWNER | POSTMAP_FLAG_SAVE_PERM;
int open_flags = O_RDWR | O_CREAT | O_TRUNC;
int dict_flags = DICT_FLAG_DUP_WARN | DICT_FLAG_FOLD_FIX;
@@ -375,7 +406,7 @@
char *query = 0;
char *delkey = 0;
int sequence = 0;
-@@ -787,7 +802,7 @@ int main(int argc, char **argv)
+@@ -817,7 +832,7 @@ int main(int argc, char **argv)
/*
* Parse JCL.
*/
@@ -384,7 +415,7 @@
switch (ch) {
default:
usage(argv[0]);
-@@ -804,8 +819,8 @@ int main(int argc, char **argv)
+@@ -834,8 +849,8 @@ int main(int argc, char **argv)
msg_fatal("out of memory");
break;
case 'd':
@@ -395,7 +426,7 @@
delkey = optarg;
break;
case 'f':
-@@ -831,8 +846,8 @@ int main(int argc, char **argv)
+@@ -861,8 +876,8 @@ int main(int argc, char **argv)
postmap_flags &= ~POSTMAP_FLAG_SAVE_PERM;
break;
case 'q':
@@ -406,7 +437,7 @@
query = optarg;
break;
case 'r':
-@@ -840,10 +855,15 @@ int main(int argc, char **argv)
+@@ -870,10 +885,15 @@ int main(int argc, char **argv)
dict_flags |= DICT_FLAG_DUP_REPLACE;
break;
case 's':
@@ -424,7 +455,7 @@
case 'v':
msg_verbose++;
break;
-@@ -914,6 +934,21 @@ int main(int argc, char **argv)
+@@ -944,6 +964,21 @@ int main(int argc, char **argv)
exit(0);
}
exit(1);
@@ -503,12 +534,12 @@
===================================================================
--- src/util/Makefile.in.orig
+++ src/util/Makefile.in
-@@ -33,15 +33,16 @@ SRCS = alldig.c allprint.c argv.c argv_s
- allascii.c load_file.c killme_after.c vstream_tweak.c \
+@@ -34,15 +34,16 @@ SRCS = alldig.c allprint.c argv.c argv_s
unix_pass_listen.c unix_pass_trigger.c edit_file.c inet_windowsize.c \
unix_pass_fd_fix.c dict_cache.c valid_utf_8.c dict_thash.c \
-- ip_match.c nbbio.c stream_pass_connect.c
-+ ip_match.c nbbio.c stream_pass_connect.c \
+ ip_match.c nbbio.c stream_pass_connect.c base32_code.c dict_test.c \
+- dict_fail.c msg_rate_delay.c dict_surrogate.c warn_stat.c
++ dict_fail.c msg_rate_delay.c dict_surrogate.c warn_stat.c \
+ load_lib.c sdbm.c
OBJS = alldig.o allprint.o argv.o argv_split.o attr_clnt.o attr_print0.o \
attr_print64.o attr_print_plain.o attr_scan0.o attr_scan64.o \
@@ -523,17 +554,17 @@
dummy_write.o duplex_pipe.o environ.o events.o exec_command.o \
fifo_listen.o fifo_trigger.o file_limit.o find_inet.o fsspace.o \
fullname.o get_domainname.o get_hostname.o hex_code.o hex_quote.o \
-@@ -68,7 +69,8 @@ OBJS = alldig.o allprint.o argv.o argv_s
- allascii.o load_file.o killme_after.o vstream_tweak.o \
+@@ -70,7 +71,8 @@ OBJS = alldig.o allprint.o argv.o argv_s
unix_pass_listen.o unix_pass_trigger.o edit_file.o inet_windowsize.o \
unix_pass_fd_fix.o dict_cache.o valid_utf_8.o dict_thash.o \
-- ip_match.o nbbio.o stream_pass_connect.o
-+ ip_match.o nbbio.o stream_pass_connect.o \
+ ip_match.o nbbio.o stream_pass_connect.o base32_code.o dict_test.o \
+- dict_fail.o msg_rate_delay.o dict_surrogate.o warn_stat.o
++ dict_fail.o msg_rate_delay.o dict_surrogate.o warn_stat.o \
+ load_lib.o sdbm.o
HDRS = argv.h attr.h attr_clnt.h auto_clnt.h base64_code.h binhash.h \
chroot_uid.h cidr_match.h clean_env.h connect.h ctable.h dict.h \
dict_cdb.h dict_cidr.h dict_db.h dict_dbm.h dict_env.h dict_ht.h \
-@@ -82,7 +84,7 @@ HDRS = argv.h attr.h attr_clnt.h auto_cl
+@@ -84,7 +86,7 @@ HDRS = argv.h attr.h attr_clnt.h auto_cl
msg_output.h msg_syslog.h msg_vstream.h mvect.h myaddrinfo.h myflock.h \
mymalloc.h myrand.h name_code.h name_mask.h netstring.h nvtable.h \
open_as.h open_lock.h percentm.h posix_signals.h readlline.h ring.h \
@@ -542,7 +573,7 @@
sane_socketpair.h sane_time.h scan_dir.h set_eugid.h set_ugid.h \
sigdelay.h sock_addr.h spawn_command.h split_at.h stat_as.h \
stringops.h sys_defs.h timed_connect.h timed_wait.h trigger.h \
-@@ -96,6 +98,8 @@ DEFS = -I. -D$(SYSTYPE)
+@@ -98,6 +100,8 @@ DEFS = -I. -D$(SYSTYPE)
CFLAGS = $(DEBUG) $(OPT) $(DEFS)
FILES = Makefile $(SRCS) $(HDRS)
INCL =
@@ -551,7 +582,7 @@
LIB = libutil.a
TESTPROG= dict_open dup2_pass_on_exec events exec_command fifo_open \
fifo_rdonly_bug fifo_rdwr_bug fifo_trigger fsspace fullname \
-@@ -111,10 +115,11 @@ TESTPROG= dict_open dup2_pass_on_exec ev
+@@ -113,10 +117,11 @@ TESTPROG= dict_open dup2_pass_on_exec ev
LIB_DIR = ../../lib
INC_DIR = ../../include
@@ -565,7 +596,7 @@
$(OBJS): ../../conf/makedefs.out
-@@ -123,15 +128,25 @@ Makefile: Makefile.in
+@@ -125,15 +130,25 @@ Makefile: Makefile.in
test: $(TESTPROG)
@@ -595,7 +626,7 @@
-for i in $(HDRS); \
do \
cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
-@@ -153,7 +168,8 @@ lint:
+@@ -155,7 +170,8 @@ lint:
lint $(DEFS) $(SRCS) $(LINTFIX)
clean:
@@ -609,7 +640,7 @@
===================================================================
--- src/util/dict.h.orig
+++ src/util/dict.h
-@@ -66,6 +66,7 @@ extern DICT *dict_debug(DICT *);
+@@ -80,6 +80,7 @@ extern DICT *dict_debug(DICT *);
#define DICT_FLAG_NO_UNAUTH (1<<13) /* disallow unauthenticated data */
#define DICT_FLAG_FOLD_FIX (1<<14) /* case-fold key with fixed-case map */
#define DICT_FLAG_FOLD_MUL (1<<15) /* case-fold key with multi-case map */
@@ -617,7 +648,7 @@
#define DICT_FLAG_FOLD_ANY (DICT_FLAG_FOLD_FIX | DICT_FLAG_FOLD_MUL)
#define DICT_FLAG_OPEN_LOCK (1<<16) /* open file with exclusive lock */
-@@ -139,6 +140,11 @@ extern const char *dict_eval(const char
+@@ -166,6 +167,11 @@ extern int dict_error(const char *);
extern DICT *dict_open(const char *, int, int);
extern DICT *dict_open3(const char *, const char *, int, int);
extern void dict_open_register(const char *, DICT *(*) (const char *, int, int));
@@ -633,24 +664,24 @@
===================================================================
--- src/util/dict_db.c.orig
+++ src/util/dict_db.c
-@@ -676,6 +676,12 @@ static DICT *dict_db_open(const char *cl
+@@ -693,6 +693,12 @@ static DICT *dict_db_open(const char *cl
msg_fatal("set DB cache size %d: %m", dict_db_cache_size);
if (type == DB_HASH && db->set_h_nelem(db, DICT_DB_NELM) != 0)
msg_fatal("set DB hash element count %d: %m", DICT_DB_NELM);
+ if (dict_flags & DICT_FLAG_UPGRADE) {
-+ if (msg_verbose)
-+ msg_info("upgrading database %s",db_path);
-+ if ((errno = db->upgrade(db,db_path,0)) != 0)
-+ msg_fatal("upgrade of database %s: %m",db_path);
++ if (msg_verbose)
++ msg_info("upgrading database %s",db_path);
++ if ((errno = db->upgrade(db,db_path,0)) != 0)
++ msg_fatal("upgrade of database %s: %m",db_path);
+ }
#if DB_VERSION_MAJOR == 5 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0)
if ((errno = db->open(db, 0, db_path, 0, type, db_flags, 0644)) != 0)
- msg_fatal("open database %s: %m", db_path);
+ FREE_RETURN(dict_surrogate(class, path, open_flags, dict_flags,
Index: src/util/dict_dbm.c
===================================================================
--- src/util/dict_dbm.c.orig
+++ src/util/dict_dbm.c
-@@ -409,6 +409,10 @@ DICT *dict_dbm_open(const char *path,
+@@ -417,6 +417,10 @@ DICT *dict_dbm_open(const char *path,
char *dbm_path;
int lock_fd;
@@ -674,7 +705,7 @@
/* DESCRIPTION
/* This module implements a low-level interface to multiple
/* physical dictionary types.
-@@ -165,6 +167,9 @@
+@@ -166,6 +168,9 @@
/*
/* dict_mapnames() returns a sorted list with the names of all available
/* dictionary types.
@@ -684,7 +715,7 @@
/* DIAGNOSTICS
/* Fatal error: open error, unsupported dictionary type, attempt to
/* update non-writable dictionary.
-@@ -189,6 +194,9 @@
+@@ -213,6 +218,9 @@
#include
#endif
@@ -694,7 +725,7 @@
/* Utility library. */
#include
-@@ -216,6 +224,27 @@
+@@ -241,6 +249,27 @@
#include
#include
@@ -722,7 +753,7 @@
/*
* lookup table for available map types.
*/
-@@ -231,7 +260,9 @@ static const DICT_OPEN_INFO dict_open_in
+@@ -256,7 +285,9 @@ static const DICT_OPEN_INFO dict_open_in
DICT_TYPE_ENVIRON, dict_env_open,
DICT_TYPE_HT, dict_ht_open,
DICT_TYPE_UNIX, dict_unix_open,
@@ -732,7 +763,7 @@
#ifdef HAS_SDBM
DICT_TYPE_SDBM, dict_sdbm_open,
#endif
-@@ -251,9 +282,11 @@ static const DICT_OPEN_INFO dict_open_in
+@@ -276,9 +307,11 @@ static const DICT_OPEN_INFO dict_open_in
#ifdef HAS_NETINFO
DICT_TYPE_NETINFO, dict_ni_open,
#endif
@@ -744,41 +775,41 @@
#ifdef HAS_POSIX_REGEXP
DICT_TYPE_REGEXP, dict_regexp_open,
#endif
-@@ -312,8 +345,31 @@ DICT *dict_open3(const char *dict_type
+@@ -338,9 +371,32 @@ DICT *dict_open3(const char *dict_type
dict_type, dict_name);
if (dict_open_hash == 0)
dict_open_init();
- if ((dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type)) == 0)
-- msg_fatal("unsupported dictionary type: %s", dict_type);
+ if ((dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type)) == 0) {
+#ifdef NO_DYNAMIC_MAPS
-+ msg_fatal("%s: unsupported dictionary type: %s", myname, dict_type);
+ return (dict_surrogate(dict_type, dict_name, open_flags, dict_flags,
+ "unsupported dictionary type: %s", dict_type));
+#else
-+ struct stat st;
-+ LIB_FN fn[2];
-+ DICT *(*open) (const char *, int, int);
-+ DLINFO *dl=dict_open_dlfind(dict_type);
-+ if (!dl)
-+ msg_fatal("%s: unsupported dictionary type: %s: Is the postfix-%s package installed?", myname, dict_type, dict_type);
-+ if (stat(dl->soname,&st) < 0) {
-+ msg_fatal("%s: unsupported dictionary type: %s (%s not found. Is the postfix-%s package installed?)",
-+ myname, dict_type, dl->soname, dict_type);
-+ }
-+ fn[0].name = dl->openfunc;
-+ fn[0].ptr = (void**)&open;
-+ fn[1].name = NULL;
-+ load_library_symbols(dl->soname, fn, NULL);
-+ dict_open_register(dict_type, open);
-+ dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type);
++ struct stat st;
++ LIB_FN fn[2];
++ DICT *(*open) (const char *, int, int);
++ DLINFO *dl=dict_open_dlfind(dict_type);
++ if (!dl)
++ msg_fatal("%s: unsupported dictionary type: %s: Is the postfix-%s package installed?", myname, dict_type, dict_type);
++ if (stat(dl->soname,&st) < 0) {
++ msg_fatal("%s: unsupported dictionary type: %s (%s not found. Is the postfix-%s package installed?)",
++ myname, dict_type, dl->soname, dict_type);
++ }
++ fn[0].name = dl->openfunc;
++ fn[0].ptr = (void**)&open;
++ fn[1].name = NULL;
++ load_library_symbols(dl->soname, fn, NULL);
++ dict_open_register(dict_type, open);
++ dp = (DICT_OPEN_INFO *) htable_find(dict_open_hash, dict_type);
+#endif
+ }
+ if (msg_verbose>1) {
-+ msg_info("%s: calling %s open routine",myname,dict_type);
++ msg_info("%s: calling %s open routine",myname,dict_type);
+ }
if ((dict = dp->open(dict_name, open_flags, dict_flags)) == 0)
- msg_fatal("opening %s:%s %m", dict_type, dict_name);
- if (msg_verbose)
-@@ -331,6 +387,36 @@ DICT *dict_open3(const char *dict_type
+ return (dict_surrogate(dict_type, dict_name, open_flags, dict_flags,
+ "cannot open %s:%s: %m", dict_type, dict_name));
+@@ -359,6 +415,36 @@ DICT *dict_open3(const char *dict_type
return (dict);
}
@@ -815,7 +846,7 @@
/* dict_open_register - register dictionary type */
void dict_open_register(const char *type,
-@@ -364,6 +450,9 @@ ARGV *dict_mapnames()
+@@ -392,6 +478,9 @@ ARGV *dict_mapnames()
HTABLE_INFO **ht;
DICT_OPEN_INFO *dp;
ARGV *mapnames;
@@ -825,7 +856,7 @@
if (dict_open_hash == 0)
dict_open_init();
-@@ -372,6 +461,13 @@ ARGV *dict_mapnames()
+@@ -400,6 +489,13 @@ ARGV *dict_mapnames()
dp = (DICT_OPEN_INFO *) ht[0]->value;
argv_add(mapnames, dp->type, ARGV_END);
}
@@ -839,7 +870,7 @@
qsort((void *) mapnames->argv, mapnames->argc, sizeof(mapnames->argv[0]),
dict_sort_alpha_cpp);
myfree((char *) ht_info);
-@@ -379,6 +475,87 @@ ARGV *dict_mapnames()
+@@ -407,6 +503,87 @@ ARGV *dict_mapnames()
return mapnames;
}
@@ -2196,7 +2227,7 @@
===================================================================
--- src/util/sys_defs.h.orig
+++ src/util/sys_defs.h
-@@ -721,6 +721,7 @@ extern int initgroups(const char *, int)
+@@ -755,6 +755,7 @@ extern int initgroups(const char *, int)
#define INTERNAL_LOCK MYFLOCK_STYLE_FLOCK
#define DEF_MAILBOX_LOCK "fcntl, dotlock" /* RedHat >= 4.x */
#define HAS_FSYNC
@@ -2204,7 +2235,7 @@
#define HAS_DB
#define DEF_DB_TYPE "hash"
#define ALIAS_DB_MAP "hash:/etc/aliases"
-@@ -732,11 +733,25 @@ extern int initgroups(const char *, int)
+@@ -768,11 +769,25 @@ extern int initgroups(const char *, int)
#define STATFS_IN_SYS_VFS_H
#define PREPEND_PLUS_TO_OPTSTRING
#define HAS_POSIX_REGEXP
@@ -2230,7 +2261,7 @@
#ifdef __GLIBC_PREREQ
# define HAVE_GLIBC_API_VERSION_SUPPORT(maj, min) __GLIBC_PREREQ(maj, min)
#else
-@@ -902,6 +917,7 @@ extern int h_errno; /* impor
+@@ -954,6 +969,7 @@ extern int h_errno; /* impor
#define USE_STATFS
#define STATFS_IN_SYS_VFS_H
#define HAS_POSIX_REGEXP
@@ -2238,7 +2269,7 @@
#define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
#define NATIVE_MAILQ_PATH "/usr/bin/mailq"
#define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
-@@ -939,6 +955,7 @@ extern int h_errno; /* impor
+@@ -993,6 +1009,7 @@ extern int h_errno; /* impor
#define USE_STATFS
#define STATFS_IN_SYS_VFS_H
#define HAS_POSIX_REGEXP
@@ -2246,7 +2277,7 @@
#define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
#define NATIVE_MAILQ_PATH "/usr/bin/mailq"
#define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
-@@ -978,6 +995,7 @@ extern int h_errno;
+@@ -1034,6 +1051,7 @@ extern int h_errno;
#define USE_STATFS
#define STATFS_IN_SYS_VFS_H
#define HAS_POSIX_REGEXP
++++++ dynamic_maps_pie.patch ++++++
--- /var/tmp/diff_new_pack.Gg7x48/_old 2013-01-21 17:44:49.000000000 +0100
+++ /var/tmp/diff_new_pack.Gg7x48/_new 2013-01-21 17:44:49.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- makedefs.orig
+++ makedefs
-@@ -671,4 +671,5 @@ AWK = $AWK
+@@ -682,4 +682,5 @@ AWK = $AWK
STRCASE = $STRCASE
EXPORT = AUXLIBS='$AUXLIBS' CCARGS='$CCARGS' OPT='$OPT' DEBUG='$DEBUG'
WARN = $WARN
@@ -28,6 +28,28 @@
$(OBJS): ../../conf/makedefs.out
+Index: src/bounce/Makefile.in
+===================================================================
+--- src/bounce/Makefile.in.orig
++++ src/bounce/Makefile.in
+@@ -16,13 +16,16 @@ PROG = bounce
+ SAMPLES = ../../conf/bounce.cf.default
+ INC_DIR = ../../include
+ LIBS = ../../lib/libmaster.a ../../lib/libglobal.a ../../lib/libutil.a
++ifdef PIE
++CFLAGS += -fPIE
++endif
+
+ .c.o:; $(CC) $(CFLAGS) -c $*.c
+
+ all: $(PROG) ../../conf/bounce.cf.default
+
+ $(PROG): $(OBJS) $(LIBS)
+- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS)
++ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS) $(PIE)
+
+ # Eliminate dependency on installed Postfix.
+ ../../conf/bounce.cf.default: template_test.ref annotate.pl
Index: src/cleanup/Makefile.in
===================================================================
--- src/cleanup/Makefile.in.orig
@@ -273,6 +295,26 @@
$(OBJS): ../../conf/makedefs.out
+Index: src/postconf/Makefile.in
+===================================================================
+--- src/postconf/Makefile.in.orig
++++ src/postconf/Makefile.in
+@@ -20,11 +20,14 @@ PROG = postconf
+ SAMPLES = ../../conf/main.cf.default
+ INC_DIR = ../../include
+ LIBS = ../../lib/libxsasl.a ../../lib/libglobal.a ../../lib/libutil.a
++ifdef PIE
++CFLAGS += -fPIE
++endif
+
+ .c.o:; $(CC) $(CFLAGS) -c $*.c
+
+ $(PROG): $(OBJS) $(LIBS)
+- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS)
++ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS) $(PIE)
+
+ ../../conf/main.cf.default: $(PROG) Makefile
+ rm -f $@
Index: src/postdrop/Makefile.in
===================================================================
--- src/postdrop/Makefile.in.orig
@@ -553,6 +595,46 @@
$(OBJS): ../../conf/makedefs.out
+Index: src/smtp/Makefile.in
+===================================================================
+--- src/smtp/Makefile.in.orig
++++ src/smtp/Makefile.in
+@@ -16,11 +16,14 @@ PROG = smtp
+ INC_DIR = ../../include
+ LIBS = ../../lib/libmaster.a ../../lib/libtls.a ../../lib/libdns.a \
+ ../../lib/libxsasl.a ../../lib/libglobal.a ../../lib/libutil.a
++ifdef PIE
++CFLAGS += -fPIE
++endif
+
+ .c.o:; $(CC) $(CFLAGS) -c $*.c
+
+ $(PROG): $(OBJS) $(LIBS)
+- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS)
++ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS) $(PIE)
+
+ $(OBJS): ../../conf/makedefs.out
+
+Index: src/smtpd/Makefile.in
+===================================================================
+--- src/smtpd/Makefile.in.orig
++++ src/smtpd/Makefile.in
+@@ -19,11 +19,14 @@ INC_DIR = ../../include
+ LIBS = ../../lib/libmaster.a ../../lib/libtls.a ../../lib/libdns.a \
+ ../../lib/libxsasl.a ../../lib/libmilter.a ../../lib/libglobal.a \
+ ../../lib/libutil.a
++ifdef PIE
++CFLAGS += -fPIE
++endif
+
+ .c.o:; $(CC) $(CFLAGS) -c $*.c
+
+ $(PROG): $(OBJS) $(LIBS)
+- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS)
++ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS) $(PIE)
+
+ $(OBJS): ../../conf/makedefs.out
+
Index: src/smtpstone/Makefile.in
===================================================================
--- src/smtpstone/Makefile.in.orig
@@ -688,88 +770,6 @@
- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS)
+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS) $(PIE)
- $(OBJS): ../../conf/makedefs.out
-
-Index: src/bounce/Makefile.in
-===================================================================
---- src/bounce/Makefile.in.orig
-+++ src/bounce/Makefile.in
-@@ -16,13 +16,16 @@ PROG = bounce
- SAMPLES = ../../conf/bounce.cf.default
- INC_DIR = ../../include
- LIBS = ../../lib/libmaster.a ../../lib/libglobal.a ../../lib/libutil.a
-+ifdef PIE
-+CFLAGS += -fPIE
-+endif
-
- .c.o:; $(CC) $(CFLAGS) -c $*.c
-
- all: $(PROG) ../../conf/bounce.cf.default
-
- $(PROG): $(OBJS) $(LIBS)
-- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS)
-+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS) $(PIE)
-
- # Eliminate dependency on installed Postfix.
- ../../conf/bounce.cf.default: template_test.ref annotate.pl
-Index: src/postconf/Makefile.in
-===================================================================
---- src/postconf/Makefile.in.orig
-+++ src/postconf/Makefile.in
-@@ -15,11 +15,14 @@ PROG = postconf
- SAMPLES = ../../conf/main.cf.default
- INC_DIR = ../../include
- LIBS = ../../lib/libxsasl.a ../../lib/libglobal.a ../../lib/libutil.a
-+ifdef PIE
-+CFLAGS += -fPIE
-+endif
-
- .c.o:; $(CC) $(CFLAGS) -c $*.c
-
- $(PROG): $(OBJS) $(LIBS)
-- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS)
-+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS) $(PIE)
-
- ../../conf/main.cf.default: $(PROG) Makefile
- rm -f $@
-Index: src/smtp/Makefile.in
-===================================================================
---- src/smtp/Makefile.in.orig
-+++ src/smtp/Makefile.in
-@@ -16,11 +16,14 @@ PROG = smtp
- INC_DIR = ../../include
- LIBS = ../../lib/libmaster.a ../../lib/libtls.a ../../lib/libdns.a \
- ../../lib/libxsasl.a ../../lib/libglobal.a ../../lib/libutil.a
-+ifdef PIE
-+CFLAGS += -fPIE
-+endif
-
- .c.o:; $(CC) $(CFLAGS) -c $*.c
-
- $(PROG): $(OBJS) $(LIBS)
-- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS)
-+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS) $(PIE)
-
- $(OBJS): ../../conf/makedefs.out
-
-Index: src/smtpd/Makefile.in
-===================================================================
---- src/smtpd/Makefile.in.orig
-+++ src/smtpd/Makefile.in
-@@ -19,11 +19,14 @@ INC_DIR = ../../include
- LIBS = ../../lib/libmaster.a ../../lib/libtls.a ../../lib/libdns.a \
- ../../lib/libxsasl.a ../../lib/libmilter.a ../../lib/libglobal.a \
- ../../lib/libutil.a
-+ifdef PIE
-+CFLAGS += -fPIE
-+endif
-
- .c.o:; $(CC) $(CFLAGS) -c $*.c
-
- $(PROG): $(OBJS) $(LIBS)
-- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS)
-+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS) $(PIE)
-
$(OBJS): ../../conf/makedefs.out
Index: src/xsasl/Makefile.in
++++++ ipv6_disabled.patch ++++++
--- /var/tmp/diff_new_pack.Gg7x48/_old 2013-01-21 17:44:49.000000000 +0100
+++ /var/tmp/diff_new_pack.Gg7x48/_new 2013-01-21 17:44:49.000000000 +0100
@@ -1,19 +1,10 @@
-Index: src/util/inet_proto.c
-===================================================================
---- src/util/inet_proto.c.orig
-+++ src/util/inet_proto.c
-@@ -220,9 +220,11 @@ INET_PROTO_INFO *inet_proto_init(const c
- pf->sa_family_list = make_uchar_vector(3, AF_INET, AF_INET6, 0);
- break;
- } else if (errno == EAFNOSUPPORT) {
-- msg_warn("%s: IPv6 support is disabled: %m", context);
-- msg_warn("%s: configuring for IPv4 support only", context);
-- /* FALLTHROUGH */
-+ /* remove waste warnings 2007-01-25 Peter Varkoly
-+ * msg_warn("%s: IPv6 support is disabled: %m", context);
-+ * msg_warn("%s: configuring for IPv4 support only", context);
-+ * FALLTHROUGH
-+ */
+--- src/util/inet_proto.c.orig 2012-01-03 01:57:59.000000000 +0100
++++ src/util/inet_proto.c 2012-11-15 13:39:22.000000000 +0100
+@@ -195,7 +195,6 @@ INET_PROTO_INFO *inet_proto_init(const c
+ if ((sock = socket(PF_INET6, SOCK_STREAM, 0)) >= 0) {
+ close(sock);
+ } else if (errno == EAFNOSUPPORT || errno == EPROTONOSUPPORT) {
+- msg_warn("%s: disabling IPv6 name/address support: %m", context);
+ inet_proto_mask &= ~INET_PROTO_MASK_IPV6;
} else {
msg_fatal("socket: %m");
- }
++++++ pointer_to_literals.patch ++++++
--- /var/tmp/diff_new_pack.Gg7x48/_old 2013-01-21 17:44:49.000000000 +0100
+++ /var/tmp/diff_new_pack.Gg7x48/_new 2013-01-21 17:44:49.000000000 +0100
@@ -28,7 +28,7 @@
===================================================================
--- src/smtpd/smtpd_check.c.orig
+++ src/smtpd/smtpd_check.c
-@@ -359,6 +359,10 @@ static int unv_from_tf_act;
+@@ -357,6 +357,10 @@ static int unv_from_tf_act;
#define CONST_STR(x) ((const char *) vstring_str(x))
#define UPDATE_STRING(ptr,val) { if (ptr) myfree(ptr); ptr = mystrdup(val); }
@@ -39,7 +39,7 @@
/*
* If some decision can't be made due to a temporary error, then change
* other decisions into deferrals.
-@@ -1950,8 +1954,6 @@ static int check_table_result(SMTPD_STAT
+@@ -1986,8 +1990,6 @@ static int check_table_result(SMTPD_STAT
if (msg_verbose)
msg_info("%s: %s %s %s", myname, table, value, datum);
@@ -48,7 +48,7 @@
/*
* DUNNO means skip this table. Silently ignore optional text.
*/
-@@ -2934,8 +2936,6 @@ static const char *rbl_expand_lookup(con
+@@ -2977,8 +2979,6 @@ static const char *rbl_expand_lookup(con
SMTPD_RBL_EXPAND_CONTEXT *rbl_exp = (SMTPD_RBL_EXPAND_CONTEXT *) context;
SMTPD_STATE *state = rbl_exp->state;
@@ -61,7 +61,7 @@
===================================================================
--- src/util/dict_open.c.orig
+++ src/util/dict_open.c
-@@ -476,7 +476,7 @@ ARGV *dict_mapnames()
+@@ -504,7 +504,7 @@ ARGV *dict_mapnames()
}
#ifndef NO_DYNAMIC_MAPS
++++++ postfix-2.8.13.tar.bz2 -> postfix-2.9.5.tar.bz2 ++++++
++++ 53431 lines of diff (skipped)
++++++ postfix-main.cf.patch ++++++
Index: conf/main.cf
===================================================================
--- conf/main.cf.orig
+++ conf/main.cf
@@ -655,3 +655,119 @@ sample_directory =
#
readme_directory =
inet_protocols = ipv4
+
+biff = no
+content_filter =
+delay_warning_time = 0h
+disable_dns_lookups = no
+disable_mime_output_conversion = no
+inet_interfaces = all
+inet_protocols = ipv4
+masquerade_classes = envelope_sender, header_sender, header_recipient
+masquerade_domains =
+masquerade_exceptions =
+mydestination = $myhostname, localhost.$mydomain
+myhostname = localhost
+mynetworks_style = subnet
+relayhost =
+
+alias_maps =
+canonical_maps =
+relocated_maps =
+sender_canonical_maps =
+transport_maps =
+mail_spool_directory = /var/mail
+message_strip_characters =
+defer_transports =
+mailbox_command =
+mailbox_transport =
+mailbox_size_limit = 0
+message_size_limit = 0
+strict_8bitmime = no
+strict_rfc821_envelopes = no
+smtpd_helo_required = no
+
+smtpd_client_restrictions =
+
+smtpd_helo_restrictions =
+
+smtpd_sender_restrictions =
+
+smtpd_recipient_restrictions =
+
+
+############################################################
+# SASL stuff
+############################################################
+smtp_sasl_auth_enable = no
+smtp_sasl_security_options =
+smtp_sasl_password_maps =
+smtpd_sasl_auth_enable = no
+############################################################
+# TLS stuff
+############################################################
+#tls_append_default_CA = no
+relay_clientcerts =
+#tls_random_source = dev:/dev/urandom
+
+smtp_use_tls = no
+#smtp_tls_loglevel = 0
+smtp_enforce_tls = no
+smtp_tls_CAfile =
+smtp_tls_CApath =
+smtp_tls_cert_file =
+smtp_tls_key_file =
+#smtp_tls_session_cache_timeout = 3600s
+smtp_tls_session_cache_database =
+
+smtpd_use_tls = no
+#smtpd_tls_loglevel = 0
+smtpd_tls_CAfile =
+smtpd_tls_CApath =
+smtpd_tls_cert_file =
+smtpd_tls_key_file =
+smtpd_tls_ask_ccert = no
+smtpd_tls_received_header = no
+############################################################
+# Start MySQL from postfixwiki.org
+############################################################
+#relay_domains = $mydestination, hash:/etc/postfix/relay
+virtual_alias_domains =
+#virtual_alias_maps = hash:/etc/postfix/virtual
+#virtual_uid_maps = static:303
+#virtual_gid_maps = static:303
+#virtual_minimum_uid = 303
+#virtual_mailbox_base = /srv/maildirs
+#virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
+#virtual_mailbox_limit = 0
+#virtual_mailbox_limit_inbox = no
+#virtual_mailbox_limit_maps = hash:/etc/postfix/vquota
+#virtual_mailbox_limit_override = yes
+#virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
+#virtual_transport = virtual
+## Additional for quota support
+#virtual_create_maildirsize = yes
+#virtual_mailbox_extended = yes
+### Needs Maildir++ compatible IMAP servers, like Courier-IMAP
+#virtual_maildir_filter = yes
+#virtual_maildir_filter_maps = hash:/etc/postfix/vfilter
+#virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
+#virtual_mailbox_limit_override = yes
+#virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
+#virtual_maildir_limit_message_maps = hash:/etc/postfix/vmsg
+#virtual_overquota_bounce = yes
+#virtual_trash_count = yes
+#virtual_trash_name = ".Trash"
+############################################################
+# End MySQL from postfixwiki.org
+############################################################
+# Rewrite reject codes
+############################################################
+#unknown_address_reject_code = 550
+#unknown_client_reject_code = 550
+#unknown_hostname_reject_code = 550
+#soft_bounce = yes
+############################################################
+#debug_peer_list = example.com
+#debug_peer_level = 3
+
++++++ postfix-master.cf.patch ++++++
Index: conf/master.cf
===================================================================
--- conf/master.cf.orig
+++ conf/master.cf
@@ -9,6 +9,11 @@
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
+#amavis unix - - n - 4 smtp
+# -o smtp_data_done_timeout=1200
+# -o smtp_send_xforward_command=yes
+# -o disable_dns_lookups=yes
+# -o max_use=20
#smtp inet n - n - 1 postscreen
#smtpd pass - - n - - smtpd
#dnsblog unix - - n - 0 dnsblog
@@ -50,6 +55,26 @@ local unix - n n
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
+#localhost:10025 inet n - n - - smtpd
+# -o content_filter=
+# -o smtpd_delay_reject=no
+# -o smtpd_client_restrictions=permit_mynetworks,reject
+# -o smtpd_helo_restrictions=
+# -o smtpd_sender_restrictions=
+# -o smtpd_recipient_restrictions=permit_mynetworks,reject
+# -o smtpd_data_restrictions=reject_unauth_pipelining
+# -o smtpd_end_of_data_restrictions=
+# -o smtpd_restriction_classes=
+# -o mynetworks=127.0.0.0/8
+# -o smtpd_error_sleep_time=0
+# -o smtpd_soft_error_limit=1001
+# -o smtpd_hard_error_limit=1000
+# -o smtpd_client_connection_count_limit=0
+# -o smtpd_client_connection_rate_limit=0
+# -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_address_mappings
+# -o local_header_rewrite_clients=
+# -o local_recipient_maps=
+# -o relay_recipient_maps=
scache unix - - n - 1 scache
#
# ====================================================================
@@ -84,7 +109,7 @@ scache unix - - n
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus unix - n n - - pipe
-# user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
+# user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
#
@@ -117,3 +142,7 @@ scache unix - - n
#mailman unix - n n - - pipe
# flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
# ${nexthop} ${user}
+#
+#procmail unix - n n - - pipe
+# flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}
+#
++++++ postfix-post-install.patch ++++++
Index: conf/post-install
===================================================================
--- conf/post-install.orig
+++ conf/post-install
@@ -696,7 +696,7 @@ EOF
# Postfix 2.2.
# Add missing tlsmgr service to master.cf.
- grep '^tlsmgr.*tlsmgr' $config_directory/master.cf >/dev/null || {
+ grep '^#*tlsmgr.*tlsmgr' $config_directory/master.cf >/dev/null || {
echo Editing $config_directory/master.cf, adding missing entry for tlsmgr service
cat >>$config_directory/master.cf < postfix-vda-v11-2.9.5.patch ++++++
--- /work/SRC/openSUSE:Factory/postfix/postfix-vda-v10-2.8.12.patch 2012-09-17 14:03:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.postfix.new/postfix-vda-v11-2.9.5.patch 2013-01-21 17:44:44.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- /dev/null
+++ README_FILES/VDA_README
-@@ -0,0 +1,9 @@
+@@ -0,0 +1,10 @@
+Postfix VDA patch for maildir++ quota support by
+ Anderson Nadal
+ Tomas Macek
@@ -12,11 +12,12 @@
+howto patch the Postfix's sourcetree and configure the options
+provided by this patch.
+
++
Index: src/global/mail_params.h
===================================================================
--- src/global/mail_params.h.orig
+++ src/global/mail_params.h
-@@ -2333,6 +2333,54 @@ extern char *var_virt_uid_maps;
+@@ -2360,6 +2360,54 @@ extern char *var_virt_uid_maps;
#define DEF_VIRT_GID_MAPS ""
extern char *var_virt_gid_maps;
@@ -275,7 +276,7 @@
===================================================================
--- src/virtual/maildir.c.orig
+++ src/virtual/maildir.c
-@@ -63,28 +63,420 @@
+@@ -64,28 +64,420 @@
#include
#include
@@ -625,7 +626,7 @@
+ }
+
+ if (msg_verbose)
-+ msg_info("%s: filter data: sql_size=%d sql_mtime=%ld file_mtime=%ld", myname, strlen(filter_sqlres), sqlmtime, filemtime);
++ msg_info("%s: filter data: sql_size=%li sql_mtime=%ld file_mtime=%ld", myname, strlen(filter_sqlres), sqlmtime, filemtime);
+ }
+ if (sqlmtime != filemtime && sqlmtime != 0) {
+ if ((filterfile = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0640))) {
@@ -708,7 +709,7 @@
GETTIMEOFDAY(&starttime);
-@@ -93,15 +485,14 @@ int deliver_maildir(LOCAL_STATE stat
+@@ -94,15 +486,14 @@ int deliver_maildir(LOCAL_STATE stat
*/
state.level++;
if (msg_verbose)
@@ -727,7 +728,7 @@
}
/*
-@@ -109,17 +500,115 @@ int deliver_maildir(LOCAL_STATE stat
+@@ -110,17 +501,115 @@ int deliver_maildir(LOCAL_STATE stat
* attribute to reflect the final recipient.
*/
if (vstream_fseek(state.msg_attr.fp, state.msg_attr.offset, SEEK_SET) < 0)
@@ -801,7 +802,7 @@
+ }
+ else {
+ if (msg_verbose)
-+ msg_info("%s: quota is negative (%ld), using default virtual_mailbox_limit (%d)",
++ msg_info("%s: quota is negative (%ld), using default virtual_mailbox_limit (%ld)",
+ myname, n, var_virt_mailbox_limit);
+ /* Invalid limit size (negative). Use default virtual_mailbox_limit. */
+ n = var_virt_mailbox_limit;
@@ -809,7 +810,7 @@
+ }
+ else {
+ if (msg_verbose)
-+ msg_info("%s: no limit found in the maps, using default virtual_mailbox_limit (%d)",
++ msg_info("%s: no limit found in the maps, using default virtual_mailbox_limit (%ld)",
+ myname, var_virt_mailbox_limit);
+ /* There is no limit in the maps. Use default virtual_mailbox_limit. */
+ n = var_virt_mailbox_limit;
@@ -826,7 +827,7 @@
+ msg_info("%s: maildirsize used=%s sum=%ld count=%ld", myname, sizefilename, saved_size, saved_count);
+ } else {
+ if (msg_verbose)
-+ msg_info("%s: We will recount the quota (var_virt_mailbox_limit = %d, var_virt_maildir_extended = %d, read_maildirsize = %d)",
++ msg_info("%s: We will recount the quota (var_virt_mailbox_limit = %ld, var_virt_maildir_extended = %d, read_maildirsize = %d)",
+ myname, var_virt_mailbox_limit, var_virt_maildir_extended, read_mds);
+
+ /* sanity */
@@ -849,7 +850,7 @@
/*
* Create and write the file as the recipient, so that file quota work.
-@@ -174,46 +663,288 @@ int deliver_maildir(LOCAL_STATE stat
+@@ -175,46 +664,288 @@ int deliver_maildir(LOCAL_STATE stat
* [...]
*/
set_eugid(usr_attr.uid, usr_attr.gid);
@@ -1175,7 +1176,7 @@
}
set_eugid(var_owner_uid, var_owner_gid);
-@@ -223,31 +954,64 @@ int deliver_maildir(LOCAL_STATE stat
+@@ -224,31 +955,64 @@ int deliver_maildir(LOCAL_STATE stat
* location possibly under user control.
*/
if (mail_copy_status & MAIL_COPY_STAT_CORRUPT) {
@@ -1263,7 +1264,7 @@
===================================================================
--- src/virtual/virtual.c.orig
+++ src/virtual/virtual.c
-@@ -335,12 +335,30 @@ int var_virt_mailbox_limit;
+@@ -335,12 +335,30 @@ long var_virt_mailbox_limit;
char *var_mail_spool_dir; /* XXX dependency fix */
bool var_strict_mbox_owner;
@@ -1326,65 +1327,30 @@
virtual_mbox_lock_mask = mbox_lock_mask(var_virt_mailbox_lock);
}
-@@ -495,24 +526,39 @@ MAIL_VERSION_STAMP_DECLARE;
-
- int main(int argc, char **argv)
- {
-- static const CONFIG_INT_TABLE int_table[] = {
-- VAR_VIRT_MINUID, DEF_VIRT_MINUID, &var_virt_minimum_uid, 1, 0,
-- VAR_VIRT_MAILBOX_LIMIT, DEF_VIRT_MAILBOX_LIMIT, &var_virt_mailbox_limit, 0, 0,
-- 0,
-- };
-- static const CONFIG_STR_TABLE str_table[] = {
-- VAR_MAIL_SPOOL_DIR, DEF_MAIL_SPOOL_DIR, &var_mail_spool_dir, 0, 0,
-- VAR_VIRT_MAILBOX_MAPS, DEF_VIRT_MAILBOX_MAPS, &var_virt_mailbox_maps, 0, 0,
-- VAR_VIRT_UID_MAPS, DEF_VIRT_UID_MAPS, &var_virt_uid_maps, 0, 0,
-- VAR_VIRT_GID_MAPS, DEF_VIRT_GID_MAPS, &var_virt_gid_maps, 0, 0,
-- VAR_VIRT_MAILBOX_BASE, DEF_VIRT_MAILBOX_BASE, &var_virt_mailbox_base, 1, 0,
-- VAR_VIRT_MAILBOX_LOCK, DEF_VIRT_MAILBOX_LOCK, &var_virt_mailbox_lock, 1, 0,
-- 0,
-- };
-- static const CONFIG_BOOL_TABLE bool_table[] = {
-- VAR_STRICT_MBOX_OWNER, DEF_STRICT_MBOX_OWNER, &var_strict_mbox_owner,
-- 0,
-- };
-+
-+ static const CONFIG_INT_TABLE int_table[] = {
-+ VAR_VIRT_MINUID, DEF_VIRT_MINUID, &var_virt_minimum_uid, 1, 0,
-+ VAR_VIRT_MAILBOX_LIMIT, DEF_VIRT_MAILBOX_LIMIT, &var_virt_mailbox_limit, 0, 0,
-+ 0,
-+ };
-+
-+ static const CONFIG_BOOL_TABLE bool_table[] = {
-+ VAR_STRICT_MBOX_OWNER, DEF_STRICT_MBOX_OWNER, &var_strict_mbox_owner,
-+ VAR_VIRT_MAILBOX_LIMIT_INBOX, DEF_VIRT_MAILBOX_LIMIT_INBOX, &var_virt_mailbox_limit_inbox,
-+ VAR_VIRT_MAILBOX_LIMIT_OVERRIDE, DEF_VIRT_MAILBOX_LIMIT_OVERRIDE, &var_virt_mailbox_limit_override,
-+ VAR_VIRT_MAILDIR_EXTENDED, DEF_VIRT_MAILDIR_EXTENDED, &var_virt_maildir_extended,
-+ VAR_VIRT_OVERQUOTA_BOUNCE, DEF_VIRT_OVERQUOTA_BOUNCE, &var_virt_overquota_bounce,
-+ VAR_VIRT_TRASH_COUNT, DEF_VIRT_TRASH_COUNT, &var_virt_trash_count,
-+ VAR_VIRT_MAILDIR_FILTER, DEF_VIRT_MAILDIR_FILTER, &var_virt_maildir_filter,
-+ 0,
-+ };
-+
-+ static const CONFIG_STR_TABLE str_table[] = {
-+ VAR_MAIL_SPOOL_DIR, DEF_MAIL_SPOOL_DIR, &var_mail_spool_dir, 0, 0,
-+ VAR_VIRT_MAILBOX_MAPS, DEF_VIRT_MAILBOX_MAPS, &var_virt_mailbox_maps, 0, 0,
-+ VAR_VIRT_UID_MAPS, DEF_VIRT_UID_MAPS, &var_virt_uid_maps, 0, 0,
-+ VAR_VIRT_GID_MAPS, DEF_VIRT_GID_MAPS, &var_virt_gid_maps, 0, 0,
-+ VAR_VIRT_MAILBOX_LIMIT_MAPS, DEF_VIRT_MAILBOX_LIMIT_MAPS, &var_virt_mailbox_limit_maps, 0, 0,
-+ VAR_VIRT_MAILBOX_BASE, DEF_VIRT_MAILBOX_BASE, &var_virt_mailbox_base, 1, 0,
-+ VAR_VIRT_MAILBOX_LOCK, DEF_VIRT_MAILBOX_LOCK, &var_virt_mailbox_lock, 1, 0,
-+ VAR_VIRT_MAILDIR_LIMIT_MESSAGE, DEF_VIRT_MAILDIR_LIMIT_MESSAGE, &var_virt_maildir_limit_message, 1, 0,
-+ VAR_VIRT_MAILDIR_LIMIT_MESSAGE_MAPS, DEF_VIRT_MAILDIR_LIMIT_MESSAGE_MAPS, &var_virt_maildir_limit_message_maps, 0, 0,
-+ VAR_VIRT_MAILDIR_SUFFIX, DEF_VIRT_MAILDIR_SUFFIX, &var_virt_maildir_suffix, 0, 0,
-+ VAR_VIRT_TRASH_NAME, DEF_VIRT_TRASH_NAME, &var_virt_trash_name, 0, 0,
-+ VAR_VIRT_MAILDIR_FILTER_MAPS, DEF_VIRT_MAILDIR_FILTER_MAPS, &var_virt_maildir_filter_maps, 0, 0,
-+ 0,
-+ };
+@@ -510,10 +541,22 @@ int main(int argc, char **argv)
+ VAR_VIRT_GID_MAPS, DEF_VIRT_GID_MAPS, &var_virt_gid_maps, 0, 0,
+ VAR_VIRT_MAILBOX_BASE, DEF_VIRT_MAILBOX_BASE, &var_virt_mailbox_base, 1, 0,
+ VAR_VIRT_MAILBOX_LOCK, DEF_VIRT_MAILBOX_LOCK, &var_virt_mailbox_lock, 1, 0,
++ VAR_VIRT_MAILBOX_LIMIT_MAPS, DEF_VIRT_MAILBOX_LIMIT_MAPS, &var_virt_mailbox_limit_maps, 0, 0,
++ VAR_VIRT_MAILDIR_LIMIT_MESSAGE, DEF_VIRT_MAILDIR_LIMIT_MESSAGE, &var_virt_maildir_limit_message, 1, 0,
++ VAR_VIRT_MAILDIR_LIMIT_MESSAGE_MAPS, DEF_VIRT_MAILDIR_LIMIT_MESSAGE_MAPS, &var_virt_maildir_limit_message_maps, 0, 0,
++ VAR_VIRT_MAILDIR_SUFFIX, DEF_VIRT_MAILDIR_SUFFIX, &var_virt_maildir_suffix, 0, 0,
++ VAR_VIRT_TRASH_NAME, DEF_VIRT_TRASH_NAME, &var_virt_trash_name, 0, 0,
++ VAR_VIRT_MAILDIR_FILTER_MAPS, DEF_VIRT_MAILDIR_FILTER_MAPS, &var_virt_maildir_filter_maps, 0, 0,
+ 0,
+ };
+ static const CONFIG_BOOL_TABLE bool_table[] = {
+ VAR_STRICT_MBOX_OWNER, DEF_STRICT_MBOX_OWNER, &var_strict_mbox_owner,
++ VAR_VIRT_MAILBOX_LIMIT_INBOX, DEF_VIRT_MAILBOX_LIMIT_INBOX, &var_virt_mailbox_limit_inbox,
++ VAR_VIRT_MAILBOX_LIMIT_OVERRIDE, DEF_VIRT_MAILBOX_LIMIT_OVERRIDE, &var_virt_mailbox_limit_override,
++ VAR_VIRT_MAILDIR_EXTENDED, DEF_VIRT_MAILDIR_EXTENDED, &var_virt_maildir_extended,
++ VAR_VIRT_OVERQUOTA_BOUNCE, DEF_VIRT_OVERQUOTA_BOUNCE, &var_virt_overquota_bounce,
++ VAR_VIRT_TRASH_COUNT, DEF_VIRT_TRASH_COUNT, &var_virt_trash_count,
++ VAR_VIRT_MAILDIR_FILTER, DEF_VIRT_MAILDIR_FILTER, &var_virt_maildir_filter,
+ 0,
+ };
- /*
- * Fingerprint executables and core dumps.
-@@ -526,6 +572,7 @@ int main(int argc, char **argv)
+@@ -530,6 +573,7 @@ int main(int argc, char **argv)
MAIL_SERVER_PRE_INIT, pre_init,
MAIL_SERVER_POST_INIT, post_init,
MAIL_SERVER_PRE_ACCEPT, pre_accept,
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org