Accepting request 21172 from server:mail

Copy from server:mail/postfix based on submit request 21172 from user varkoly

OBS-URL: https://build.opensuse.org/request/show/21172
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postfix?expand=0&rev=37
This commit is contained in:
OBS User autobuild 2009-10-12 14:51:23 +00:00 committed by Git OBS Bridge
parent 8f38b6a1f2
commit f0ff8ace09
11 changed files with 2474 additions and 624 deletions

View File

@ -1,7 +1,6 @@
Index: conf/dynamicmaps.cf
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ conf/dynamicmaps.cf 2007-08-06 00:02:19.119436818 +0200
diff -ruN postfix-2.6.1//conf/dynamicmaps.cf postfix-2.6.1-dynamic_maps.patch//conf/dynamicmaps.cf
--- postfix-2.6.1//conf/dynamicmaps.cf 1970-01-01 01:00:00.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//conf/dynamicmaps.cf 2009-05-27 12:50:33.000000000 +0200
@@ -0,0 +1,7 @@
+# Postfix dynamic maps configuration file.
+#
@ -10,11 +9,10 @@ Index: conf/dynamicmaps.cf
+#
+#type location of .so file open function (mkmap func)
+#==== ================================ ============= ============
Index: conf/postfix-files
===================================================================
--- conf/postfix-files.orig 2007-03-25 22:08:21.000000000 +0200
+++ conf/postfix-files 2007-08-06 00:02:19.135437796 +0200
@@ -63,6 +63,11 @@ $queue_directory/saved:d:$mail_owner:-:7
diff -ruN postfix-2.6.1//conf/postfix-files postfix-2.6.1-dynamic_maps.patch//conf/postfix-files
--- postfix-2.6.1//conf/postfix-files 2009-02-14 03:08:16.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//conf/postfix-files 2009-05-27 12:55:33.000000000 +0200
@@ -65,6 +65,11 @@
$queue_directory/trace:d:$mail_owner:-:700:ucr
$daemon_directory/anvil:f:root:-:755
$daemon_directory/bounce:f:root:-:755
@ -26,7 +24,7 @@ Index: conf/postfix-files
$daemon_directory/cleanup:f:root:-:755
$daemon_directory/discard:f:root:-:755
$daemon_directory/error:f:root:-:755
@@ -85,6 +90,11 @@ $daemon_directory/tlsmgr:f:root:-:755
@@ -94,6 +99,11 @@
$daemon_directory/trivial-rewrite:f:root:-:755
$daemon_directory/verify:f:root:-:755
$daemon_directory/virtual:f:root:-:755
@ -38,19 +36,18 @@ Index: conf/postfix-files
$daemon_directory/nqmgr:h:$daemon_directory/qmgr
$daemon_directory/lmtp:h:$daemon_directory/smtp
$command_directory/postalias:f:root:-:755
@@ -107,6 +117,7 @@ $config_directory/access:f:root:-:644:p
$config_directory/aliases:f:root:-:644:p
$config_directory/bounce.cf.default:f:root:-:644
$config_directory/canonical:f:root:-:644:p
@@ -117,6 +127,7 @@
$config_directory/aliases:f:root:-:644:p1
$config_directory/bounce.cf.default:f:root:-:644:1
$config_directory/canonical:f:root:-:644:p1
+$config_directory/dynamicmaps.cf:f:root:-:644:p
$config_directory/cidr_table:f:root:-:644:o
$config_directory/generic:f:root:-:644:p
$config_directory/generic:f:root:-:644:p1
$config_directory/generics:f:root:-:644:o
Index: src/dns/Makefile.in
===================================================================
--- src/dns/Makefile.in.orig 2007-03-17 18:51:37.000000000 +0100
+++ src/dns/Makefile.in 2007-08-06 00:02:19.251444890 +0200
@@ -14,7 +14,7 @@ LIBS = ../../lib/libutil.a
diff -ruN postfix-2.6.1//src/dns/Makefile.in postfix-2.6.1-dynamic_maps.patch//src/dns/Makefile.in
--- postfix-2.6.1//src/dns/Makefile.in 2009-01-15 22:36:39.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/dns/Makefile.in 2009-05-27 12:50:33.000000000 +0200
@@ -14,7 +14,7 @@
LIB_DIR = ../../lib
INC_DIR = ../../include
@ -59,7 +56,7 @@ Index: src/dns/Makefile.in
all: $(LIB)
@@ -31,12 +31,10 @@ tests: test dns_rr_to_pa_test dns_rr_to_
@@ -31,12 +31,10 @@
root_tests:
$(LIB): $(OBJS)
@ -73,11 +70,73 @@ Index: src/dns/Makefile.in
update: $(LIB_DIR)/$(LIB) $(HDRS)
-for i in $(HDRS); \
Index: src/global/Makefile.in
===================================================================
--- src/global/Makefile.in.orig 2007-03-17 18:53:42.000000000 +0100
+++ src/global/Makefile.in 2007-08-06 00:02:19.351451006 +0200
@@ -32,7 +32,7 @@ OBJS = abounce.o anvil_clnt.o been_here.
diff -ruN postfix-2.6.1//src/global/mail_conf.c postfix-2.6.1-dynamic_maps.patch//src/global/mail_conf.c
--- postfix-2.6.1//src/global/mail_conf.c 2009-01-20 02:50:44.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/global/mail_conf.c 2009-05-27 12:50:33.000000000 +0200
@@ -182,6 +182,13 @@
path = concatenate(var_config_dir, "/", "main.cf", (char *) 0);
dict_load_file(CONFIG_DICT, path);
myfree(path);
+
+#ifndef NO_DYNAMIC_MAPS
+ path = concatenate(var_config_dir, "/", "dynamicmaps.cf", (char *) 0);
+ dict_open_dlinfo(path);
+ myfree(path);
+#endif
+
}
/* mail_conf_flush - discard configuration dictionary */
diff -ruN postfix-2.6.1//src/global/mail_dict.c postfix-2.6.1-dynamic_maps.patch//src/global/mail_dict.c
--- postfix-2.6.1//src/global/mail_dict.c 2008-01-08 22:07:47.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/global/mail_dict.c 2009-05-27 12:50:33.000000000 +0200
@@ -45,6 +45,7 @@
static const DICT_OPEN_INFO dict_open_info[] = {
DICT_TYPE_PROXY, dict_proxy_open,
+#ifndef MAX_DYNAMIC_MAPS
#ifdef HAS_LDAP
DICT_TYPE_LDAP, dict_ldap_open,
#endif
@@ -54,6 +55,7 @@
#ifdef HAS_PGSQL
DICT_TYPE_PGSQL, dict_pgsql_open,
#endif
+#endif /* MAX_DYNAMIC_MAPS */
0,
};
diff -ruN postfix-2.6.1//src/global/mail_params.c postfix-2.6.1-dynamic_maps.patch//src/global/mail_params.c
--- postfix-2.6.1//src/global/mail_params.c 2009-01-22 22:16:49.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/global/mail_params.c 2009-05-27 12:50:33.000000000 +0200
@@ -79,6 +79,7 @@
/* char *var_export_environ;
/* char *var_debug_peer_list;
/* int var_debug_peer_level;
+/* int var_command_maxtime;
/* int var_in_flow_delay;
/* int var_fault_inj_code;
/* char *var_bounce_service;
@@ -265,6 +266,7 @@
char *var_export_environ;
char *var_debug_peer_list;
int var_debug_peer_level;
+int var_command_maxtime;
int var_fault_inj_code;
char *var_bounce_service;
char *var_cleanup_service;
@@ -276,6 +278,7 @@
char *var_error_service;
char *var_flush_service;
char *var_verify_service;
+char *var_scache_service;
char *var_trace_service;
char *var_proxymap_service;
char *var_proxywrite_service;
diff -ruN postfix-2.6.1//src/global/Makefile.in postfix-2.6.1-dynamic_maps.patch//src/global/Makefile.in
--- postfix-2.6.1//src/global/Makefile.in 2009-02-13 02:25:05.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/global/Makefile.in 2009-05-27 12:50:33.000000000 +0200
@@ -34,7 +34,7 @@
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 \
@ -86,7 +145,7 @@ Index: src/global/Makefile.in
dict_proxy.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 \
@@ -97,10 +97,13 @@ LIBS = ../../lib/libutil.a
@@ -103,10 +103,13 @@
LIB_DIR = ../../lib
INC_DIR = ../../include
MAKES =
@ -102,7 +161,7 @@ Index: src/global/Makefile.in
$(OBJS): ../../conf/makedefs.out
@@ -110,14 +113,30 @@ Makefile: Makefile.in
@@ -116,14 +119,30 @@
test: $(TESTPROG)
$(LIB): $(OBJS)
@ -137,7 +196,7 @@ Index: src/global/Makefile.in
-for i in $(HDRS); \
do \
cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
@@ -425,7 +444,7 @@ lint:
@@ -491,7 +510,7 @@
lint $(DEFS) $(SRCS) $(LINTFIX)
clean:
@ -146,78 +205,11 @@ Index: src/global/Makefile.in
rm -rf printfck
tidy: clean
Index: src/global/mail_conf.c
===================================================================
--- src/global/mail_conf.c.orig 2004-04-10 16:52:51.000000000 +0200
+++ src/global/mail_conf.c 2007-08-06 00:02:19.451457122 +0200
@@ -175,6 +175,13 @@ void mail_conf_suck(void)
path = concatenate(var_config_dir, "/", "main.cf", (char *) 0);
dict_load_file(CONFIG_DICT, path);
myfree(path);
+
+#ifndef NO_DYNAMIC_MAPS
+ path = concatenate(var_config_dir, "/", "dynamicmaps.cf", (char *) 0);
+ dict_open_dlinfo(path);
+ myfree(path);
+#endif
+
}
/* mail_conf_eval - expand macros in string */
Index: src/global/mail_dict.c
===================================================================
--- src/global/mail_dict.c.orig 2004-01-04 19:53:27.000000000 +0100
+++ src/global/mail_dict.c 2007-08-06 00:02:19.499460057 +0200
@@ -45,6 +45,7 @@ typedef struct {
static DICT_OPEN_INFO dict_open_info[] = {
DICT_TYPE_PROXY, dict_proxy_open,
+#ifndef MAX_DYNAMIC_MAPS
#ifdef HAS_LDAP
DICT_TYPE_LDAP, dict_ldap_open,
#endif
@@ -54,6 +55,7 @@ static DICT_OPEN_INFO dict_open_info[] =
#ifdef HAS_PGSQL
DICT_TYPE_PGSQL, dict_pgsql_open,
#endif
+#endif /* MAX_DYNAMIC_MAPS */
0,
};
Index: src/global/mail_params.c
===================================================================
--- src/global/mail_params.c.orig 2007-07-10 19:27:12.000000000 +0200
+++ src/global/mail_params.c 2007-08-06 00:02:19.515461036 +0200
@@ -77,6 +77,7 @@
/* char *var_export_environ;
/* char *var_debug_peer_list;
/* int var_debug_peer_level;
+/* int var_command_maxtime;
/* int var_in_flow_delay;
/* int var_fault_inj_code;
/* char *var_bounce_service;
@@ -248,6 +249,7 @@ char *var_import_environ;
char *var_export_environ;
char *var_debug_peer_list;
int var_debug_peer_level;
+int var_command_maxtime;
int var_fault_inj_code;
char *var_bounce_service;
char *var_cleanup_service;
@@ -259,6 +261,7 @@ char *var_showq_service;
char *var_error_service;
char *var_flush_service;
char *var_verify_service;
+char *var_scache_service;
char *var_trace_service;
int var_db_create_buf;
int var_db_read_buf;
Index: src/global/mkmap_open.c
===================================================================
--- src/global/mkmap_open.c.orig 2004-12-15 01:24:22.000000000 +0100
+++ src/global/mkmap_open.c 2007-08-06 00:02:19.547462993 +0200
@@ -78,7 +78,7 @@
* types that exist as files. Network-based maps are not of interest.
diff -ruN postfix-2.6.1//src/global/mkmap_open.c postfix-2.6.1-dynamic_maps.patch//src/global/mkmap_open.c
--- postfix-2.6.1//src/global/mkmap_open.c 2008-01-08 23:08:45.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/global/mkmap_open.c 2009-05-27 12:50:33.000000000 +0200
@@ -81,7 +81,7 @@
* We use a different table (in dict_open.c) when querying maps.
*/
typedef struct {
- char *type;
@ -225,7 +217,7 @@ Index: src/global/mkmap_open.c
MKMAP *(*before_open) (const char *);
} MKMAP_OPEN_INFO;
@@ -152,7 +152,16 @@ MKMAP *mkmap_open(const char *type, con
@@ -156,7 +156,16 @@
*/
for (mp = mkmap_types; /* void */ ; mp++) {
if (mp->type == 0)
@ -242,11 +234,10 @@ Index: src/global/mkmap_open.c
if (strcmp(type, mp->type) == 0)
break;
}
Index: src/master/Makefile.in
===================================================================
--- src/master/Makefile.in.orig 2007-03-17 18:51:39.000000000 +0100
+++ src/master/Makefile.in 2007-08-06 00:02:19.563463971 +0200
@@ -20,7 +20,7 @@ LIB_DIR = ../../lib
diff -ruN postfix-2.6.1//src/master/Makefile.in postfix-2.6.1-dynamic_maps.patch//src/master/Makefile.in
--- postfix-2.6.1//src/master/Makefile.in 2009-01-15 22:36:39.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/master/Makefile.in 2009-05-27 12:50:33.000000000 +0200
@@ -20,7 +20,7 @@
INC_DIR = ../../include
BIN_DIR = ../../libexec
@ -255,7 +246,7 @@ Index: src/master/Makefile.in
all: $(PROG) $(LIB)
@@ -39,12 +39,10 @@ tests:
@@ -39,12 +39,10 @@
root_tests:
$(LIB): $(LIB_OBJ)
@ -269,11 +260,36 @@ Index: src/master/Makefile.in
$(BIN_DIR)/$(PROG): $(PROG)
cp $(PROG) $(BIN_DIR)
Index: src/postconf/postconf.c
===================================================================
--- src/postconf/postconf.c.orig 2007-04-26 21:34:57.000000000 +0200
+++ src/postconf/postconf.c 2007-08-06 00:02:19.687471554 +0200
@@ -893,6 +893,16 @@ static void show_maps(void)
diff -ruN postfix-2.6.1//src/milter/Makefile.in postfix-2.6.1-dynamic_maps.patch//src/milter/Makefile.in
--- postfix-2.6.1//src/milter/Makefile.in 2009-01-15 22:36:39.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/milter/Makefile.in 2009-05-27 12:50:33.000000000 +0200
@@ -14,7 +14,7 @@
INC_DIR = ../../include
MAKES =
-.c.o:; $(CC) $(CFLAGS) -c $*.c
+.c.o:; $(CC) -fPIC $(CFLAGS) -c $*.c
all: $(LIB)
@@ -30,12 +30,10 @@
root_tests:
$(LIB): $(OBJS)
- $(AR) $(ARFL) $(LIB) $?
- $(RANLIB) $(LIB)
+ gcc -shared -Wl,-soname,libpostfix-milter.so.1 -o $(LIB) $(OBJS) $(LIBS) $(SYSLIBS)
$(LIB_DIR)/$(LIB): $(LIB)
cp $(LIB) $(LIB_DIR)
- $(RANLIB) $(LIB_DIR)/$(LIB)
update: $(LIB_DIR)/$(LIB) $(HDRS)
-for i in $(HDRS); \
diff -ruN postfix-2.6.1//src/postconf/postconf.c postfix-2.6.1-dynamic_maps.patch//src/postconf/postconf.c
--- postfix-2.6.1//src/postconf/postconf.c 2009-02-13 02:49:27.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/postconf/postconf.c 2009-05-27 12:50:33.000000000 +0200
@@ -962,6 +962,16 @@
{
ARGV *maps_argv;
int i;
@ -290,21 +306,20 @@ Index: src/postconf/postconf.c
maps_argv = dict_mapnames();
for (i = 0; i < maps_argv->argc; i++)
Index: src/postmap/postmap.c
===================================================================
--- src/postmap/postmap.c.orig 2007-03-27 02:09:16.000000000 +0200
+++ src/postmap/postmap.c 2007-08-06 00:02:19.707472778 +0200
diff -ruN postfix-2.6.1//src/postmap/postmap.c postfix-2.6.1-dynamic_maps.patch//src/postmap/postmap.c
--- postfix-2.6.1//src/postmap/postmap.c 2009-04-17 22:04:00.000000000 +0200
+++ postfix-2.6.1-dynamic_maps.patch//src/postmap/postmap.c 2009-05-27 12:59:50.000000000 +0200
@@ -5,7 +5,7 @@
/* Postfix lookup table management
/* SYNOPSIS
/* .fi
-/* \fBpostmap\fR [\fB-Nfinoprsvw\fR] [\fB-c \fIconfig_dir\fR]
+/* \fBpostmap\fR [\fB-Nfinoprsuvw\fR] [\fB-c \fIconfig_dir\fR]
-/* \fBpostmap\fR [\fB-Nbfhimnoprsvw\fR] [\fB-c \fIconfig_dir\fR]
+/* \fBpostmap\fR [\fB-Nbfhimnoprsuvw\fR] [\fB-c \fIconfig_dir\fR]
/* [\fB-d \fIkey\fR] [\fB-q \fIkey\fR]
/* [\fIfile_type\fR:]\fIfile_name\fR ...
/* DESCRIPTION
@@ -115,6 +115,8 @@
/* as the original input order.
@@ -151,6 +151,8 @@
/* .sp
/* This feature is available in Postfix version 2.2 and later,
/* and is not available for all database types.
+/* .IP \fB-u\fR
@ -312,7 +327,7 @@ Index: src/postmap/postmap.c
/* .IP \fB-v\fR
/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
/* options make the software increasingly verbose.
@@ -538,6 +540,18 @@ static void postmap_seq(const char *map_
@@ -723,6 +725,18 @@
dict_close(dict);
}
@ -331,7 +346,7 @@ Index: src/postmap/postmap.c
/* usage - explain */
static NORETURN usage(char *myname)
@@ -558,6 +572,7 @@ int main(int argc, char **argv)
@@ -743,6 +757,7 @@
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;
@ -339,16 +354,16 @@ Index: src/postmap/postmap.c
char *query = 0;
char *delkey = 0;
int sequence = 0;
@@ -602,7 +617,7 @@ int main(int argc, char **argv)
@@ -787,7 +802,7 @@
/*
* Parse JCL.
*/
- while ((ch = GETOPT(argc, argv, "Nc:d:finopq:rsvw")) > 0) {
+ while ((ch = GETOPT(argc, argv, "Nc:d:finopq:rsuvw")) > 0) {
- while ((ch = GETOPT(argc, argv, "Nbc:d:fhimnopq:rsvw")) > 0) {
+ while ((ch = GETOPT(argc, argv, "Nbc:d:fhimnopq:rsuvw")) > 0) {
switch (ch) {
default:
usage(argv[0]);
@@ -616,8 +631,8 @@ int main(int argc, char **argv)
@@ -804,8 +819,8 @@
msg_fatal("out of memory");
break;
case 'd':
@ -359,7 +374,7 @@ Index: src/postmap/postmap.c
delkey = optarg;
break;
case 'f':
@@ -637,8 +652,8 @@ int main(int argc, char **argv)
@@ -831,8 +846,8 @@
postmap_flags &= ~POSTMAP_FLAG_SAVE_PERM;
break;
case 'q':
@ -370,7 +385,7 @@ Index: src/postmap/postmap.c
query = optarg;
break;
case 'r':
@@ -646,10 +661,15 @@ int main(int argc, char **argv)
@@ -840,10 +855,15 @@
dict_flags |= DICT_FLAG_DUP_REPLACE;
break;
case 's':
@ -388,7 +403,7 @@ Index: src/postmap/postmap.c
case 'v':
msg_verbose++;
break;
@@ -717,6 +737,21 @@ int main(int argc, char **argv)
@@ -914,6 +934,21 @@
exit(0);
}
exit(1);
@ -410,11 +425,10 @@ Index: src/postmap/postmap.c
} else { /* create/update map(s) */
if (optind + 1 > argc)
usage(argv[0]);
Index: src/tls/Makefile.in
===================================================================
--- src/tls/Makefile.in.orig 2007-03-17 18:51:38.000000000 +0100
+++ src/tls/Makefile.in 2007-08-06 00:02:19.731474245 +0200
@@ -22,7 +22,7 @@ LIB_DIR = ../../lib
diff -ruN postfix-2.6.1//src/tls/Makefile.in postfix-2.6.1-dynamic_maps.patch//src/tls/Makefile.in
--- postfix-2.6.1//src/tls/Makefile.in 2009-01-15 22:36:39.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/tls/Makefile.in 2009-05-27 12:50:33.000000000 +0200
@@ -22,7 +22,7 @@
INC_DIR = ../../include
MAKES =
@ -423,7 +437,7 @@ Index: src/tls/Makefile.in
all: $(LIB)
@@ -38,12 +38,10 @@ tests:
@@ -38,12 +38,10 @@
root_tests:
$(LIB): $(OBJS)
@ -437,141 +451,34 @@ Index: src/tls/Makefile.in
update: $(LIB_DIR)/$(LIB) $(HDRS)
-for i in $(HDRS); \
Index: src/util/Makefile.in
===================================================================
--- src/util/Makefile.in.orig 2008-01-07 17:22:02.000000000 +0100
+++ src/util/Makefile.in 2008-01-28 17:05:05.000000000 +0100
@@ -31,15 +31,16 @@
vstream_popen.c vstring.c vstring_vstream.c watchdog.c writable.c \
write_buf.c write_wait.c sane_basename.c format_tv.c allspace.c \
allascii.c load_file.c killme_after.c vstream_tweak.c upass_connect.c \
- upass_listen.c upass_trigger.c
+ upass_listen.c upass_trigger.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 \
attr_scan_plain.o auto_clnt.o base64_code.o basename.o binhash.o \
chroot_uid.o cidr_match.o clean_env.o close_on_exec.o concatenate.o \
ctable.o dict.o dict_alloc.o dict_cdb.o dict_cidr.o dict_db.o \
dict_dbm.o dict_debug.o dict_env.o dict_ht.o dict_ni.o dict_nis.o \
- dict_nisplus.o dict_open.o dict_pcre.o dict_regexp.o dict_sdbm.o \
- dict_static.o dict_tcp.o dict_unix.o dir_forest.o doze.o dummy_read.o \
+ dict_nisplus.o dict_open.o dict_regexp.o dict_sdbm.o \
+ dict_static.o dict_unix.o dir_forest.o doze.o dummy_read.o \
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 \
@@ -64,7 +65,8 @@
vstream_popen.o vstring.o vstring_vstream.o watchdog.o writable.o \
write_buf.o write_wait.o sane_basename.o format_tv.o allspace.o \
allascii.o load_file.o killme_after.o vstream_tweak.o upass_connect.o \
- upass_listen.o upass_trigger.o
+ upass_listen.o upass_trigger.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 \
@@ -78,7 +80,7 @@
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 \
- safe.h safe_open.h sane_accept.h sane_connect.h sane_fsops.h \
+ safe.h safe_open.h sane_accept.h sane_connect.h sane_fsops.h sdbm.h load_lib.h \
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 \
@@ -90,6 +92,8 @@
CFLAGS = $(DEBUG) $(OPT) $(DEFS)
FILES = Makefile $(SRCS) $(HDRS)
INCL =
+PCRESO = dict_pcre.so
+TCPSO = dict_tcp.so
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 \
@@ -104,10 +108,11 @@
diff -ruN postfix-2.6.1//src/tls/tls_client.c postfix-2.6.1-dynamic_maps.patch//src/tls/tls_client.c
--- postfix-2.6.1//src/tls/tls_client.c 2008-11-09 00:51:41.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/tls/tls_client.c 2009-05-27 12:50:33.000000000 +0200
@@ -155,6 +155,8 @@
#define STR vstring_str
#define LEN VSTRING_LEN
LIB_DIR = ../../lib
INC_DIR = ../../include
+LIBS = $(LIB_DIR)/$(LIB) $(LIB_DIR)/$(PCRESO) $(LIB_DIR)/$(TCPSO)
-.c.o:; $(CC) $(CFLAGS) -c $*.c
+.c.o:; $(CC) -fPIC $(CFLAGS) -c $*.c
-all: $(LIB)
+all: $(LIB) $(PCRESO) $(TCPSO)
$(OBJS): ../../conf/makedefs.out
@@ -116,15 +121,25 @@
test: $(TESTPROG)
+$(PCRESO): dict_pcre.o
+ gcc -shared -Wl,-soname,dict_pcre.so -o $@ $? -lpcre -L. -lutil
+int var_tls_daemon_rand_bytes;
+
+$(TCPSO): dict_tcp.o
+ gcc -shared -Wl,-soname,dict_tcp.so -o $@ $? -L. -lutil
/* load_clnt_session - load session from client cache (non-callback) */
static SSL_SESSION *load_clnt_session(TLS_SESS_STATE *TLScontext)
diff -ruN postfix-2.6.1//src/tls/tls_server.c postfix-2.6.1-dynamic_maps.patch//src/tls/tls_server.c
--- postfix-2.6.1//src/tls/tls_server.c 2008-11-09 00:51:48.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/tls/tls_server.c 2009-05-27 12:50:33.000000000 +0200
@@ -124,6 +124,8 @@
#define STR(x) vstring_str(x)
#define LEN(x) VSTRING_LEN(x)
+int var_tls_daemon_rand_bytes;
+
$(LIB): $(OBJS)
- $(AR) $(ARFL) $(LIB) $?
- $(RANLIB) $(LIB)
+ gcc -shared -Wl,-soname,libpostfix-util.so.1 -o $(LIB) $(OBJS) -ldl $(SYSLIBS)
/* Application-specific. */
$(LIB_DIR)/$(LIB): $(LIB)
cp $(LIB) $(LIB_DIR)
- $(RANLIB) $(LIB_DIR)/$(LIB)
-update: $(LIB_DIR)/$(LIB) $(HDRS)
+$(LIB_DIR)/$(PCRESO): $(PCRESO)
+ cp $(PCRESO) $(LIB_DIR)
+
+$(LIB_DIR)/$(TCPSO): $(TCPSO)
+ cp $(TCPSO) $(LIB_DIR)
+
+update: $(LIBS) $(HDRS)
-for i in $(HDRS); \
do \
cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
@@ -146,7 +161,8 @@
lint $(SRCS)
clean:
- rm -f *.o $(LIB) *core $(TESTPROG) junk $(MAKES) *.tmp
+ rm -f *.o $(LIB) $(PCRESO) $(TCPSO) *core $(TESTPROG) \
+ junk $(MAKES) *.tmp
rm -rf printfck
tidy: clean
Index: src/util/dict.h
===================================================================
--- src/util/dict.h.orig 2007-01-05 01:48:48.000000000 +0100
+++ src/util/dict.h 2007-08-06 00:02:19.799478404 +0200
@@ -66,6 +66,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 */
+#define DICT_FLAG_UPGRADE (1<<30) /* Upgrade the db */
#define DICT_FLAG_FOLD_ANY (DICT_FLAG_FOLD_FIX | DICT_FLAG_FOLD_MUL)
/* IMPORTANT: Update the dict_mask[] table when the above changes */
@@ -136,6 +137,11 @@ extern const char *dict_eval(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));
+#ifndef NO_DYNAMIC_MAPS
+extern void dict_open_dlinfo(const char *path);
+typedef void* (*dict_mkmap_func_t)(const char *);
+dict_mkmap_func_t dict_mkmap_func(const char *dict_type);
+#endif
#define dict_get(dp, key) (dp)->lookup((dp), (key))
#define dict_put(dp, key, val) (dp)->update((dp), (key), (val))
Index: src/util/dict_db.c
===================================================================
--- src/util/dict_db.c.orig 2007-01-04 15:06:07.000000000 +0100
+++ src/util/dict_db.c 2007-08-06 00:02:19.843481095 +0200
@@ -664,6 +664,12 @@ static DICT *dict_db_open(const char *cl
/*
diff -ruN postfix-2.6.1//src/util/dict_db.c postfix-2.6.1-dynamic_maps.patch//src/util/dict_db.c
--- postfix-2.6.1//src/util/dict_db.c 2007-01-04 15:06:07.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/util/dict_db.c 2009-05-27 12:50:33.000000000 +0200
@@ -664,6 +664,12 @@
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);
@ -584,11 +491,10 @@ Index: src/util/dict_db.c
#if (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);
Index: src/util/dict_dbm.c
===================================================================
--- src/util/dict_dbm.c.orig 2007-01-04 15:07:36.000000000 +0100
+++ src/util/dict_dbm.c 2007-08-06 00:02:19.867482562 +0200
@@ -407,6 +407,10 @@ DICT *dict_dbm_open(const char *path,
diff -ruN postfix-2.6.1//src/util/dict_dbm.c postfix-2.6.1-dynamic_maps.patch//src/util/dict_dbm.c
--- postfix-2.6.1//src/util/dict_dbm.c 2007-01-04 15:07:36.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/util/dict_dbm.c 2009-05-27 12:50:33.000000000 +0200
@@ -407,6 +407,10 @@
char *dbm_path;
int lock_fd;
@ -599,10 +505,32 @@ Index: src/util/dict_dbm.c
/*
* Note: DICT_FLAG_LOCK is used only by programs that do fine-grained (in
* the time domain) locking while accessing individual database records.
Index: src/util/dict_open.c
===================================================================
--- src/util/dict_open.c.orig 2006-06-26 14:59:19.000000000 +0200
+++ src/util/dict_open.c 2007-08-06 00:02:19.907485009 +0200
diff -ruN postfix-2.6.1//src/util/dict.h postfix-2.6.1-dynamic_maps.patch//src/util/dict.h
--- postfix-2.6.1//src/util/dict.h 2007-12-03 20:42:26.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/util/dict.h 2009-05-27 12:50:33.000000000 +0200
@@ -66,6 +66,7 @@
#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 */
+#define DICT_FLAG_UPGRADE (1<<30) /* Upgrade the db */
#define DICT_FLAG_FOLD_ANY (DICT_FLAG_FOLD_FIX | DICT_FLAG_FOLD_MUL)
/* IMPORTANT: Update the dict_mask[] table when the above changes */
@@ -138,6 +139,11 @@
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));
+#ifndef NO_DYNAMIC_MAPS
+extern void dict_open_dlinfo(const char *path);
+typedef void* (*dict_mkmap_func_t)(const char *);
+dict_mkmap_func_t dict_mkmap_func(const char *dict_type);
+#endif
#define dict_get(dp, key) ((const char *) (dp)->lookup((dp), (key)))
#define dict_put(dp, key, val) (dp)->update((dp), (key), (val))
diff -ruN postfix-2.6.1//src/util/dict_open.c postfix-2.6.1-dynamic_maps.patch//src/util/dict_open.c
--- postfix-2.6.1//src/util/dict_open.c 2008-01-08 22:05:20.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/util/dict_open.c 2009-05-27 12:50:33.000000000 +0200
@@ -44,6 +44,8 @@
/* DICT *(*open) (const char *, int, int);
/*
@ -612,7 +540,7 @@ Index: src/util/dict_open.c
/* DESCRIPTION
/* This module implements a low-level interface to multiple
/* physical dictionary types.
@@ -156,6 +158,9 @@
@@ -159,6 +161,9 @@
/*
/* dict_mapnames() returns a sorted list with the names of all available
/* dictionary types.
@ -622,7 +550,7 @@ Index: src/util/dict_open.c
/* DIAGNOSTICS
/* Fatal error: open error, unsupported dictionary type, attempt to
/* update non-writable dictionary.
@@ -180,6 +185,9 @@
@@ -183,6 +188,9 @@
#include <strings.h>
#endif
@ -632,7 +560,7 @@ Index: src/util/dict_open.c
/* Utility library. */
#include <argv.h>
@@ -204,6 +212,27 @@
@@ -207,6 +215,27 @@
#include <split_at.h>
#include <htable.h>
@ -660,7 +588,7 @@ Index: src/util/dict_open.c
/*
* lookup table for available map types.
*/
@@ -218,9 +247,11 @@ static DICT_OPEN_INFO dict_open_info[] =
@@ -221,9 +250,11 @@
#endif
DICT_TYPE_ENVIRON, dict_env_open,
DICT_TYPE_UNIX, dict_unix_open,
@ -672,7 +600,7 @@ Index: src/util/dict_open.c
#ifdef HAS_SDBM
DICT_TYPE_SDBM, dict_sdbm_open,
#endif
@@ -240,9 +271,11 @@ static DICT_OPEN_INFO dict_open_info[] =
@@ -243,9 +274,11 @@
#ifdef HAS_NETINFO
DICT_TYPE_NETINFO, dict_ni_open,
#endif
@ -684,7 +612,7 @@ Index: src/util/dict_open.c
#ifdef HAS_POSIX_REGEXP
DICT_TYPE_REGEXP, dict_regexp_open,
#endif
@@ -300,8 +333,31 @@ DICT *dict_open3(const char *dict_type
@@ -303,8 +336,31 @@
dict_type, dict_name);
if (dict_open_hash == 0)
dict_open_init();
@ -718,7 +646,7 @@ Index: src/util/dict_open.c
if ((dict = dp->open(dict_name, open_flags, dict_flags)) == 0)
msg_fatal("opening %s:%s %m", dict_type, dict_name);
if (msg_verbose)
@@ -309,6 +365,36 @@ DICT *dict_open3(const char *dict_type
@@ -312,6 +368,36 @@
return (dict);
}
@ -755,7 +683,7 @@ Index: src/util/dict_open.c
/* dict_open_register - register dictionary type */
void dict_open_register(const char *type,
@@ -342,6 +428,9 @@ ARGV *dict_mapnames()
@@ -345,6 +431,9 @@
HTABLE_INFO **ht;
DICT_OPEN_INFO *dp;
ARGV *mapnames;
@ -765,7 +693,7 @@ Index: src/util/dict_open.c
if (dict_open_hash == 0)
dict_open_init();
@@ -350,6 +439,13 @@ ARGV *dict_mapnames()
@@ -353,6 +442,13 @@
dp = (DICT_OPEN_INFO *) ht[0]->value;
argv_add(mapnames, dp->type, ARGV_END);
}
@ -779,7 +707,7 @@ Index: src/util/dict_open.c
qsort((void *) mapnames->argv, mapnames->argc, sizeof(mapnames->argv[0]),
dict_sort_alpha_cpp);
myfree((char *) ht_info);
@@ -357,6 +453,87 @@ ARGV *dict_mapnames()
@@ -360,6 +456,87 @@
return mapnames;
}
@ -867,10 +795,9 @@ Index: src/util/dict_open.c
#ifdef TEST
/*
Index: src/util/load_lib.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ src/util/load_lib.c 2007-08-06 00:02:19.939486966 +0200
diff -ruN postfix-2.6.1//src/util/load_lib.c postfix-2.6.1-dynamic_maps.patch//src/util/load_lib.c
--- postfix-2.6.1//src/util/load_lib.c 1970-01-01 01:00:00.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/util/load_lib.c 2009-05-27 12:50:33.000000000 +0200
@@ -0,0 +1,135 @@
+/*++
+/* NAME
@ -1007,10 +934,9 @@ Index: src/util/load_lib.c
+#endif
+ return 0;
+}
Index: src/util/load_lib.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ src/util/load_lib.h 2007-08-06 00:02:19.971488923 +0200
diff -ruN postfix-2.6.1//src/util/load_lib.h postfix-2.6.1-dynamic_maps.patch//src/util/load_lib.h
--- postfix-2.6.1//src/util/load_lib.h 1970-01-01 01:00:00.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/util/load_lib.h 2009-05-27 12:50:33.000000000 +0200
@@ -0,0 +1,41 @@
+#ifndef _LOAD_LIB_H_INCLUDED_
+#define _LOAD_LIB_H_INCLUDED_
@ -1053,10 +979,114 @@ Index: src/util/load_lib.h
+/*--*/
+
+#endif
Index: src/util/sdbm.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ src/util/sdbm.c 2007-08-06 00:02:19.995490390 +0200
diff -ruN postfix-2.6.1//src/util/Makefile.in postfix-2.6.1-dynamic_maps.patch//src/util/Makefile.in
--- postfix-2.6.1//src/util/Makefile.in 2009-04-27 14:04:22.000000000 +0200
+++ postfix-2.6.1-dynamic_maps.patch//src/util/Makefile.in 2009-05-27 16:05:55.000000000 +0200
@@ -31,15 +31,16 @@
vstream_popen.c vstring.c vstring_vstream.c watchdog.c writable.c \
write_buf.c write_wait.c sane_basename.c format_tv.c allspace.c \
allascii.c load_file.c killme_after.c vstream_tweak.c upass_connect.c \
- upass_listen.c upass_trigger.c edit_file.c inet_windowsize.c
+ upass_listen.c upass_trigger.c edit_file.c inet_windowsize.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 \
attr_scan_plain.o auto_clnt.o base64_code.o basename.o binhash.o \
chroot_uid.o cidr_match.o clean_env.o close_on_exec.o concatenate.o \
ctable.o dict.o dict_alloc.o dict_cdb.o dict_cidr.o dict_db.o \
dict_dbm.o dict_debug.o dict_env.o dict_ht.o dict_ni.o dict_nis.o \
- dict_nisplus.o dict_open.o dict_pcre.o dict_regexp.o dict_sdbm.o \
- dict_static.o dict_tcp.o dict_unix.o dir_forest.o doze.o dummy_read.o \
+ dict_nisplus.o dict_open.o dict_regexp.o dict_sdbm.o \
+ dict_static.o dict_unix.o dir_forest.o doze.o dummy_read.o \
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 \
@@ -64,7 +65,8 @@
vstream_popen.o vstring.o vstring_vstream.o watchdog.o writable.o \
write_buf.o write_wait.o sane_basename.o format_tv.o allspace.o \
allascii.o load_file.o killme_after.o vstream_tweak.o upass_connect.o \
- upass_listen.o upass_trigger.o edit_file.o inet_windowsize.o
+ upass_listen.o upass_trigger.o edit_file.o inet_windowsize.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 \
@@ -78,7 +80,7 @@
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 \
- safe.h safe_open.h sane_accept.h sane_connect.h sane_fsops.h \
+ safe.h safe_open.h sane_accept.h sane_connect.h sane_fsops.h sdbm.h load_lib.h \
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 \
@@ -91,6 +93,8 @@
CFLAGS = $(DEBUG) $(OPT) $(DEFS)
FILES = Makefile $(SRCS) $(HDRS)
INCL =
+PCRESO = dict_pcre.so
+TCPSO = dict_tcp.so
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 \
@@ -105,10 +109,11 @@
LIB_DIR = ../../lib
INC_DIR = ../../include
+LIBS = $(LIB_DIR)/$(LIB) $(LIB_DIR)/$(PCRESO) $(LIB_DIR)/$(TCPSO)
-.c.o:; $(CC) $(CFLAGS) -c $*.c
+.c.o:; $(CC) -fPIC $(CFLAGS) -c $*.c
-all: $(LIB)
+all: $(LIB) $(PCRESO) $(TCPSO)
$(OBJS): ../../conf/makedefs.out
@@ -117,15 +122,25 @@
test: $(TESTPROG)
+$(PCRESO): dict_pcre.o
+ gcc -shared -Wl,-soname,dict_pcre.so -o $@ $? -lpcre -L. -lutil
+
+$(TCPSO): dict_tcp.o
+ gcc -shared -Wl,-soname,dict_tcp.so -o $@ $? -L. -lutil
+
$(LIB): $(OBJS)
- $(AR) $(ARFL) $(LIB) $?
- $(RANLIB) $(LIB)
+ gcc -shared -Wl,-soname,libpostfix-util.so.1 -o $(LIB) $(OBJS) -ldl $(SYSLIBS)
$(LIB_DIR)/$(LIB): $(LIB)
cp $(LIB) $(LIB_DIR)
- $(RANLIB) $(LIB_DIR)/$(LIB)
-update: $(LIB_DIR)/$(LIB) $(HDRS)
+$(LIB_DIR)/$(PCRESO): $(PCRESO)
+ cp $(PCRESO) $(LIB_DIR)
+
+$(LIB_DIR)/$(TCPSO): $(TCPSO)
+ cp $(TCPSO) $(LIB_DIR)
+
+update: $(LIBS) $(HDRS)
-for i in $(HDRS); \
do \
cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
@@ -147,7 +162,8 @@
lint $(SRCS)
clean:
- rm -f *.o $(LIB) *core $(TESTPROG) junk $(MAKES) *.tmp
+ rm -f *.o $(LIB) $(PCRESO) $(TCPSO) *core $(TESTPROG) \
+ junk $(MAKES) *.tmp
rm -rf printfck
tidy: clean
diff -ruN postfix-2.6.1//src/util/sdbm.c postfix-2.6.1-dynamic_maps.patch//src/util/sdbm.c
--- postfix-2.6.1//src/util/sdbm.c 1970-01-01 01:00:00.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/util/sdbm.c 2009-05-27 12:50:33.000000000 +0200
@@ -0,0 +1,972 @@
+/*++
+/* NAME
@ -2030,10 +2060,9 @@ Index: src/util/sdbm.c
+ return db;
+}
+
Index: src/util/sdbm.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ src/util/sdbm.h 2007-08-06 00:02:20.023492103 +0200
diff -ruN postfix-2.6.1//src/util/sdbm.h postfix-2.6.1-dynamic_maps.patch//src/util/sdbm.h
--- postfix-2.6.1//src/util/sdbm.h 1970-01-01 01:00:00.000000000 +0100
+++ postfix-2.6.1-dynamic_maps.patch//src/util/sdbm.h 2009-05-27 12:50:33.000000000 +0200
@@ -0,0 +1,97 @@
+/*++
+/* NAME
@ -2132,11 +2161,10 @@ Index: src/util/sdbm.h
+#define BADMESS /* generate a message for worst case:
+ cannot make room after SPLTMAX splits */
+#endif /* UTIL_SDBM_H */
Index: src/util/sys_defs.h
===================================================================
--- src/util/sys_defs.h.orig 2007-03-24 23:45:33.000000000 +0100
+++ src/util/sys_defs.h 2007-08-06 00:02:20.039493081 +0200
@@ -689,6 +689,7 @@ extern int initgroups(const char *, int)
diff -ruN postfix-2.6.1//src/util/sys_defs.h postfix-2.6.1-dynamic_maps.patch//src/util/sys_defs.h
--- postfix-2.6.1//src/util/sys_defs.h 2009-05-11 02:45:27.000000000 +0200
+++ postfix-2.6.1-dynamic_maps.patch//src/util/sys_defs.h 2009-05-27 13:19:08.000000000 +0200
@@ -710,6 +710,7 @@
#define INTERNAL_LOCK MYFLOCK_STYLE_FLOCK
#define DEF_MAILBOX_LOCK "fcntl, dotlock" /* RedHat >= 4.x */
#define HAS_FSYNC
@ -2144,7 +2172,7 @@ Index: src/util/sys_defs.h
#define HAS_DB
#define DEF_DB_TYPE "hash"
#define ALIAS_DB_MAP "hash:/etc/aliases"
@@ -700,11 +701,25 @@ extern int initgroups(const char *, int)
@@ -721,11 +722,25 @@
#define STATFS_IN_SYS_VFS_H
#define PREPEND_PLUS_TO_OPTSTRING
#define HAS_POSIX_REGEXP
@ -2167,10 +2195,10 @@ Index: src/util/sys_defs.h
+#else
#define NATIVE_DAEMON_DIR "/usr/libexec/postfix"
+#endif
#if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1
#define SOCKADDR_SIZE socklen_t
#define SOCKOPT_SIZE socklen_t
@@ -859,6 +874,7 @@ extern int h_errno; /* <netdb.h> impor
#ifdef __GLIBC_PREREQ
# define HAVE_GLIBC_API_VERSION_SUPPORT(maj, min) __GLIBC_PREREQ(maj, min)
#else
@@ -891,6 +906,7 @@
#define USE_STATFS
#define STATFS_IN_SYS_VFS_H
#define HAS_POSIX_REGEXP
@ -2178,7 +2206,7 @@ Index: src/util/sys_defs.h
#define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
#define NATIVE_MAILQ_PATH "/usr/bin/mailq"
#define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
@@ -896,6 +912,7 @@ extern int h_errno; /* <netdb.h> impor
@@ -928,6 +944,7 @@
#define USE_STATFS
#define STATFS_IN_SYS_VFS_H
#define HAS_POSIX_REGEXP
@ -2186,7 +2214,7 @@ Index: src/util/sys_defs.h
#define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail"
#define NATIVE_MAILQ_PATH "/usr/bin/mailq"
#define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
@@ -935,6 +952,7 @@ extern int h_errno;
@@ -967,6 +984,7 @@
#define USE_STATFS
#define STATFS_IN_SYS_VFS_H
#define HAS_POSIX_REGEXP
@ -2194,56 +2222,3 @@ Index: src/util/sys_defs.h
#define NATIVE_SENDMAIL_PATH "/usr/bin/sendmail"
#define NATIVE_MAILQ_PATH "/usr/bin/mailq"
#define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases"
Index: src/tls/tls_client.c
===================================================================
--- src/tls/tls_client.c.orig 2007-02-22 01:08:45.000000000 +0100
+++ src/tls/tls_client.c 2007-08-06 00:02:20.079495528 +0200
@@ -147,6 +147,8 @@
#define STR vstring_str
#define LEN VSTRING_LEN
+int var_tls_daemon_rand_bytes;
+
/* load_clnt_session - load session from client cache (non-callback) */
static SSL_SESSION *load_clnt_session(TLScontext_t *TLScontext)
Index: src/tls/tls_server.c
===================================================================
--- src/tls/tls_server.c.orig 2007-02-22 01:08:45.000000000 +0100
+++ src/tls/tls_server.c 2007-08-06 00:02:20.095496506 +0200
@@ -120,6 +120,8 @@
#define STR(x) vstring_str(x)
#define LEN(x) VSTRING_LEN(x)
+int var_tls_daemon_rand_bytes;
+
/* Application-specific. */
/* We must keep some of the info available */
Index: src/milter/Makefile.in
===================================================================
--- src/milter/Makefile.in.orig 2007-03-17 18:51:39.000000000 +0100
+++ src/milter/Makefile.in 2007-08-06 00:02:20.211503600 +0200
@@ -14,7 +14,7 @@ LIB_DIR = ../../lib
INC_DIR = ../../include
MAKES =
-.c.o:; $(CC) $(CFLAGS) -c $*.c
+.c.o:; $(CC) -fPIC $(CFLAGS) -c $*.c
all: $(LIB)
@@ -30,12 +30,10 @@ tests:
root_tests:
$(LIB): $(OBJS)
- $(AR) $(ARFL) $(LIB) $?
- $(RANLIB) $(LIB)
+ gcc -shared -Wl,-soname,libpostfix-milter.so.1 -o $(LIB) $(OBJS) $(LIBS) $(SYSLIBS)
$(LIB_DIR)/$(LIB): $(LIB)
cp $(LIB) $(LIB_DIR)
- $(RANLIB) $(LIB_DIR)/$(LIB)
update: $(LIB_DIR)/$(LIB) $(HDRS)
-for i in $(HDRS); \

View File

@ -0,0 +1,42 @@
diff -ruN postfix-2.2.9-orig/conf/main.cf postfix-2.2.9/conf/main.cf
--- postfix-2.2.9-orig/conf/main.cf 2005-03-04 17:48:25.000000000 +0000
+++ postfix-2.2.9/conf/main.cf 2008-08-04 19:08:01.086201423 +0000
@@ -405,7 +405,7 @@
# "Maildir/" for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
-#home_mailbox = Maildir/
+home_mailbox = Maildir/
# The mail_spool_directory parameter specifies the directory where
# UNIX-style mailboxes are kept. The default setting depends on the
@@ -642,3 +642,29 @@
# readme_directory: The location of the Postfix README files.
#
readme_directory =
+
+
+############################################################
+# Start MySQL from postfixwiki.org
+############################################################
+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_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
+#virtual_transport = virtual
+## Additional for quota support
+#virtual_create_maildirsize = yes
+#virtual_mailbox_extended = yes
+#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_overquota_bounce = yes
+relay_domains = $mydestination, hash:/etc/postfix/relay
+############################################################
+# End MySQL from postfixwiki.org
+############################################################
+

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:59d810fde87c73dc50d309051e726a1ad25f5ea081aa1d0fe00dc9d6aa4405f1
size 2304976

View File

@ -0,0 +1,225 @@
diff -uNr postfix-2.5.6-vda-ng.orig/src/util/vbuf_print.c postfix-2.5.6/src/util/vbuf_print.c
--- postfix-2.5.6-vda-ng.orig/src/util/vbuf_print.c 2006-12-10 18:13:07.000000000 +0100
+++ postfix-2.5.6/src/util/vbuf_print.c 2008-08-25 12:20:41.032890016 +0200
@@ -193,8 +193,13 @@
msg_warn("%s: bad precision %d in %.50s", myname, prec, format);
prec = 0;
}
- if ((long_flag = (*cp == 'l')) != 0)/* long whatever */
+ if ((long_flag = (*cp == 'l')) != 0) { /* long whatever */
VSTRING_ADDCH(fmt, *cp++);
+ if (*cp == 'l') { /* we have long long param */
+ long_flag = 2;
+ VSTRING_ADDCH(fmt, *cp++);
+ }
+ }
if (*cp == 0) /* premature end, punt */
break;
VSTRING_ADDCH(fmt, *cp); /* type (checked below) */
@@ -226,8 +231,10 @@
case 'X':
if (VBUF_SPACE(bp, (width > prec ? width : prec) + INT_SPACE))
return (bp);
- if (long_flag)
+ if (long_flag == 1)
sprintf((char *) bp->ptr, vstring_str(fmt), va_arg(ap, long));
+ else if (long_flag == 2)
+ sprintf((char *) bp->ptr, vstring_str(fmt), va_arg(ap, long long));
else
sprintf((char *) bp->ptr, vstring_str(fmt), va_arg(ap, int));
VBUF_SKIP(bp);
diff -uNr postfix-2.5.6-vda-ng.orig/src/virtual/mailbox.c postfix-2.5.6/src/virtual/mailbox.c
--- postfix-2.5.6-vda-ng.orig/src/virtual/mailbox.c 2008-08-25 11:57:48.000000000 +0200
+++ postfix-2.5.6/src/virtual/mailbox.c 2008-08-25 12:20:41.032890016 +0200
@@ -120,7 +120,6 @@
myname, usr_attr.mailbox, OFF_T_MAX);
}
else {
- /* Invalid limit size (negative). Use default virtual_mailbox_limit. */
set_file_limit(var_virt_mailbox_limit);
status = NO;
}
diff -uNr postfix-2.5.6-vda-ng.orig/src/virtual/maildir.c postfix-2.5.6/src/virtual/maildir.c
--- postfix-2.5.6-vda-ng.orig/src/virtual/maildir.c 2008-08-25 11:57:48.000000000 +0200
+++ postfix-2.5.6/src/virtual/maildir.c 2008-08-25 12:20:41.033889864 +0200
@@ -65,6 +65,8 @@
/* Patch library. */
+#include <syslog.h>
+#include <stdint.h>
#include <sys/types.h> /* opendir(3), stat(2) */
#include <sys/stat.h> /* stat(2) */
#include <dirent.h> /* opendir(3) */
@@ -98,14 +100,14 @@
* Returns the size of all mails as read from maildirsize,
* zero if it couldn't read the file.
*/
-static long read_maildirsize(char *dirname, long *countptr)
+static uint64_t read_maildirsize(char *dirname, uint64_t *countptr)
{
struct stat statbuf;
VSTRING *sizefilename = vstring_alloc(1024);
VSTREAM *sizefile;
char *p;
int len, first;
- long sum = 0, count = 0;
+ uint64_t sum = 0, count = 0;
vstring_sprintf(sizefilename, "%s/%s", dirname, "maildirsize");
@@ -128,7 +130,7 @@
first = 1;
while (*p) {
- long n = 0, c = 0;
+ uint64_t n = 0, c = 0;
char *q = p;
while (*p) {
@@ -143,7 +145,7 @@
continue;
}
- if(sscanf(q, "%ld %ld", &n, &c) == 2) {
+ if(sscanf(q, "%llu %llu", &n, &c) == 2) {
sum += n;
count += c;
}
@@ -179,7 +181,7 @@
* Returns the size given in ",S=<size>" in the filename,
* zero if it cannot find ",S=<size>" in the filename.
*/
-static long maildir_parsequota(const char *n)
+static uint64_t maildir_parsequota(const char *n)
{
const char *o;
int yes = 0;
@@ -204,7 +206,7 @@
}
if (yes) {
- long s = 0;
+ uint64_t s = 0;
while (*o >= '0' && *o <= '9')
s = s*10 + (*o++ - '0');
@@ -231,17 +233,17 @@
* Returns the sum of the sizes of all measurable files,
* zero if the directory could not be opened.
*/
-static long check_dir_size(char *dirname, long *countptr)
+static uint64_t check_dir_size(char *dirname, uint64_t *countptr)
{
char *myname = "check_dir_size";
DIR *dir;
- long sum = 0;
+ uint64_t sum = 0;
struct dirent *ent;
struct stat statbuf;
if (!var_virt_mailbox_limit_inbox && var_virt_maildir_extended && (sum = read_maildirsize(dirname, countptr))) {
if (msg_verbose)
- msg_info("%s: maildirsize used: dir=%s sum=%ld count=%ld", myname, dirname, sum, *countptr);
+ msg_info("%s: maildirsize used: dir=%s sum=%llu count=%llu", myname, dirname, sum, *countptr);
return sum;
}
@@ -262,7 +264,7 @@
while ((ent = readdir(dir)) != NULL) {
char *name = ent->d_name;
- long tmpsum = 0;
+ uint64_t tmpsum = 0;
VSTRING *buffer;
if (var_virt_trash_count) {
@@ -325,7 +327,7 @@
closedir(dir);
if (msg_verbose)
- msg_info("%s: full scan done: dir=%s sum=%ld count=%ld", myname, dirname, sum, *countptr);
+ msg_info("%s: full scan done: dir=%s sum=%llu count=%llu", myname, dirname, sum, *countptr);
return sum;
}
@@ -443,9 +445,9 @@
char *sizefilename = (char *) 0; /* Maildirsize file name. */
VSTRING *filequota; /* Quota setting from the maildirsize file. */
VSTREAM *sizefile; /* Maildirsize file handle. */
- long n = 0; /* Limit in long integer format. */
- long saved_count = 0; /* The total number of files. */
- long saved_size = 0; /* The total quota of all files. */
+ uint64_t n = 0; /* Limit in long integer format. */
+ uint64_t saved_count = 0; /* The total number of files. */
+ uint64_t saved_size = 0; /* The total quota of all files. */
struct stat mail_stat; /* To check the size of the mail to be written. */
struct stat sizefile_stat; /* To check the size of the maildirsize file. */
time_t tm; /* To check the age of the maildirsize file. */
@@ -520,7 +522,8 @@
* warn the user, else use the value directly as the maildir limit.
*/
if (*var_virt_mailbox_limit_maps != 0 && (limit_res = mail_addr_find(virtual_mailbox_limit_maps, state.msg_attr.user, (char **) NULL)) != 0) {
- n = atol(limit_res);
+ /* if there is some unexpected char in limit_res var, n will be zero! */
+ n = strtoull(limit_res, NULL, 10);
if (n > 0) {
if ((n < var_message_limit) && (!var_virt_mailbox_limit_override)) {
n = var_virt_mailbox_limit;
@@ -535,13 +538,13 @@
}
else {
if (msg_verbose)
- msg_info("%s: set virtual maildir limit size for %s to %ld",
+ msg_info("%s: set virtual maildir limit size for %s to %llu",
myname, usr_attr.mailbox, n);
}
}
else if (n == 0) {
if (msg_verbose)
- msg_info("%s: set virtual maildir limit size for %s to %ld",
+ msg_info("%s: set virtual maildir limit size for %s to %llu",
myname, usr_attr.mailbox, n);
}
else {
@@ -662,7 +665,7 @@
*/
if (stat(tmpfile, &mail_stat) == 0) {
if (n != 0) {
- saved_size += (long) mail_stat.st_size;
+ saved_size += (uint64_t) mail_stat.st_size;
saved_count++;
}
if (var_virt_maildir_extended) {
@@ -866,7 +869,9 @@
filequota = vstring_alloc(128);
vstring_get_null_bound(filequota, sizefile, 127);
vstream_fclose(sizefile);
- if (atol(vstring_export(filequota)) != n)
+ /* if there will be some unexpected char in filequota var, strtoull() return 0
+ and this probably != n, so file will be rewritten */
+ if (strtoull(vstring_export(filequota), NULL, 10) != n)
unlink(sizefilename);
}
@@ -886,7 +891,7 @@
/* If the creation worked, write to the file, otherwise just give up. */
if (sizefile) {
- vstream_fprintf(sizefile, "%ldS\n%ld %ld\n", n, saved_size, saved_count);
+ vstream_fprintf(sizefile, "%lluS\n%llu %llu\n", n, saved_size, saved_count);
vstream_fclose(sizefile);
}
}
diff -uNr postfix-2.5.6-vda-ng.orig/src/virtual/Makefile.in postfix-2.5.6/src/virtual/Makefile.in
--- postfix-2.5.6-vda-ng.orig/src/virtual/Makefile.in 2007-03-17 18:51:46.000000000 +0100
+++ postfix-2.5.6/src/virtual/Makefile.in 2008-08-25 12:20:41.034889712 +0200
@@ -4,7 +4,7 @@
HDRS = virtual.h
TESTSRC =
DEFS = -I. -I$(INC_DIR) -D$(SYSTYPE)
-CFLAGS = $(DEBUG) $(OPT) $(DEFS)
+CFLAGS = $(DEBUG) $(OPT) $(DEFS) -std=gnu99
PROG = virtual
TESTPROG=
INC_DIR = ../../include

1459
postfix-2.6.1-vda-ng.patch Normal file

File diff suppressed because it is too large Load Diff

3
postfix-2.6.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:09fd1b79d900b42e41c9f3ed31c6400dfb6e0d2955aed27d76d5e464bf2d09c9
size 2438713

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e9732abe32e8eebb4fb53a2e338cc31d2307f96af303f6f5d2b0993040684c2
size 18111
oid sha256:81bb95c7b712f3ac4a1356917992e7c5e650e03b192f9a35117351360386cc97
size 21145

3
postfix-mysql.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cff3c067d45ff6a9c7ce1c7ac47c155955fe55b965ef1bf030b1bd912ce55479
size 1743

View File

@ -1,3 +1,75 @@
-------------------------------------------------------------------
Mon Sep 28 09:22:54 CEST 2009 - varkoly@suse.de
- bnc#540538 postfix-2.6.1-10.1 installs new files in /etc/postfix and does not generate <file>.db
- bnc#519438 - Postfix: Running chrooted lets qmgr loosing his syslog-socket
- remove obsolate version tests from SuSEconfig.postfix
-------------------------------------------------------------------
Mon Sep 28 08:24:43 CEST 2009 - varkoly@suse.de
- bnc#525825 - when using cyrus in a chroot environment Suseconfig does not
create socket /var/lib/imap/socket/lmtp
-------------------------------------------------------------------
Mon Sep 14 11:34:41 UTC 2009 - chris@computersalat.de
- spec
o fdupes if >= 1100
-------------------------------------------------------------------
Thu Sep 10 21:22:46 CEST 2009 - chris@computersalat.de
- update to 2.6.1
o merge home:varkoly:Factory and o:F
- spec mods
o use of getent
- rpmlint
o remove unneeded dists from examples/chroot-setup/
o postin-without-ldconfig
o files-duplicate /usr/share/doc/packages/postfix-doc/html/
o files-duplicate /usr/share/man/man?
-------------------------------------------------------------------
Mon Apr 13 18:21:14 UTC 2009 - chris@computersalat.de
- added VDA patch
o Mailbox / Maildir size limit, known also as "soft quota",
to avoid user take all you disk space
o Customizable "limit" message when the soft quota limit is reached.
NOTE: message is sent to senders, but NOT to the owner of the mailbox.
o Limit only 'INBOX', because some people use IMAP and don't want
the same limit in IMAP folder that are differents from INBOX.
o Support for 'Courier' style Maildir, usefull for people that
use courier as pop3/imap server and to get fast soft quota summary.
Note that it is also compatible with qmail maildir per default.
o Supports for Courier 'maildirsize' file in Maildir folder that
is used to read quotas quickly. Note that this option is not
actived per default and can be dangerous on some NFS client
implementation
(like for example Solaris that cache some filesystem operations).
o Customisable suffix for Maildir support, when share same external
dict between postfix and pop3/imap server sometime "Maildir/" suffix
is needed to avoid extra database handling (eg LDAP, MySQL...).
- some improvements of SuSEconfig.postfix
o POSTFIX_LISTEN: Comma separated list of IP's
o POSTFIX_INET_PROTO: ipv4, ipv6, all
o POSTFIX_MYHOSTNAME: define SMTPs FQHOSTNAME
o POSTFIX_WITH_MYSQL: when using MySQL as backend
o POSTFIX_BASIC_SPAM_PREVENTION: "custom"
you can now define your own rules
- POSTFIX_SMTPD_CLIENT_RESTRICTIONS
- POSTFIX_SMTPD_HELO_RESTRICTIONS
- POSTFIX_SMTPD_SENDER_RESTRICTIONS
- POSTFIX_SMTPD_RECIPIENT_RESTRICTIONS
- added helo_access for helo checks
- added relay for relaying domain
- added MySQL stuff when using MySQL as backend (virtuser)
o you should consider postfixAdmin as mgmnt interface
o when runninng postfix chrooted:
you have to run SUSEconfig each time when you have restarted MySQL
because of linking mysql.sock
-------------------------------------------------------------------
Sun Mar 29 15:18:52 CEST 2009 - varkoly@suse.de

View File

@ -1,5 +1,5 @@
#
# spec file for package postfix (Version 2.5.6)
# spec file for package postfix (Version 2.6.1)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -17,69 +17,53 @@
# norootforbuild
%define usetls 1
Name: postfix
#!BuildIgnore: sendmail
BuildRequires: db-devel mysql-devel openldap2-devel pcre-devel postgresql-devel
# require pwdutils to make postinstall script check work
BuildRequires: pwdutils
%define usetls 1
Url: http://www.postfix.org/
Summary: A fast, secure, and flexible mailer
Version: 2.6.1
Release: 1
License: IBM Public License ..
Group: Productivity/Networking/Email/Servers
Provides: smtp_daemon
Conflicts: sendmail exim
Url: http://www.postfix.org/
AutoReqProv: on
Summary: A fast, secure, and flexible mailer
Version: 2.5.6
Release: 5
Source: postfix-%{version}.tar.bz2
Source1: postfix-SuSE.tar.gz
Source: %{name}-%{version}.tar.bz2
Source1: %{name}-SuSE.tar.gz
Source2: %{name}-mysql.tar.bz2
Source10: rpmlintrc
Patch: dynamic_maps.patch
Patch1: dynamic_maps_pie.patch
Patch2: pointer_to_literals.patch
Patch3: ipv6_disabled.patch
PreReq: /usr/sbin/useradd /usr/sbin/groupadd %insserv_prereq %fillup_prereq /bin/sed /bin/awk /bin/grep textutils sh-utils fileutils pcre openldap2-client netcfg
Patch10: %{name}-2.2.9-main.cf.patch
Patch11: %{name}-%{version}-vda-ng.patch
Patch12: %{name}-%{version}-vda-ng-64bit.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: %insserv_prereq %fillup_prereq
PreReq: /usr/bin/getent
PreReq: /usr/sbin/useradd /usr/sbin/groupadd
PreReq: /bin/sed /bin/awk /bin/grep
PreReq: textutils sh-utils fileutils pcre openldap2-client netcfg
BuildRequires: db-devel
BuildRequires: mysql-devel
BuildRequires: openldap2-devel pcre-devel postgresql-devel
# require pwdutils to make postinstall script check work
BuildRequires: pwdutils
%if 0%{?suse_version} >= 1100
BuildRequires: fdupes
%endif
#
%package mysql
License: IBM Public License ..
Summary: Postfix plugin to support MySQL maps
AutoReqProv: on
Group: Productivity/Networking/Email/Servers
PreReq: %{name} = %{version}
#
%package postgresql
License: IBM Public License ..
Summary: Postfix plugin to support PostgreSQL maps
AutoReqProv: on
Group: Productivity/Networking/Email/Servers
PreReq: %{name} = %{version}
#
%package devel
License: IBM Public License ..
Summary: Development headers for the postfix package
AutoReqProv: on
Group: Productivity/Networking/Email/Servers
PreReq: %{name} = %{version}
%package doc
License: IBM Public License ..
Summary: Documentations for the postfix package
AutoReqProv: on
Group: Productivity/Networking/Email/Servers
PreReq: %{name} = %{version}
Conflicts: sendmail exim
Provides: smtp_daemon
#
# Some defines
#
%define postfixfiles postfix.filelist
%define pf_config_directory /etc/postfix
%define pf_daemon_directory /usr/lib/postfix
%define pf_docdir %{_docdir}/%{name}-doc
%define postfixfiles %{name}.filelist
%define pf_config_directory /etc/%{name}
%define pf_daemon_directory /usr/lib/%{name}
%define pf_command_directory /usr/sbin
%define pf_queue_directory var/spool/postfix
%define pf_queue_directory var/spool/%{name}
%define pf_sendmail_path /usr/sbin/sendmail
%define pf_newaliases_path /usr/bin/newaliases
%define pf_mailq_path /usr/bin/mailq
@ -87,22 +71,102 @@ PreReq: %{name} = %{version}
%define pf_readme_directory %{_docdir}/%{name}-doc/README_FILES
%define pf_html_directory %{_docdir}/%{name}-doc/html
%define pf_sample_directory %{_docdir}/%{name}-doc/samples
%define pf_data_directory /var/lib/postfix
%define postfix_uid 51
%define postfix_gid 51
%define pf_data_directory /var/lib/%{name}
%define pf_uid 51
%define pf_gid 51
%define maildrop_gid 59
%define conf_backup_dir /var/adm/backup/postfix
%define conf_backup_dir /var/adm/backup/%{name}
%define omc_pdir /usr/share/omc/
%define omc_dir /usr/share/omc/svcinfo.d/
#
%define vmusr vmail
%define vmgid 303
%define vmid 303
%define vmdir /srv/maildirs
#
# ---------------------------------------------------------------------------
%description
Postfix aims to be an alternative to the widely-used sendmail program.
Authors:
--------
Wietse Venema <wietse@porcupine.org>
%package devel
Summary: Development headers for the postfix package
License: IBM Public License ..
Group: Development/Libraries/C and C++
AutoReqProv: on
PreReq: %{name} = %{version}
%description devel
Postfix aims to be an alternative to the widely-used sendmail program.
Authors:
--------
Wietse Venema <wietse@porcupine.org>
%package doc
Summary: Documentations for the postfix package
License: IBM Public License ..
Group: Productivity/Networking/Email/Servers
%description doc
Postfix aims to be an alternative to the widely-used sendmail program.
This package contains the documentation for %{name}
Authors:
--------
Wietse Venema <wietse@porcupine.org>
%package mysql
Summary: Postfix plugin to support MySQL maps
License: IBM Public License ..
Group: Productivity/Networking/Email/Servers
AutoReqProv: on
PreReq: %{name} = %{version}
%description mysql
Postfix plugin to support MySQL maps. This library will be loaded by
starting %{name} if you'll access a postmap which is stored in mysql.
Authors:
--------
Wietse Venema <wietse@porcupine.org>
%package postgresql
Summary: Postfix plugin to support PostgreSQL maps
License: IBM Public License ..
Group: Productivity/Networking/Email/Servers
AutoReqProv: on
PreReq: %{name} = %{version}
%description postgresql
Postfix plugin to support PostgreSQL maps. This library will be loaded
by starting %{name} if you'll access a postmap which is stored in
PostgreSQL.
Authors:
--------
Wietse Venema <wietse@porcupine.org>
%prep
%setup -n postfix-%{version} -a 1
%patch
%setup -n %{name}-%{version} -a 1 -a 2
%patch -p1
%patch1
%patch2 -p1
%patch3 -p1
%patch10 -p1
%patch11 -p1
%ifarch x86_64
%patch12 -p1
%endif
# ---------------------------------------------------------------------------
%build
@ -124,16 +188,16 @@ export PIE=-pie
make makefiles DEBUG=""
cd lib
for i in dns global master tls util milter; do
ln -sf lib${i}.a libpostfix-${i}.so.1.0.1;
ln -sf lib${i}.a lib%{name}-${i}.so.1.0.1;
done
cd -
make LD_LIBRARY_PATH=$(pwd)/lib:${LD_LIBRARY_PATH}
# ---------------------------------------------------------------------------
%install
/usr/sbin/groupadd -g %{postfix_gid} -o -r postfix 2> /dev/null || :
/usr/sbin/groupadd -g %{pf_gid} -o -r %{name} 2> /dev/null || :
/usr/sbin/groupadd -g %{maildrop_gid} -o -r maildrop 2> /dev/null || :
/usr/sbin/useradd -r -o -g postfix -u %{postfix_uid} -s /bin/false -c "Postfix Daemon" -d /%{pf_queue_directory} postfix 2> /dev/null || :
/usr/sbin/useradd -r -o -g %{name} -u %{pf_uid} -s /bin/false -c "Postfix Daemon" -d /%{pf_queue_directory} %{name} 2> /dev/null || :
mkdir -p $RPM_BUILD_ROOT/%{_libdir}
install lib/*.1 $RPM_BUILD_ROOT/%{_libdir}
for i in $RPM_BUILD_ROOT/%{_libdir}/*.1; do
@ -170,17 +234,17 @@ mkdir -p $RPM_BUILD_ROOT/%{_libdir}/sasl2
mkdir -p $RPM_BUILD_ROOT/usr/sbin
mkdir -p $RPM_BUILD_ROOT/%{conf_backup_dir}
mkdir -p $RPM_BUILD_ROOT/%{pf_sample_directory}
mkdir -p $RPM_BUILD_ROOT/usr/include/postfix
mkdir -p $RPM_BUILD_ROOT/usr/include/%{name}
mkdir -p $RPM_BUILD_ROOT/etc/pam.d
install -m 644 postfix-SuSE/smtp $RPM_BUILD_ROOT/etc/pam.d/smtp
install -m 644 %{name}-SuSE/smtp $RPM_BUILD_ROOT/etc/pam.d/smtp
#mkdir samples
install -m 755 postfix-SuSE/rc.postfix $RPM_BUILD_ROOT/etc/init.d/postfix
ln -sf ../etc/init.d/postfix $RPM_BUILD_ROOT/sbin/rcpostfix
install -m 755 %{name}-SuSE/rc.%{name} $RPM_BUILD_ROOT/etc/init.d/%{name}
ln -sf ../etc/init.d/%{name} $RPM_BUILD_ROOT/sbin/rc%{name}
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
rm -f $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.postfix
sed -e 's;@lib@;%{_lib};g' postfix-SuSE/sysconfig.postfix > $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.postfix
install -m 644 postfix-SuSE/sysconfig.mail-postfix $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.mail-postfix
rm -f $RPM_BUILD_ROOT/sbin/conf.d/SuSEconfig.postfix
rm -f $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.%{name}
sed -e 's;@lib@;%{_lib};g' %{name}-SuSE/sysconfig.%{name} > $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.%{name}
install -m 644 %{name}-SuSE/sysconfig.mail-%{name} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.mail-%{name}
rm -f $RPM_BUILD_ROOT/sbin/conf.d/SuSEconfig.%{name}
sed -e 's;@lib@;%{_lib};g' \
-e 's;@conf_backup_dir@;%{conf_backup_dir};' \
-e 's;@daemon_directory@;%{pf_daemon_directory};' \
@ -191,25 +255,27 @@ sed -e 's;@lib@;%{_lib};g' \
-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};' postfix-SuSE/SuSEconfig.postfix \
> $RPM_BUILD_ROOT/sbin/conf.d/SuSEconfig.postfix
chmod 755 $RPM_BUILD_ROOT/sbin/conf.d/SuSEconfig.postfix
install -m 644 postfix-SuSE/master.cf $RPM_BUILD_ROOT/etc/postfix/master.cf
install -m 644 postfix-SuSE/dynamicmaps.cf $RPM_BUILD_ROOT/etc/postfix/dynamicmaps.cf
install -m 644 postfix-SuSE/permissions $RPM_BUILD_ROOT/etc/permissions.d/postfix
install -m 644 postfix-SuSE/sender_canonical $RPM_BUILD_ROOT/etc/postfix/sender_canonical
install -m 644 postfix-SuSE/relay_ccerts $RPM_BUILD_ROOT/etc/postfix/relay_ccerts
install -m 600 postfix-SuSE/sasl_passwd $RPM_BUILD_ROOT/etc/postfix/sasl_passwd
-e 's;@mailq_path@;%{pf_mailq_path};' %{name}-SuSE/SuSEconfig.%{name} \
> $RPM_BUILD_ROOT/sbin/conf.d/SuSEconfig.%{name}
chmod 755 $RPM_BUILD_ROOT/sbin/conf.d/SuSEconfig.%{name}
install -m 644 %{name}-SuSE/master.cf $RPM_BUILD_ROOT/etc/%{name}/master.cf
install -m 644 %{name}-SuSE/dynamicmaps.cf $RPM_BUILD_ROOT/etc/%{name}/dynamicmaps.cf
install -m 644 %{name}-SuSE/helo_access $RPM_BUILD_ROOT/etc/postfix/helo_access
install -m 644 %{name}-SuSE/permissions $RPM_BUILD_ROOT/etc/permissions.d/%{name}
install -m 644 %{name}-SuSE/sender_canonical $RPM_BUILD_ROOT/etc/%{name}/sender_canonical
install -m 644 %{name}-SuSE/relay $RPM_BUILD_ROOT/etc/postfix/relay
install -m 644 %{name}-SuSE/relay_ccerts $RPM_BUILD_ROOT/etc/%{name}/relay_ccerts
install -m 600 %{name}-SuSE/sasl_passwd $RPM_BUILD_ROOT/etc/%{name}/sasl_passwd
mkdir -p $RPM_BUILD_ROOT/etc/sasl2
install -m 600 postfix-SuSE/smtpd.conf $RPM_BUILD_ROOT/etc/sasl2/smtpd.conf
install -m 644 postfix-SuSE/openssl_postfix.conf.in $RPM_BUILD_ROOT/etc/postfix/openssl_postfix.conf.in
install -m 755 postfix-SuSE/mkpostfixcert $RPM_BUILD_ROOT/usr/sbin/mkpostfixcert
install -m 600 %{name}-SuSE/smtpd.conf $RPM_BUILD_ROOT/etc/sasl2/smtpd.conf
install -m 644 %{name}-SuSE/openssl_%{name}.conf.in $RPM_BUILD_ROOT/etc/%{name}/openssl_%{name}.conf.in
install -m 755 %{name}-SuSE/mk%{name}cert $RPM_BUILD_ROOT/usr/sbin/mk%{name}cert
rm -rf $RPM_BUILD_ROOT/%{pf_queue_directory}
install -m 644 postfix-SuSE/master.cf $RPM_BUILD_ROOT/%{conf_backup_dir}/master.cf
install -m 644 %{name}-SuSE/master.cf $RPM_BUILD_ROOT/%{conf_backup_dir}/master.cf
mkdir -p $RPM_BUILD_ROOT/%{omc_dir}
install -m 644 postfix-SuSE/postfix.xml $RPM_BUILD_ROOT/%{omc_dir}
install -m 644 %{name}-SuSE/%{name}.xml $RPM_BUILD_ROOT/%{omc_dir}
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/
install -m 644 postfix-SuSE/postfix-fw $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/postfix
install -m 644 %{name}-SuSE/%{name}-fw $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/%{name}
{
cat<<EOF
#
@ -222,8 +288,8 @@ cat<<EOF
#
EOF
cat conf/main.cf
} > $RPM_BUILD_ROOT/etc/postfix/main.cf
$RPM_BUILD_ROOT/usr/sbin/postconf -c $RPM_BUILD_ROOT/etc/postfix \
} > $RPM_BUILD_ROOT/etc/%{name}/main.cf
$RPM_BUILD_ROOT/usr/sbin/postconf -c $RPM_BUILD_ROOT/etc/%{name} \
-e "manpage_directory = %{_mandir}" \
"setgid_group = %{pf_setgid_group}" \
"mailq_path = %{pf_mailq_path}" \
@ -235,7 +301,7 @@ $RPM_BUILD_ROOT/usr/sbin/postconf -c $RPM_BUILD_ROOT/etc/postfix \
"daemon_directory = %{pf_daemon_directory}" \
"biff = no" \
"inet_protocols = all"
install -m 644 $RPM_BUILD_ROOT/etc/postfix/main.cf $RPM_BUILD_ROOT/%{conf_backup_dir}/main.cf
install -m 644 $RPM_BUILD_ROOT/etc/%{name}/main.cf $RPM_BUILD_ROOT/%{conf_backup_dir}/main.cf
# -----------------------------------------------------------------------
# preparing /etc/postfix/postfix-files to be able to use postfix
# own upgrade script. Unfortunately it looks in postfix-files and
@ -244,17 +310,17 @@ install -m 644 $RPM_BUILD_ROOT/etc/postfix/main.cf $RPM_BUILD_ROOT/%{conf_backup
# also remove the both sql dictionary libs as they will not be installed
# per default
# -----------------------------------------------------------------------
rm -f $RPM_BUILD_ROOT/etc/postfix/aliases
rm -f $RPM_BUILD_ROOT/etc/postfix/postfix-files
sed 's;^$config_directory/aliases\(.*\);/etc/aliases\1;' conf/postfix-files \
| grep -v '^$manpage_directory' | grep -Ev 'dict_(mysql|pgsql)' > $RPM_BUILD_ROOT/etc/postfix/postfix-files
rm -f $RPM_BUILD_ROOT/etc/%{name}/aliases
rm -f $RPM_BUILD_ROOT/etc/%{name}/%{name}-files
sed 's;^$config_directory/aliases\(.*\);/etc/aliases\1;' conf/%{name}-files \
| grep -v '^$manpage_directory' | grep -Ev 'dict_(mysql|pgsql)' > $RPM_BUILD_ROOT/etc/%{name}/%{name}-files
rm -f %{postfixfiles}
test -f conf/postfix-files || {
echo "conf/postfix-files does not exist!"
test -f conf/%{name}-files || {
echo "conf/%{name}-files does not exist!"
exit 1
}
echo "%defattr(-,root,root)" >> %{postfixfiles}
exec <conf/postfix-files
exec <conf/%{name}-files
while IFS=: read path type owner group mode flags junk; do
owner=${owner/\$mail_owner/postfix}
group=${group/\$setgid_group/%{pf_setgid_group}}
@ -264,72 +330,99 @@ while IFS=: read path type owner group mode flags junk; do
group=${group/-/root}
echo "%dir %attr($mode,$owner,$group) $path/" >> %{postfixfiles}
mkdir -m $mode -p $RPM_BUILD_ROOT/$path
printf '%%-38s %%-18s %%04d\n' $path "${owner}.${group}" $mode >> $RPM_BUILD_ROOT/etc/permissions.d/postfix
printf '%%-38s %%-18s %%04d\n' $path "${owner}.${group}" $mode >> $RPM_BUILD_ROOT/etc/permissions.d/%{name}
;;
\$command_directory/*)
path=${path/\$command_directory/\/usr\/sbin}
group=${group/-/root}
echo "%attr($mode,$owner,$group) $path" >> %{postfixfiles}
printf '%%-38s %%-18s %%04d\n' $path "${owner}.${group}" $mode >> $RPM_BUILD_ROOT/etc/permissions.d/postfix
printf '%%-38s %%-18s %%04d\n' $path "${owner}.${group}" $mode >> $RPM_BUILD_ROOT/etc/permissions.d/%{name}
;;
*) continue;;
esac
done
# postfix-mysql
install -m 644 %{name}-mysql/main.cf-mysql $RPM_BUILD_ROOT/etc/%{name}/main.cf-mysql
install -m 640 %{name}-mysql/*_maps.cf $RPM_BUILD_ROOT/etc/%{name}/
# create paranoid permissions file
printf '%%-38s %%-18s %%s\n' /usr/sbin/postdrop "root.%{pf_setgid_group}" "0755" >> $RPM_BUILD_ROOT/etc/permissions.d/postfix.paranoid
printf '%%-38s %%-18s %%s\n' /usr/sbin/postqueue "root.%{pf_setgid_group}" "0755" >> $RPM_BUILD_ROOT/etc/permissions.d/postfix.paranoid
install -m 644 include/*.h $RPM_BUILD_ROOT/usr/include/postfix/
printf '%%-38s %%-18s %%s\n' /usr/sbin/postdrop "root.%{pf_setgid_group}" "0755" >> $RPM_BUILD_ROOT/etc/permissions.d/%{name}.paranoid
printf '%%-38s %%-18s %%s\n' /usr/sbin/postqueue "root.%{pf_setgid_group}" "0755" >> $RPM_BUILD_ROOT/etc/permissions.d/%{name}.paranoid
install -m 644 include/*.h $RPM_BUILD_ROOT/usr/include/%{name}/
# some rpmlint stuff
# remove unneeded examples/chroot-setup
for example in AIX42 BSDI* F* HPUX* IRIX* NETBSD1 NEXTSTEP3 OPENSTEP4 OSF1 Solaris*; do
%{__rm} examples/chroot-setup/${example}
done
# files-duplicate /usr/share/doc/packages/postfix-doc/html/
# so we copy all docs to a postfix-doc to do fdupes :)
%{__install} -d $RPM_BUILD_ROOT%{pf_docdir}/html
for doc in AAAREADME COMPATIBILITY COPYRIGHT HISTORY INSTALL IPv6-ChangeLog LICENSE PORTING RELEASE_NOTES* US_PATENT_6321267 TLS_LICENSE README_FILES auxiliary examples html %{name}-SuSE/README.SuSE %{name}-SuSE/SPAMASSASSIN+POSTFIX.SuSE; do
%{__cp} -rv ${doc} $RPM_BUILD_ROOT%{pf_docdir}/
done
%if 0%{?suse_version} >= 1100
%fdupes $RPM_BUILD_ROOT%{pf_docdir}
# files-duplicate /usr/share/man/man?
%fdupes $RPM_BUILD_ROOT%{_mandir}
%endif
# ---------------------------------------------------------------------------
%pre
VERSIONTEST=$(test -x usr/sbin/postconf && usr/sbin/postconf proxy_read_maps 2>/dev/null)
if [ -z "$VERSIONTEST" -a -f %{pf_queue_directory}/pid/master.pid ]; then
if checkproc -p %{pf_queue_directory}/pid/master.pid usr/lib/postfix/master; then
echo "postfix is still running. You have to stop postfix in order to"
if checkproc -p %{pf_queue_directory}/pid/master.pid usr/lib/%{name}/master; then
echo "%{name} is still running. You have to stop %{name} in order to"
echo "install a newer version."
exit 1
fi
fi
/usr/sbin/groupadd -g %{postfix_gid} -o -r postfix 2> /dev/null || :
/usr/sbin/groupadd -g %{pf_gid} -o -r %{name} 2> /dev/null || :
/usr/sbin/groupadd -g %{maildrop_gid} -o -r maildrop 2> /dev/null || :
/usr/sbin/useradd -r -o -g postfix -u %{postfix_uid} -s /bin/false -c "Postfix Daemon" -d /%{pf_queue_directory} postfix 2> /dev/null || :
/usr/sbin/useradd -r -o -g %{name} -u %{pf_uid} -s /bin/false -c "Postfix Daemon" -d /%{pf_queue_directory} %{name} 2> /dev/null || :
# ---------------------------------------------------------------------------
%pre mysql
#echo "PARAM_pre: "$1
# on `rpm -ivh` PARAM is 1
# on `rpm -Uvh` PARAM is 2
if [ "$1" = "1" ]; then
echo "Adding %{vmusr} user"
if [ -z "`%{_bindir}/getent group %{vmusr} 2>/dev/null`" ]; then
%{_sbindir}/groupadd -r -g %{vmgid} %{vmusr}
fi
if [ -z "`%{_bindir}/getent passwd %{vmusr} 2>/dev/null`" ]; then
%{_sbindir}/useradd -c "maildirs chef" -d %{vmdir} -g %{vmusr} -u %{vmid} -r -s /bin/false %{vmusr}
fi
fi
# ---------------------------------------------------------------------------
%preun
%stop_on_removal postfix
%stop_on_removal %{name}
# ---------------------------------------------------------------------------
%post
%{fillup_and_insserv -y postfix}
# We never have to run suseconfig for postfix after installation
# We only start postfix own upgrade-configuration by update
if [ ${1:-0} -gt 1 ]; then
echo "executing upgrade-configuration"
/usr/sbin/postfix set-permissions upgrade-configuration setgid_group=%{pf_setgid_group}
%preun mysql
#echo "PARAM_preun: "$1
# on `rpm -e` PARAM is 0
if [ "$1" = "0" ]; then
FILE=etc/%{name}/dynamicmaps.cf
if [ -e "$FILE" ] ; then
if grep -q "^mysql[[:space:]]" ${FILE}; then
echo "Removing mysql map entry from ${FILE}"
sed "/^mysql[[:space:]]/d" ${FILE} > ${FILE}.$$ && \
cp --remove-destination ${FILE}.$$ ${FILE} && \
rm ${FILE}.$$
fi
%postun
%restart_on_update postfix
%insserv_cleanup
ldconfig
%clean
#rm -rf $RPM_BUILD_ROOT
%post postgresql
FILE=etc/postfix/dynamicmaps.cf
if ! grep -q "^pgsql[[:space:]]" ${FILE}; then
echo "Adding pgsql map entry to ${FILE}"
echo "pgsql /usr/lib/postfix/dict_pgsql.so dict_pgsql_open" >> ${FILE}
else
echo "Can not find \"$FILE\". Not updating the file." >&2
fi
%post mysql
FILE=etc/postfix/dynamicmaps.cf
if ! grep -q "^mysql[[:space:]]" ${FILE}; then
echo "Adding mysql map entry to ${FILE}"
echo "mysql /usr/lib/postfix/dict_mysql.so dict_mysql_open" >> ${FILE}
echo "Removing %{vmusr} user"
userdel %{vmusr} 2> /dev/null
groupdel %{vmusr} 2> /dev/null
fi
# ---------------------------------------------------------------------------
%preun postgresql
if [ "$1" = 0 ] ; then
FILE=etc/postfix/dynamicmaps.cf
FILE=etc/%{name}/dynamicmaps.cf
if [ -e "$FILE" ] ; then
if grep -q "^pgsql[[:space:]]" ${FILE}; then
echo "Removing pgsql map entry from ${FILE}"
@ -341,150 +434,127 @@ if [ "$1" = 0 ] ; then
echo "Can not find \"$FILE\". Not updating the file." >&2
fi
fi
# ---------------------------------------------------------------------------
%preun mysql
if [ "$1" = 0 ] ; then
FILE=etc/postfix/dynamicmaps.cf
if [ -e "$FILE" ] ; then
if grep -q "^mysql[[:space:]]" ${FILE}; then
echo "Removing mysql map entry from ${FILE}"
sed "/^mysql[[:space:]]/d" ${FILE} > ${FILE}.$$ && \
cp --remove-destination ${FILE}.$$ ${FILE} && \
rm ${FILE}.$$
%post
%{fillup_and_insserv -y postfix}
# We never have to run suseconfig for postfix after installation
# We only start postfix own upgrade-configuration by update
if [ ${1:-0} -gt 1 ]; then
echo "executing upgrade-configuration"
/usr/sbin/%{name} set-permissions upgrade-configuration setgid_group=%{pf_setgid_group}
#New map in 11.2 #TODO remove it later
. /etc/sysconfig/postfix
sed -i "s/^POSTFIX_MAP_LIST=.*/POSTFIX_MAP_LIST=\"$POSTFIX_MAP_LIST relay\"/" /etc/sysconfig/postfix
fi
else
echo "Can not find \"$FILE\". Not updating the file." >&2
ldconfig
# ---------------------------------------------------------------------------
%postun
%restart_on_update %{name}
%insserv_cleanup
ldconfig
# ---------------------------------------------------------------------------
%post postgresql
FILE=etc/%{name}/dynamicmaps.cf
if ! grep -q "^pgsql[[:space:]]" ${FILE}; then
echo "Adding pgsql map entry to ${FILE}"
echo "pgsql /usr/lib/%{name}/dict_pgsql.so dict_pgsql_open" >> ${FILE}
fi
# ---------------------------------------------------------------------------
%post mysql
FILE=etc/%{name}/dynamicmaps.cf
if ! grep -q "^mysql[[:space:]]" ${FILE}; then
echo "Adding mysql map entry to ${FILE}"
echo "mysql /usr/lib/%{name}/dict_mysql.so dict_mysql_open" >> ${FILE}
fi
# ---------------------------------------------------------------------------
%files postgresql
%defattr(-,root,root)
/usr/lib/postfix/dict_pgsql.so
%files mysql
%defattr(-,root,root)
/usr/lib/postfix/dict_mysql.so
%files devel
%defattr(-,root,root)
/usr/include/postfix/
%files doc
%defattr(-,root,root)
%doc AAAREADME COMPATIBILITY COPYRIGHT HISTORY INSTALL IPv6-ChangeLog LICENSE
%doc PORTING RELEASE_NOTES* US_PATENT_6321267 TLS_LICENSE
%doc README_FILES examples html auxiliary
%doc postfix-SuSE/README.SuSE
%doc postfix-SuSE/SPAMASSASSIN+POSTFIX.SuSE
%clean
rm -rf $RPM_BUILD_ROOT
%files -f %{postfixfiles}
%defattr(-,root,root)
%config /etc/pam.d/*
/var/adm/fillup-templates/sysconfig.postfix
/var/adm/fillup-templates/sysconfig.mail-postfix
/sbin/conf.d/SuSEconfig.postfix
%config(noreplace) %{omc_dir}/postfix.xml
%dir /etc/postfix
%config(noreplace) /etc/postfix/access
%config(noreplace) /etc/postfix/generic
%config(noreplace) /etc/postfix/canonical
#%config(noreplace) /etc/postfix/cidr_table
%config(noreplace) /etc/postfix/main.cf
%config /etc/postfix/main.cf.default
%config(noreplace) /etc/postfix/master.cf
%config(noreplace) /etc/postfix/openssl_postfix.conf.in
%config(noreplace) /etc/postfix/relocated
%config(noreplace) /etc/postfix/transport
%config(noreplace) /etc/postfix/virtual
%config(noreplace) /etc/postfix/sasl_passwd
%config(noreplace) /etc/postfix/sender_canonical
#%config(noreplace) /etc/postfix/tcp_table
#%config(noreplace) /etc/postfix/pcre_table
#%config(noreplace) /etc/postfix/regexp_table
%config(noreplace) /etc/postfix/relay_ccerts
%config(noreplace) /etc/postfix/header_checks
%config(noreplace) /etc/postfix/bounce.cf.default
%config(noreplace) /etc/postfix/dynamicmaps.cf
%config /etc/sysconfig/SuSEfirewall2.d/services/postfix
/var/adm/fillup-templates/sysconfig.%{name}
/var/adm/fillup-templates/sysconfig.mail-%{name}
/sbin/conf.d/SuSEconfig.%{name}
%config(noreplace) %{omc_dir}/%{name}.xml
%dir /etc/%{name}
%config(noreplace) /etc/%{name}/access
%config(noreplace) /etc/%{name}/generic
%config(noreplace) /etc/%{name}/helo_access
%config(noreplace) /etc/%{name}/canonical
#%config(noreplace) /etc/%{name}/cidr_table
%config(noreplace) /etc/%{name}/main.cf
%config /etc/%{name}/main.cf.default
%config(noreplace) /etc/%{name}/master.cf
%config(noreplace) /etc/%{name}/openssl_%{name}.conf.in
%config(noreplace) /etc/%{name}/relocated
%config(noreplace) /etc/%{name}/transport
%config(noreplace) /etc/%{name}/virtual
%config(noreplace) /etc/%{name}/sasl_passwd
%config(noreplace) /etc/%{name}/sender_canonical
#%config(noreplace) /etc/%{name}/tcp_table
#%config(noreplace) /etc/%{name}/pcre_table
#%config(noreplace) /etc/%{name}/regexp_table
%config(noreplace) /etc/%{name}/relay
%config(noreplace) /etc/%{name}/relay_ccerts
%config(noreplace) /etc/%{name}/header_checks
%config(noreplace) /etc/%{name}/bounce.cf.default
%config(noreplace) /etc/%{name}/dynamicmaps.cf
%config /etc/sysconfig/SuSEfirewall2.d/services/%{name}
%dir /etc/sasl2/
%config(noreplace) /etc/sasl2/smtpd.conf
%config /etc/postfix/LICENSE
%config /etc/%{name}/LICENSE
%if %{usetls}
%config /etc/postfix/TLS_LICENSE
%config /etc/%{name}/TLS_LICENSE
%endif
%config /etc/permissions.d/postfix
%config /etc/permissions.d/postfix.paranoid
%attr(0644, root, root) /etc/postfix/makedefs.out
%attr(0755, root, root) /etc/postfix/postfix-script
%attr(0755, root, root) /etc/postfix/post-install
%attr(0644, root, root) /etc/postfix/postfix-files
%config %attr(0755,root,root) /etc/init.d/postfix
%config /etc/permissions.d/%{name}
%config /etc/permissions.d/%{name}.paranoid
%attr(0644, root, root) %config /etc/%{name}/makedefs.out
%attr(0644, root, root) %config /etc/%{name}/%{name}-files
/usr/lib/%{name}/%{name}-files
%config %attr(0755,root,root) /etc/init.d/%{name}
/usr/bin/mailq
/usr/bin/newaliases
%attr(0755, root, root) /usr/sbin/sendmail
/usr/sbin/qmqp-source
/usr/sbin/smtp-sink
/usr/sbin/smtp-source
/usr/sbin/mkpostfixcert
/sbin/rcpostfix
/usr/sbin/mk%{name}cert
/sbin/rc%{name}
%{_libdir}/lib*
/usr/lib/sendmail
%dir /usr/lib/postfix
/usr/lib/postfix/*[^.so]
/usr/lib/postfix/dict_ldap.so
/usr/lib/postfix/dict_pcre.so
/usr/lib/postfix/dict_tcp.so
%dir /usr/lib/%{name}
/usr/lib/%{name}/*[^.so]
/usr/lib/%{name}/dict_ldap.so
/usr/lib/%{name}/dict_pcre.so
/usr/lib/%{name}/dict_tcp.so
%{conf_backup_dir}
%dir %attr(0700,postfix,root) %{pf_data_directory}
%dir %attr(0700,%{name},root) %{pf_data_directory}
%{_mandir}/man?/*.gz
%description
Postfix aims to be an alternative to the widely-used sendmail program.
%files devel
%defattr(-,root,root)
/usr/include/%{name}/
%files doc
%defattr(0644,root,root,0755)
%dir %{pf_docdir}/
%{pf_docdir}/
%files mysql
%defattr(-,root,root)
%doc %{name}-mysql/%{name}-mysql.sql
%config(noreplace) %attr(640, root, %{name}) /etc/%{name}/*_maps.cf
%config(noreplace) /etc/%{name}/main.cf-mysql
/usr/lib/%{name}/dict_mysql.so
Authors:
--------
Wietse Venema <wietse@porcupine.org>
%description mysql
Postfix plugin to support MySQL maps. This library will be loaded by
starting postfix if you'll access a postmap which is stored in mysql.
Authors:
--------
Wietse Venema <wietse@porcupine.org>
%description postgresql
Postfix plugin to support PostgreSQL maps. This library will be loaded
by starting postfix if you'll access a postmap which is stored in
PostgreSQL.
Authors:
--------
Wietse Venema <wietse@porcupine.org>
%description devel
Postfix aims to be an alternative to the widely-used sendmail program.
Authors:
--------
Wietse Venema <wietse@porcupine.org>
%description doc
Postfix aims to be an alternative to the widely-used sendmail program.
This package contains the documentation for postfix
Authors:
--------
Wietse Venema <wietse@porcupine.org>
%files postgresql
%defattr(-,root,root)
/usr/lib/%{name}/dict_pgsql.so
%changelog

4
rpmlintrc Normal file
View File

@ -0,0 +1,4 @@
addFilter("executable-sourced-script .*/sbin/conf.d/SuSEconfig.postfix")
addFilter("sourced-script-with-shebang .*/sbin/conf.d/SuSEconfig.postfix")
addFilter("devel-file-in-non-devel-package .*/usr/lib/libpostfix*.so")
addFilter("devel-file-in-non-devel-package .*/usr/lib64/libpostfix*.so")