Accepting request 179291 from server:mail
fix warnings, update vda patch (forwarded request 179287 from computersalat) OBS-URL: https://build.opensuse.org/request/show/179291 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postfix?expand=0&rev=106
This commit is contained in:
commit
9c5357fc30
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:03a58c7c0155903c212e7209ecacf22040d233f456a4be3552e76dde1f11c0f3
|
oid sha256:2f984a3a04f4e13ae73da72776fbfc57dfe3940f1e78b8ac355662463587ae53
|
||||||
size 143360
|
size 24175
|
||||||
|
23
postfix-db6.diff
Normal file
23
postfix-db6.diff
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
From: Jan Engelhardt <jengelh@inai.de>
|
||||||
|
Date: 2013-06-14 03:32:16.417459759 +0200
|
||||||
|
X-Upstream: problem still present in postfix-2.11~20130608
|
||||||
|
|
||||||
|
src: allow compilation against libdb-6.0
|
||||||
|
|
||||||
|
---
|
||||||
|
src/util/dict_db.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: postfix-2.9.6/src/util/dict_db.c
|
||||||
|
===================================================================
|
||||||
|
--- postfix-2.9.6.orig/src/util/dict_db.c
|
||||||
|
+++ postfix-2.9.6/src/util/dict_db.c
|
||||||
|
@@ -699,7 +699,7 @@ static DICT *dict_db_open(const char *cl
|
||||||
|
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 DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0)
|
||||||
|
if ((errno = db->open(db, 0, db_path, 0, type, db_flags, 0644)) != 0)
|
||||||
|
FREE_RETURN(dict_surrogate(class, path, open_flags, dict_flags,
|
||||||
|
"open database %s: %m", db_path));
|
@ -2,7 +2,7 @@ Index: conf/main.cf
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- conf/main.cf.orig
|
--- conf/main.cf.orig
|
||||||
+++ conf/main.cf
|
+++ conf/main.cf
|
||||||
@@ -655,3 +655,119 @@ sample_directory =
|
@@ -655,3 +655,116 @@ sample_directory =
|
||||||
#
|
#
|
||||||
readme_directory =
|
readme_directory =
|
||||||
inet_protocols = ipv4
|
inet_protocols = ipv4
|
||||||
@ -96,9 +96,6 @@ Index: conf/main.cf
|
|||||||
+#virtual_mailbox_limit_override = yes
|
+#virtual_mailbox_limit_override = yes
|
||||||
+#virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
|
+#virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
|
||||||
+#virtual_transport = virtual
|
+#virtual_transport = virtual
|
||||||
+## Additional for quota support
|
|
||||||
+#virtual_create_maildirsize = yes
|
|
||||||
+#virtual_mailbox_extended = yes
|
|
||||||
+### Needs Maildir++ compatible IMAP servers, like Courier-IMAP
|
+### Needs Maildir++ compatible IMAP servers, like Courier-IMAP
|
||||||
+#virtual_maildir_filter = yes
|
+#virtual_maildir_filter = yes
|
||||||
+#virtual_maildir_filter_maps = hash:/etc/postfix/vfilter
|
+#virtual_maildir_filter_maps = hash:/etc/postfix/vfilter
|
||||||
|
@ -19,15 +19,15 @@ Index: src/tls/tls_server.c
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- src/tls/tls_server.c.orig
|
--- src/tls/tls_server.c.orig
|
||||||
+++ src/tls/tls_server.c
|
+++ src/tls/tls_server.c
|
||||||
@@ -388,6 +388,11 @@ TLS_APPL_STATE *tls_server_init(const TL
|
@@ -389,6 +389,11 @@ TLS_APPL_STATE *tls_server_init(const TL
|
||||||
tls_print_errors();
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
+
|
|
||||||
+ /* Keep memory usage as low as possible */
|
+ /* Keep memory usage as low as possible */
|
||||||
+#ifdef SSL_MODE_RELEASE_BUFFERS
|
+#ifdef SSL_MODE_RELEASE_BUFFERS
|
||||||
+ SSL_CTX_set_mode(server_ctx, SSL_MODE_RELEASE_BUFFERS);
|
+ SSL_CTX_set_mode(server_ctx, SSL_MODE_RELEASE_BUFFERS);
|
||||||
+#endif
|
+#endif
|
||||||
|
+
|
||||||
/*
|
/*
|
||||||
* See the verify callback in tls_verify.c
|
* See the verify callback in tls_verify.c
|
||||||
|
*/
|
||||||
|
@ -1,23 +1,21 @@
|
|||||||
Index: README_FILES/VDA_README
|
diff -uNr postfix-2.9.6.orig/README_FILES/VDA_README postfix-2.9.6/README_FILES/VDA_README
|
||||||
===================================================================
|
--- postfix-2.9.6.orig/README_FILES/VDA_README 1970-01-01 01:00:00.000000000 +0100
|
||||||
--- /dev/null
|
+++ postfix-2.9.6/README_FILES/VDA_README 2012-03-02 08:30:12.079537052 +0100
|
||||||
+++ README_FILES/VDA_README
|
|
||||||
@@ -0,0 +1,10 @@
|
@@ -0,0 +1,10 @@
|
||||||
+Postfix VDA patch for maildir++ quota support by
|
+Postfix VDA patch for maildir++ quota support by
|
||||||
+ Anderson Nadal <andernadal@gmail.com>
|
+ Anderson Nadal <andernadal@gmail.com>
|
||||||
+ Tomas Macek <maca02@atlas.cz>
|
+ Tomas Macek <maca02@atlas.cz>
|
||||||
+ Lucca Longinotti
|
+ Lucca Longinotti
|
||||||
+
|
+
|
||||||
+See VDA patch official website http://vda.sf.net for instructions
|
+See VDA patch official website http://vda.sf.net for instructions
|
||||||
+howto patch the Postfix's sourcetree and configure the options
|
+howto patch the Postfix's sourcetree and configure the options
|
||||||
+provided by this patch.
|
+provided by this patch.
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
Index: src/global/mail_params.h
|
diff -uNr postfix-2.9.6.orig/src/global/mail_params.h postfix-2.9.6/src/global/mail_params.h
|
||||||
===================================================================
|
--- postfix-2.9.6.orig/src/global/mail_params.h 2012-01-15 01:36:37.000000000 +0100
|
||||||
--- src/global/mail_params.h.orig
|
+++ postfix-2.9.6/src/global/mail_params.h 2012-03-02 08:30:12.079537052 +0100
|
||||||
+++ src/global/mail_params.h
|
@@ -2360,6 +2360,54 @@
|
||||||
@@ -2360,6 +2360,54 @@ extern char *var_virt_uid_maps;
|
|
||||||
#define DEF_VIRT_GID_MAPS ""
|
#define DEF_VIRT_GID_MAPS ""
|
||||||
extern char *var_virt_gid_maps;
|
extern char *var_virt_gid_maps;
|
||||||
|
|
||||||
@ -72,11 +70,10 @@ Index: src/global/mail_params.h
|
|||||||
#define VAR_VIRT_MINUID "virtual_minimum_uid"
|
#define VAR_VIRT_MINUID "virtual_minimum_uid"
|
||||||
#define DEF_VIRT_MINUID 100
|
#define DEF_VIRT_MINUID 100
|
||||||
extern int var_virt_minimum_uid;
|
extern int var_virt_minimum_uid;
|
||||||
Index: src/util/file_limit.c
|
diff -uNr postfix-2.9.6.orig/src/util/file_limit.c postfix-2.9.6/src/util/file_limit.c
|
||||||
===================================================================
|
--- postfix-2.9.6.orig/src/util/file_limit.c 2003-10-22 20:48:36.000000000 +0200
|
||||||
--- src/util/file_limit.c.orig
|
+++ postfix-2.9.6/src/util/file_limit.c 2012-03-02 08:30:12.110537033 +0100
|
||||||
+++ src/util/file_limit.c
|
@@ -85,7 +85,11 @@
|
||||||
@@ -85,7 +85,11 @@ void set_file_limit(off_t limit)
|
|
||||||
#else
|
#else
|
||||||
struct rlimit rlim;
|
struct rlimit rlim;
|
||||||
|
|
||||||
@ -89,10 +86,9 @@ Index: src/util/file_limit.c
|
|||||||
if (setrlimit(RLIMIT_FSIZE, &rlim) < 0)
|
if (setrlimit(RLIMIT_FSIZE, &rlim) < 0)
|
||||||
msg_fatal("setrlimit: %m");
|
msg_fatal("setrlimit: %m");
|
||||||
#ifdef SIGXFSZ
|
#ifdef SIGXFSZ
|
||||||
Index: src/virtual/mailbox.c
|
diff -uNr postfix-2.9.6.orig/src/virtual/mailbox.c postfix-2.9.6/src/virtual/mailbox.c
|
||||||
===================================================================
|
--- postfix-2.9.6.orig/src/virtual/mailbox.c 2011-12-24 03:13:32.000000000 +0100
|
||||||
--- src/virtual/mailbox.c.orig
|
+++ postfix-2.9.6/src/virtual/mailbox.c 2012-03-02 08:30:12.110537033 +0100
|
||||||
+++ src/virtual/mailbox.c
|
|
||||||
@@ -70,6 +70,70 @@
|
@@ -70,6 +70,70 @@
|
||||||
#define YES 1
|
#define YES 1
|
||||||
#define NO 0
|
#define NO 0
|
||||||
@ -164,7 +160,7 @@ Index: src/virtual/mailbox.c
|
|||||||
/* deliver_mailbox_file - deliver to recipient mailbox */
|
/* deliver_mailbox_file - deliver to recipient mailbox */
|
||||||
|
|
||||||
static int deliver_mailbox_file(LOCAL_STATE state, USER_ATTR usr_attr)
|
static int deliver_mailbox_file(LOCAL_STATE state, USER_ATTR usr_attr)
|
||||||
@@ -213,62 +277,72 @@ int deliver_mailbox(LOCAL_STATE stat
|
@@ -213,62 +277,72 @@
|
||||||
* Look up the mailbox owner rights. Defer in case of trouble.
|
* Look up the mailbox owner rights. Defer in case of trouble.
|
||||||
*/
|
*/
|
||||||
uid_res = mail_addr_find(virtual_uid_maps, state.msg_attr.user,
|
uid_res = mail_addr_find(virtual_uid_maps, state.msg_attr.user,
|
||||||
@ -272,10 +268,9 @@ Index: src/virtual/mailbox.c
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Cleanup.
|
* Cleanup.
|
||||||
Index: src/virtual/maildir.c
|
diff -uNr postfix-2.9.6.orig/src/virtual/maildir.c postfix-2.9.6/src/virtual/maildir.c
|
||||||
===================================================================
|
--- postfix-2.9.6.orig/src/virtual/maildir.c 2012-01-25 01:41:08.000000000 +0100
|
||||||
--- src/virtual/maildir.c.orig
|
+++ postfix-2.9.6/src/virtual/maildir.c 2012-03-02 08:33:47.724529361 +0100
|
||||||
+++ src/virtual/maildir.c
|
|
||||||
@@ -64,28 +64,420 @@
|
@@ -64,28 +64,420 @@
|
||||||
#include <mbox_open.h>
|
#include <mbox_open.h>
|
||||||
#include <dsn_util.h>
|
#include <dsn_util.h>
|
||||||
@ -325,27 +320,27 @@ Index: src/virtual/maildir.c
|
|||||||
+ int len, first;
|
+ int len, first;
|
||||||
+ long sum = 0, count = 0, ret_value = -1;
|
+ long sum = 0, count = 0, ret_value = -1;
|
||||||
+
|
+
|
||||||
+ if (msg_verbose)
|
+ if (msg_verbose)
|
||||||
+ msg_info("%s: we will use sizefile = '%s'", myname, filename);
|
+ msg_info("%s: we will use sizefile = '%s'", myname, filename);
|
||||||
+
|
+
|
||||||
+ sizefile = vstream_fopen(filename, O_RDONLY, 0);
|
+ sizefile = vstream_fopen(filename, O_RDONLY, 0);
|
||||||
+ if (!sizefile) {
|
+ if (!sizefile) {
|
||||||
+ if (msg_verbose)
|
+ if (msg_verbose)
|
||||||
+ msg_info("%s: cannot open %s: %m (maybe file does not exist)", myname, filename);
|
+ msg_info("%s: cannot open %s: %m (maybe file does not exist)", myname, filename);
|
||||||
+
|
+
|
||||||
+ return -1;
|
+ return -1;
|
||||||
+ } else if (stat(filename, &statbuf) < 0 || statbuf.st_size > SIZEFILE_MAX) {
|
+ } else if (stat(filename, &statbuf) < 0 || statbuf.st_size > SIZEFILE_MAX) {
|
||||||
+ if (sizefile) {
|
+ if (sizefile) {
|
||||||
+ vstream_fclose(sizefile);
|
+ vstream_fclose(sizefile);
|
||||||
+ unlink(filename);
|
+ unlink(filename);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ if (msg_verbose)
|
+ if (msg_verbose)
|
||||||
+ msg_info("%s: stat() returned < 0 or filesize > SIZEFILE_MAX (filename = %s, filesize = %ld)", myname, filename, statbuf.st_size);
|
+ msg_info("%s: stat() returned < 0 or filesize > SIZEFILE_MAX (filename = %s, filesize = %ld)", myname, filename, statbuf.st_size);
|
||||||
+
|
+
|
||||||
+ return -1;
|
+ return -1;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ VSTRING *sizebuf = vstring_alloc(SIZEFILE_MAX);
|
+ VSTRING *sizebuf = vstring_alloc(SIZEFILE_MAX);
|
||||||
+ len = vstream_fread(sizefile, STR(sizebuf), SIZEFILE_MAX);
|
+ len = vstream_fread(sizefile, STR(sizebuf), SIZEFILE_MAX);
|
||||||
+
|
+
|
||||||
@ -387,25 +382,24 @@ Index: src/virtual/maildir.c
|
|||||||
+
|
+
|
||||||
+ *countptr = count;
|
+ *countptr = count;
|
||||||
+ *sumptr = sum;
|
+ *sumptr = sum;
|
||||||
+
|
+
|
||||||
+ if (sum < 0 || count < 0 || (sum == 0 && count != 0) || (sum != 0 && count == 0)) {
|
+ if (sum < 0 || count < 0 || (sum == 0 && count != 0) || (sum != 0 && count == 0)) {
|
||||||
+ if (msg_verbose) {
|
+ if (msg_verbose) {
|
||||||
+ msg_info("%s: we will return -1 and unlink %s, because file count or sum is <= 0 (sum = %ld, count = %ld)", myname, filename, sum, count);
|
+ msg_info("%s: we will return -1 and unlink %s, because file count or sum is <= 0 (sum = %ld, count = %ld)", myname, filename, sum, count);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ unlink(filename);
|
+ unlink(filename);
|
||||||
+ ret_value = -1;
|
+ ret_value = -1;
|
||||||
+ } else {
|
+ } else {
|
||||||
+ if (msg_verbose)
|
+ if (msg_verbose)
|
||||||
+ msg_info("%s: we will return Maildir size = %ld, count = %ld", myname, *sumptr, *countptr);
|
+ msg_info("%s: we will return Maildir size = %ld, count = %ld", myname, *sumptr, *countptr);
|
||||||
+
|
+
|
||||||
+ ret_value = sum;
|
+ ret_value = sum;
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
-int deliver_maildir(LOCAL_STATE state, USER_ATTR usr_attr)
|
|
||||||
+ vstream_fclose(sizefile);
|
+ vstream_fclose(sizefile);
|
||||||
+ vstring_free(sizebuf);
|
+ vstring_free(sizebuf);
|
||||||
+
|
+
|
||||||
+ return ret_value;
|
+ return ret_value;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
@ -555,7 +549,8 @@ Index: src/virtual/maildir.c
|
|||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ closedir(dir);
|
+ closedir(dir);
|
||||||
+
|
|
||||||
|
-int deliver_maildir(LOCAL_STATE state, USER_ATTR usr_attr)
|
||||||
+ if (msg_verbose)
|
+ 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=%ld count=%ld", myname, dirname, sum, *countptr);
|
||||||
+
|
+
|
||||||
@ -709,7 +704,7 @@ Index: src/virtual/maildir.c
|
|||||||
|
|
||||||
GETTIMEOFDAY(&starttime);
|
GETTIMEOFDAY(&starttime);
|
||||||
|
|
||||||
@@ -94,15 +486,14 @@ int deliver_maildir(LOCAL_STATE stat
|
@@ -94,15 +486,14 @@
|
||||||
*/
|
*/
|
||||||
state.level++;
|
state.level++;
|
||||||
if (msg_verbose)
|
if (msg_verbose)
|
||||||
@ -728,7 +723,7 @@ Index: src/virtual/maildir.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -110,17 +501,115 @@ int deliver_maildir(LOCAL_STATE stat
|
@@ -110,18 +501,116 @@
|
||||||
* attribute to reflect the final recipient.
|
* attribute to reflect the final recipient.
|
||||||
*/
|
*/
|
||||||
if (vstream_fseek(state.msg_attr.fp, state.msg_attr.offset, SEEK_SET) < 0)
|
if (vstream_fseek(state.msg_attr.fp, state.msg_attr.offset, SEEK_SET) < 0)
|
||||||
@ -761,7 +756,7 @@ Index: src/virtual/maildir.c
|
|||||||
+ tmpdir = concatenate(tmpdir, "tmp/", (char *) 0);
|
+ tmpdir = concatenate(tmpdir, "tmp/", (char *) 0);
|
||||||
+ curdir = concatenate(curdir, "cur/", (char *) 0);
|
+ curdir = concatenate(curdir, "cur/", (char *) 0);
|
||||||
+ }
|
+ }
|
||||||
+
|
|
||||||
+ /* get the sizefilename, no matter if we use var_virt_maildir_extended */
|
+ /* get the sizefilename, no matter if we use var_virt_maildir_extended */
|
||||||
+ if (*var_virt_maildir_suffix == 0) {
|
+ if (*var_virt_maildir_suffix == 0) {
|
||||||
+ sizefilename = concatenate(usr_attr.mailbox, "maildirsize", (char *) 0);
|
+ sizefilename = concatenate(usr_attr.mailbox, "maildirsize", (char *) 0);
|
||||||
@ -769,7 +764,7 @@ Index: src/virtual/maildir.c
|
|||||||
+ sizefilename = concatenate(usr_attr.mailbox, var_virt_maildir_suffix, (char *) 0);
|
+ sizefilename = concatenate(usr_attr.mailbox, var_virt_maildir_suffix, (char *) 0);
|
||||||
+ sizefilename = concatenate(sizefilename, "maildirsize", (char *) 0);
|
+ sizefilename = concatenate(sizefilename, "maildirsize", (char *) 0);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ /*
|
+ /*
|
||||||
+ * Look up the virtual maildir limit size for this user.
|
+ * Look up the virtual maildir limit size for this user.
|
||||||
+ * Fall back to virtual_mailbox_limit in case lookup failed.
|
+ * Fall back to virtual_mailbox_limit in case lookup failed.
|
||||||
@ -802,7 +797,7 @@ Index: src/virtual/maildir.c
|
|||||||
+ }
|
+ }
|
||||||
+ else {
|
+ else {
|
||||||
+ if (msg_verbose)
|
+ if (msg_verbose)
|
||||||
+ msg_info("%s: quota is negative (%ld), using default virtual_mailbox_limit (%ld)",
|
+ msg_info("%s: quota is negative (%ld), using default virtual_mailbox_limit (%ld)",
|
||||||
+ myname, n, var_virt_mailbox_limit);
|
+ myname, n, var_virt_mailbox_limit);
|
||||||
+ /* Invalid limit size (negative). Use default virtual_mailbox_limit. */
|
+ /* Invalid limit size (negative). Use default virtual_mailbox_limit. */
|
||||||
+ n = var_virt_mailbox_limit;
|
+ n = var_virt_mailbox_limit;
|
||||||
@ -810,7 +805,7 @@ Index: src/virtual/maildir.c
|
|||||||
+ }
|
+ }
|
||||||
+ else {
|
+ else {
|
||||||
+ if (msg_verbose)
|
+ if (msg_verbose)
|
||||||
+ msg_info("%s: no limit found in the maps, using default virtual_mailbox_limit (%ld)",
|
+ msg_info("%s: no limit found in the maps, using default virtual_mailbox_limit (%ld)",
|
||||||
+ myname, var_virt_mailbox_limit);
|
+ myname, var_virt_mailbox_limit);
|
||||||
+ /* There is no limit in the maps. Use default virtual_mailbox_limit. */
|
+ /* There is no limit in the maps. Use default virtual_mailbox_limit. */
|
||||||
+ n = var_virt_mailbox_limit;
|
+ n = var_virt_mailbox_limit;
|
||||||
@ -826,14 +821,14 @@ Index: src/virtual/maildir.c
|
|||||||
+ if (msg_verbose)
|
+ if (msg_verbose)
|
||||||
+ msg_info("%s: maildirsize used=%s sum=%ld count=%ld", myname, sizefilename, saved_size, saved_count);
|
+ msg_info("%s: maildirsize used=%s sum=%ld count=%ld", myname, sizefilename, saved_size, saved_count);
|
||||||
+ } else {
|
+ } else {
|
||||||
+ if (msg_verbose)
|
+ if (msg_verbose)
|
||||||
+ msg_info("%s: We will recount the quota (var_virt_mailbox_limit = %ld, 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);
|
+ myname, var_virt_mailbox_limit, var_virt_maildir_extended, read_mds);
|
||||||
+
|
+
|
||||||
+ /* sanity */
|
+ /* sanity */
|
||||||
+ saved_size = 0;
|
+ saved_size = 0;
|
||||||
+ saved_count = 0;
|
+ saved_count = 0;
|
||||||
+
|
+
|
||||||
+ if (var_virt_mailbox_limit_inbox) {
|
+ if (var_virt_mailbox_limit_inbox) {
|
||||||
+ /* Check Inbox only (new, cur and tmp dirs). */
|
+ /* Check Inbox only (new, cur and tmp dirs). */
|
||||||
+ saved_size = check_dir_size(newdir, &saved_count);
|
+ saved_size = check_dir_size(newdir, &saved_count);
|
||||||
@ -845,12 +840,13 @@ Index: src/virtual/maildir.c
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ set_eugid(var_owner_uid, var_owner_gid);
|
+ set_eugid(var_owner_uid, var_owner_gid);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
/*
|
/*
|
||||||
* Create and write the file as the recipient, so that file quota work.
|
* Create and write the file as the recipient, so that file quota work.
|
||||||
@@ -175,46 +664,288 @@ int deliver_maildir(LOCAL_STATE stat
|
* Create any missing directories on the fly. The file name is chosen
|
||||||
|
@@ -175,46 +664,288 @@
|
||||||
* [...]
|
* [...]
|
||||||
*/
|
*/
|
||||||
set_eugid(usr_attr.uid, usr_attr.gid);
|
set_eugid(usr_attr.uid, usr_attr.gid);
|
||||||
@ -1176,7 +1172,7 @@ Index: src/virtual/maildir.c
|
|||||||
}
|
}
|
||||||
set_eugid(var_owner_uid, var_owner_gid);
|
set_eugid(var_owner_uid, var_owner_gid);
|
||||||
|
|
||||||
@@ -224,31 +955,64 @@ int deliver_maildir(LOCAL_STATE stat
|
@@ -224,31 +955,64 @@
|
||||||
* location possibly under user control.
|
* location possibly under user control.
|
||||||
*/
|
*/
|
||||||
if (mail_copy_status & MAIL_COPY_STAT_CORRUPT) {
|
if (mail_copy_status & MAIL_COPY_STAT_CORRUPT) {
|
||||||
@ -1234,11 +1230,11 @@ Index: src/virtual/maildir.c
|
|||||||
+ deliver_status =
|
+ deliver_status =
|
||||||
+ (STR(why->status)[0] == '4' ? defer_append : bounce_append)
|
+ (STR(why->status)[0] == '4' ? defer_append : bounce_append)
|
||||||
+ (BOUNCE_FLAGS(state.request), BOUNCE_ATTR(state.msg_attr));
|
+ (BOUNCE_FLAGS(state.request), BOUNCE_ATTR(state.msg_attr));
|
||||||
+ }
|
}
|
||||||
+ else {
|
+ else {
|
||||||
+ dsb_simple(why, "2.0.0", "delivered to maildir");
|
+ dsb_simple(why, "2.0.0", "delivered to maildir");
|
||||||
+ deliver_status = sent(BOUNCE_FLAGS(state.request), SENT_ATTR(state.msg_attr));
|
+ deliver_status = sent(BOUNCE_FLAGS(state.request), SENT_ATTR(state.msg_attr));
|
||||||
}
|
+ }
|
||||||
+
|
+
|
||||||
vstring_free(buf);
|
vstring_free(buf);
|
||||||
+
|
+
|
||||||
@ -1260,11 +1256,10 @@ Index: src/virtual/maildir.c
|
|||||||
+
|
+
|
||||||
return (deliver_status);
|
return (deliver_status);
|
||||||
}
|
}
|
||||||
Index: src/virtual/virtual.c
|
diff -uNr postfix-2.9.6.orig/src/virtual/virtual.c postfix-2.9.6/src/virtual/virtual.c
|
||||||
===================================================================
|
--- postfix-2.9.6.orig/src/virtual/virtual.c 2011-02-19 01:46:06.000000000 +0100
|
||||||
--- src/virtual/virtual.c.orig
|
+++ postfix-2.9.6/src/virtual/virtual.c 2012-03-02 08:30:12.111537033 +0100
|
||||||
+++ src/virtual/virtual.c
|
@@ -335,12 +335,30 @@
|
||||||
@@ -335,12 +335,30 @@ long var_virt_mailbox_limit;
|
|
||||||
char *var_mail_spool_dir; /* XXX dependency fix */
|
char *var_mail_spool_dir; /* XXX dependency fix */
|
||||||
bool var_strict_mbox_owner;
|
bool var_strict_mbox_owner;
|
||||||
|
|
||||||
@ -1295,7 +1290,7 @@ Index: src/virtual/virtual.c
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Bit masks.
|
* Bit masks.
|
||||||
@@ -450,15 +468,28 @@ static void post_init(char *unused_name,
|
@@ -450,15 +468,28 @@
|
||||||
*/
|
*/
|
||||||
virtual_mailbox_maps =
|
virtual_mailbox_maps =
|
||||||
maps_create(VAR_VIRT_MAILBOX_MAPS, var_virt_mailbox_maps,
|
maps_create(VAR_VIRT_MAILBOX_MAPS, var_virt_mailbox_maps,
|
||||||
@ -1327,7 +1322,7 @@ Index: src/virtual/virtual.c
|
|||||||
|
|
||||||
virtual_mbox_lock_mask = mbox_lock_mask(var_virt_mailbox_lock);
|
virtual_mbox_lock_mask = mbox_lock_mask(var_virt_mailbox_lock);
|
||||||
}
|
}
|
||||||
@@ -510,10 +541,22 @@ int main(int argc, char **argv)
|
@@ -510,10 +541,22 @@
|
||||||
VAR_VIRT_GID_MAPS, DEF_VIRT_GID_MAPS, &var_virt_gid_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_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_LOCK, DEF_VIRT_MAILBOX_LOCK, &var_virt_mailbox_lock, 1, 0,
|
||||||
@ -1350,7 +1345,7 @@ Index: src/virtual/virtual.c
|
|||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -530,6 +573,7 @@ int main(int argc, char **argv)
|
@@ -530,6 +573,7 @@
|
||||||
MAIL_SERVER_PRE_INIT, pre_init,
|
MAIL_SERVER_PRE_INIT, pre_init,
|
||||||
MAIL_SERVER_POST_INIT, post_init,
|
MAIL_SERVER_POST_INIT, post_init,
|
||||||
MAIL_SERVER_PRE_ACCEPT, pre_accept,
|
MAIL_SERVER_PRE_ACCEPT, pre_accept,
|
||||||
@ -1358,10 +1353,9 @@ Index: src/virtual/virtual.c
|
|||||||
MAIL_SERVER_PRIVILEGED,
|
MAIL_SERVER_PRIVILEGED,
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
Index: src/virtual/virtual.h
|
diff -uNr postfix-2.9.6.orig/src/virtual/virtual.h postfix-2.9.6/src/virtual/virtual.h
|
||||||
===================================================================
|
--- postfix-2.9.6.orig/src/virtual/virtual.h 2006-01-08 00:59:47.000000000 +0100
|
||||||
--- src/virtual/virtual.h.orig
|
+++ postfix-2.9.6/src/virtual/virtual.h 2012-03-02 08:30:12.111537033 +0100
|
||||||
+++ src/virtual/virtual.h
|
|
||||||
@@ -34,6 +34,9 @@
|
@@ -34,6 +34,9 @@
|
||||||
extern MAPS *virtual_mailbox_maps;
|
extern MAPS *virtual_mailbox_maps;
|
||||||
extern MAPS *virtual_uid_maps;
|
extern MAPS *virtual_uid_maps;
|
@ -1,3 +1,28 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 17 10:50:08 UTC 2013 - chris@computersalat.de
|
||||||
|
|
||||||
|
- fix for warning
|
||||||
|
* unused parameter: virtual_create_maildirsize=yes
|
||||||
|
* unused parameter: virtual_mailbox_extended=yes
|
||||||
|
* rework main.cf.patch
|
||||||
|
- fix rcpostfix for sysvinit systems
|
||||||
|
* /etc/postfix/system/update_postmaps: No such file or directory
|
||||||
|
- rebase patches
|
||||||
|
* vda-v11-2.9.5 -> vda-v11-2.9.6
|
||||||
|
- fix file postfix-SuSE.tar.gz
|
||||||
|
* made a tar.gz
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jun 16 02:12:07 UTC 2013 - jengelh@inai.de
|
||||||
|
|
||||||
|
- postfix.spec forces the use of SSL and SASL libraries,
|
||||||
|
so make sure the BuildRequires are there
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jun 14 01:33:52 UTC 2013 - jengelh@inai.de
|
||||||
|
|
||||||
|
- Add postfix-db6.diff to fix compile abort with libdb-6.0
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Apr 22 11:51:37 UTC 2013 - idonmez@suse.com
|
Mon Apr 22 11:51:37 UTC 2013 - idonmez@suse.com
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ Group: Productivity/Networking/Email/Servers
|
|||||||
Version: 2.9.6
|
Version: 2.9.6
|
||||||
Release: 0
|
Release: 0
|
||||||
Url: http://www.postfix.org/
|
Url: http://www.postfix.org/
|
||||||
|
|
||||||
Source: http://www.artfiles.org/postfix.org/postfix-release/official/postfix-%{version}.tar.gz
|
Source: http://www.artfiles.org/postfix.org/postfix-release/official/postfix-%{version}.tar.gz
|
||||||
Source1: http://www.artfiles.org/postfix.org/postfix-release/official/postfix-%{version}.tar.gz.sig
|
Source1: http://www.artfiles.org/postfix.org/postfix-release/official/postfix-%{version}.tar.gz.sig
|
||||||
Source2: %{name}-SuSE.tar.gz
|
Source2: %{name}-SuSE.tar.gz
|
||||||
@ -38,7 +39,8 @@ Patch10: %{name}-main.cf.patch
|
|||||||
Patch11: %{name}-master.cf.patch
|
Patch11: %{name}-master.cf.patch
|
||||||
Patch12: %{name}-post-install.patch
|
Patch12: %{name}-post-install.patch
|
||||||
Patch20: %{name}-ssl-release-buffers.patch
|
Patch20: %{name}-ssl-release-buffers.patch
|
||||||
Patch100: %{name}-vda-v11-2.9.5.patch
|
Patch100: %{name}-vda-v11-2.9.6.patch
|
||||||
|
Patch101: postfix-db6.diff
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
PreReq: %insserv_prereq %fillup_prereq
|
PreReq: %insserv_prereq %fillup_prereq
|
||||||
PreReq: /usr/bin/getent
|
PreReq: /usr/bin/getent
|
||||||
@ -49,7 +51,9 @@ PreReq: textutils sh-utils fileutils pcre netcfg
|
|||||||
PreReq: sysvinit(syslog) sysvinit(network)
|
PreReq: sysvinit(syslog) sysvinit(network)
|
||||||
%endif
|
%endif
|
||||||
Requires: iproute2
|
Requires: iproute2
|
||||||
|
BuildRequires: cyrus-sasl-devel
|
||||||
BuildRequires: db-devel
|
BuildRequires: db-devel
|
||||||
|
BuildRequires: libopenssl-devel
|
||||||
BuildRequires: mysql-devel
|
BuildRequires: mysql-devel
|
||||||
BuildRequires: openldap2-devel
|
BuildRequires: openldap2-devel
|
||||||
BuildRequires: pcre-devel
|
BuildRequires: pcre-devel
|
||||||
@ -159,7 +163,8 @@ PostgreSQL.
|
|||||||
%patch11
|
%patch11
|
||||||
%patch12
|
%patch12
|
||||||
%patch20
|
%patch20
|
||||||
%patch100
|
%patch100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
Loading…
x
Reference in New Issue
Block a user