summaryrefslogtreecommitdiff
path: root/postfix
diff options
context:
space:
mode:
authorThomas Arendsen Hein <thomas@intevation.de>2007-07-17 14:59:33 (GMT)
committerThomas Arendsen Hein <thomas@intevation.de>2007-07-17 14:59:33 (GMT)
commitb43f75a568a55946348a166c5e2f9d84088f73d8 (patch)
tree50871488cf453b4b3cc6d10b5c6c1fbff5e8abce /postfix
parent192f281e78e87b6cb5fcae2818a6db1ec2eef3b2 (diff)
downloadserver-b43f75a568a55946348a166c5e2f9d84088f73d8.tar.gz
Removed files that are not part of Kolab server 2.2-beta1
Many patches have been accepted upstream or exist as patches to the used OpenPKG versions. obmtool is mostly superceded by the 'openpkg build' command.
Diffstat (limited to 'postfix')
-rw-r--r--postfix/.cvsignore1
-rw-r--r--postfix/Makefile42
-rw-r--r--postfix/kolab.patch30
-rw-r--r--postfix/postfix-ldap-leafonly.patch86
-rw-r--r--postfix/postfix-pipe-allow-empty-sender.patch86
-rw-r--r--postfix/postfix-pipe.patch101
6 files changed, 0 insertions, 346 deletions
diff --git a/postfix/.cvsignore b/postfix/.cvsignore
deleted file mode 100644
index 77fcdcb..0000000
--- a/postfix/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.src.rpm
diff --git a/postfix/Makefile b/postfix/Makefile
deleted file mode 100644
index 6a7ea45..0000000
--- a/postfix/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-ifeq "x$(KOLABPKGURI)" "x"
- KOLABPKGURI = ftp://ftp.openpkg.org/release/2.5/SRC
-endif
-ifeq "x$(KOLABRPMSRC)" "x"
- KOLABRPMSRC = /kolab/RPM/SRC
-endif
-ifeq "x$(KOLABRPMPKG)" "x"
- KOLABRPMPKG = /kolab/RPM/PKG
-endif
-ifeq "x$(KOLABCVSDIR)" "x"
- KOLABCVSDIR = $(CURDIR)
-endif
-
-PACKAGE=postfix
-VERSION=2.2.5
-RELEASE=2.5.0
-KOLABRELEASE=2.5.0_kolab
-
-RPM=/kolab/bin/openpkg rpm
-KOLABPKGURI:=`/kolab/bin/openpkg register -R $(KOLABPKGURI)`
-
-PATCHES=$(KOLABCVSDIR)/postfix-ldap-leafonly.patch \
- $(KOLABCVSDIR)/postfix-pipe-allow-empty-sender.patch
-
-all: $(PACKAGE)-$(VERSION)-$(KOLABRELEASE).src.rpm
-
-$(PACKAGE)-$(VERSION)-$(KOLABRELEASE).src.rpm: $(PACKAGE)-$(VERSION)-$(RELEASE).src.rpm $(PATCHES) $(KOLABCVSDIR)/kolab.patch Makefile
- $(RPM) -ihv $(PACKAGE)-$(VERSION)-$(RELEASE).src.rpm
-
- cp $(PATCHES) $(KOLABRPMSRC)/$(PACKAGE)/
- cp $(KOLABCVSDIR)/kolab.patch $(KOLABRPMSRC)/$(PACKAGE)/ # Patch for postfix.spec
- cd $(KOLABRPMSRC)/$(PACKAGE) && patch < $(KOLABCVSDIR)/kolab.patch && $(RPM) -ba $(PACKAGE).spec --define 'with_ldap yes' --define 'with_sasl yes' --define 'with_ssl yes'
- cp -p $(KOLABRPMPKG)/$(PACKAGE)-$(VERSION)-$(KOLABRELEASE).src.rpm $(KOLABCVSDIR)
-
-postfix-$(VERSION)-$(RELEASE).src.rpm:
- wget -c $(KOLABPKGURI)/postfix-$(VERSION)-$(RELEASE).src.rpm
-
-dist: all
- cp $(KOLABCVSDIR)/$(PACKAGE)-$(VERSION)-$(KOLABRELEASE).src.rpm ../stage/
-
-clean:
- rm -rf /kolab/RPM/TMP/cyrus-imapd* cyrus* imapd* rc.imapd vhosthack.patch fsl.imapd groupfile.patch $(KOLABCVSDIR)/$(PACKAGE)-$(VERSION)-$(KOLABRELEASE).src.rpm
diff --git a/postfix/kolab.patch b/postfix/kolab.patch
deleted file mode 100644
index 14c2fb5..0000000
--- a/postfix/kolab.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- ../postfix.orig/postfix.spec 2005-07-11 16:51:25.000000000 +0200
-+++ postfix.spec 2005-07-19 10:28:58.000000000 +0200
-@@ -38,7 +38,7 @@ Class: BASE
- Group: Mail
- License: IPL
- Version: %{V_postfix}
--Release: 2.5.0
-+Release: 2.5.0_kolab
-
- # package options
- %option with_fsl yes
-@@ -59,6 +59,8 @@ Source4: rc.postfix
- Patch0: postfix.patch
- Patch1: postfix.patch.pfls
- Patch2: ftp://ftp.openpkg.org/sources/CPY/postfix/postfix-%{V_whoson}-whoson.patch
-+Patch3: postfix-ldap-leafonly.patch
-+Patch4: postfix-pipe-allow-empty-sender.patch
-
- # build information
- Prefix: %{l_prefix}
-@@ -148,6 +150,9 @@ Conflicts: exim, sendmail, ssmtp
- %if "%{with_whoson}" == "yes"
- %patch -p0 -P 2
- %endif
-+ %patch -p0 -P 3
-+ %patch -p0 -P 4
-+
-
- %build
- # configure Postfix (hard-core part I)
diff --git a/postfix/postfix-ldap-leafonly.patch b/postfix/postfix-ldap-leafonly.patch
deleted file mode 100644
index 6fa478c..0000000
--- a/postfix/postfix-ldap-leafonly.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-diff -upr ../postfix-2.2.3.orig/src/global/dict_ldap.c ./src/global/dict_ldap.c
---- ../postfix-2.2.3.orig/src/global/dict_ldap.c 2005-03-08 19:58:44.000000000 +0100
-+++ ./src/global/dict_ldap.c 2005-07-19 02:46:30.000000000 +0200
-@@ -60,6 +60,10 @@
- /* .IP special_result_attribute
- /* The attribute(s) of directory entries that can contain DNs or URLs.
- /* If found, a recursive subsequent search is done using their values.
-+/* .IP exclude_internal
-+/* Used in conjunction with \fIspecial_result_attribute\fR. If set to
-+/* yes, only matching objects without \fIspecial_result_attribute\fR
-+/* attributes are included in the result. The default is no.
- /* .IP scope
- /* LDAP search scope: sub, base, or one.
- /* .IP bind
-@@ -226,6 +230,7 @@ typedef struct {
- char *search_base;
- ARGV *result_attributes;
- int num_attributes; /* rest of list is DN's. */
-+ int exclude_internal;
- int bind;
- char *bind_dn;
- char *bind_pw;
-@@ -717,6 +722,7 @@ static void dict_ldap_get_values(DICT_LD
- char *myname = "dict_ldap_get_values";
- struct timeval tv;
- LDAPURLDesc *url;
-+ int is_leaf;
-
- tv.tv_sec = dict_ldap->timeout;
- tv.tv_usec = 0;
-@@ -744,6 +750,27 @@ static void dict_ldap_get_values(DICT_LD
- dict_ldap->size_limit);
- dict_errno = DICT_ERR_RETRY;
- }
-+
-+ /*
-+ * The number of ordinary attributes is "num_attributes". We run through
-+ * the "special" attributes and check if any of them are present in the
-+ * object. If yes, then is_leaf = 0, else is_leaf = 1
-+ */
-+ is_leaf = 1;
-+ if (dict_ldap->exclude_internal) {
-+ for (i = dict_ldap->num_attributes; dict_ldap->result_attributes->argv[i]; i++) {
-+ attr = dict_ldap->result_attributes->argv[i];
-+ vals = ldap_get_values(dict_ldap->ld, entry, attr);
-+ if (vals) {
-+ if (ldap_count_values(vals) > 0) {
-+ is_leaf = 0;
-+ ldap_value_free(vals);
-+ break;
-+ }
-+ ldap_value_free(vals);
-+ }
-+ }
-+ }
- for (attr = ldap_first_attribute(dict_ldap->ld, entry, &ber);
- attr != NULL;
- ldap_memfree(attr), attr = ldap_next_attribute(dict_ldap->ld,
-@@ -791,6 +818,7 @@ static void dict_ldap_get_values(DICT_LD
- */
- if (i < dict_ldap->num_attributes) {
- /* Ordinary result attribute */
-+ if(is_leaf) {
- for (i = 0; vals[i] != NULL; i++) {
- if (db_common_expand(dict_ldap->ctx,
- dict_ldap->result_format, vals[i],
-@@ -809,6 +837,7 @@ static void dict_ldap_get_values(DICT_LD
- msg_info("%s[%d]: search returned %ld value(s) for"
- " requested result attribute %s",
- myname, recursion, i, attr);
-+ }
- } else if (recursion < dict_ldap->recursion_limit
- && dict_ldap->result_attributes->argv[i]) {
- /* Special result attribute */
-@@ -1351,6 +1380,11 @@ DICT *dict_ldap_open(const char *ldaps
- myfree(attr);
-
- /*
-+ * get configured value of "exclude_internal", default to no
-+ */
-+ dict_ldap->exclude_internal = cfg_get_bool(dict_ldap->parser, "exclude_internal", 0);
-+
-+ /*
- * get configured value of "bind"; default to true
- */
- dict_ldap->bind = cfg_get_bool(dict_ldap->parser, "bind", 1);
diff --git a/postfix/postfix-pipe-allow-empty-sender.patch b/postfix/postfix-pipe-allow-empty-sender.patch
deleted file mode 100644
index 5fb7ea7..0000000
--- a/postfix/postfix-pipe-allow-empty-sender.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-diff -upr ../postfix-2.2.3.orig/src/pipe/pipe.c ./src/pipe/pipe.c
---- ../postfix-2.2.3.orig/src/pipe/pipe.c 2005-02-05 05:21:23.000000000 +0100
-+++ ./src/pipe/pipe.c 2005-07-19 02:49:43.000000000 +0200
-@@ -51,7 +51,7 @@
- /* \fB\er\en\fR or \fB\en\fR. The usual C-style backslash escape
- /* sequences are recognized: \fB\ea \eb \ef \en \er \et \ev
- /* \e\fIddd\fR (up to three octal digits) and \fB\e\e\fR.
--/* .IP "\fBflags=BDFORhqu.>\fR (optional)"
-+/* .IP "\fBflags=BDFORhnqu.>\fR (optional)"
- /* Optional message processing flags. By default, a message is
- /* copied unchanged.
- /* .RS
-@@ -82,6 +82,9 @@
- /* Fold the command-line \fB$recipient\fR domain name and \fB$nexthop\fR
- /* host name to lower case.
- /* This is recommended for delivery via \fBUUCP\fR.
-+/* .IP \fBn\fR
-+/* Don't rewrite empty \fB$sender\fR. The default is to rewrite empty
-+/* \fB$sender\fR to MAILER-DAEMON.
- /* .IP \fBq\fR
- /* Quote white space and other special characters in the command-line
- /* \fB$sender\fR and \fB$recipient\fR address localparts (text to the
-@@ -399,6 +402,7 @@
- #define PIPE_OPT_FOLD_USER (1<<16)
- #define PIPE_OPT_FOLD_HOST (1<<17)
- #define PIPE_OPT_QUOTE_LOCAL (1<<18)
-+#define PIPE_OPT_ALLOW_NO_SENDER (1<<19)
-
- #define PIPE_OPT_FOLD_FLAGS (PIPE_OPT_FOLD_USER | PIPE_OPT_FOLD_HOST)
-
-@@ -719,6 +723,9 @@ static void get_service_attr(PIPE_ATTR *
- case 'h':
- attr->flags |= PIPE_OPT_FOLD_HOST;
- break;
-+ case 'n':
-+ attr->flags |= PIPE_OPT_ALLOW_NO_SENDER;
-+ break;
- case 'q':
- attr->flags |= PIPE_OPT_QUOTE_LOCAL;
- break;
-@@ -901,22 +908,6 @@ static int deliver_message(DELIVER_REQUE
- msg_info("%s: from <%s>", myname, request->sender);
-
- /*
-- * First of all, replace an empty sender address by the mailer daemon
-- * address. The resolver already fixes empty recipient addresses.
-- *
-- * XXX Should sender and recipient be transformed into external (i.e.
-- * quoted) form? Problem is that the quoting rules are transport
-- * specific. Such information must evidently not be hard coded into
-- * Postfix, but would have to be provided in the form of lookup tables.
-- */
-- if (request->sender[0] == 0) {
-- buf = vstring_alloc(100);
-- canon_addr_internal(buf, MAIL_ADDR_MAIL_DAEMON);
-- myfree(request->sender);
-- request->sender = vstring_export(buf);
-- }
--
-- /*
- * Sanity checks. The get_service_params() and get_service_attr()
- * routines also do some sanity checks. Look up service attributes and
- * config information only once. This is safe since the information comes
-@@ -932,6 +923,22 @@ static int deliver_message(DELIVER_REQUE
- }
-
- /*
-+ * First of all, replace an empty sender address by the mailer daemon
-+ * address. The resolver already fixes empty recipient addresses.
-+ *
-+ * XXX Should sender and recipient be transformed into external (i.e.
-+ * quoted) form? Problem is that the quoting rules are transport
-+ * specific. Such information must evidently not be hard coded into
-+ * Postfix, but would have to be provided in the form of lookup tables.
-+ */
-+ if ((attr.flags & PIPE_OPT_ALLOW_NO_SENDER) == 0 && request->sender[0] == 0) {
-+ buf = vstring_alloc(100);
-+ canon_addr_internal(buf, MAIL_ADDR_MAIL_DAEMON);
-+ myfree(request->sender);
-+ request->sender = vstring_export(buf);
-+ }
-+
-+ /*
- * The D flag cannot be specified for multi-recipient deliveries.
- */
- if ((attr.flags & MAIL_COPY_DELIVERED) && (rcpt_list->len > 1)) {
diff --git a/postfix/postfix-pipe.patch b/postfix/postfix-pipe.patch
deleted file mode 100644
index 185d959..0000000
--- a/postfix/postfix-pipe.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-diff -upr ../postfix-2.1.5.orig/html/pipe.8.html ./html/pipe.8.html
---- ../postfix-2.1.5.orig/html/pipe.8.html 2004-08-09 16:51:09.000000000 +0200
-+++ ./html/pipe.8.html 2004-12-16 13:17:00.000000000 +0100
-@@ -140,6 +140,29 @@ PIPE(8)
- ing information from the Postfix queue manager
- delivery request:
-
-+ <b>${client_address</b>}
-+ This macro expands to the remote client net-
-+ work address.
-+
-+ This is available in Postfix 2.2 and later.
-+
-+ <b>${client_helo</b>}
-+ This macro expands to the remote client HELO
-+ command parameter.
-+
-+ This is available in Postfix 2.2 and later.
-+
-+ <b>${client_hostname</b>}
-+ This macro expands to the remote client
-+ hostname.
-+
-+ This is available in Postfix 2.2 and later.
-+
-+ <b>${client_protocol</b>}
-+ This macro expands to the remote client pro-
-+ tocol.
-+
-+ This is available in Postfix 2.2 and later.
- <b>${extension</b>}
- This macro expands to the extension part of
- a recipient address. For example, with an
-diff -upr ../postfix-2.1.5.orig/man/man8/pipe.8 ./man/man8/pipe.8
---- ../postfix-2.1.5.orig/man/man8/pipe.8 2004-08-09 16:51:07.000000000 +0200
-+++ ./man/man8/pipe.8 2004-12-16 13:16:01.000000000 +0100
-@@ -128,6 +128,22 @@ In the command argument vector, the foll
- and replaced with corresponding information from the Postfix queue
- manager delivery request:
- .RS
-+.IP \fB${\fBclient_address\fR}\fR
-+This macro expands to the remote client network address.
-+.sp
-+This is available in Postfix 2.2 and later.
-+.IP \fB${\fBclient_helo\fR}\fR
-+This macro expands to the remote client HELO command parameter.
-+.sp
-+This is available in Postfix 2.2 and later.
-+.IP \fB${\fBclient_hostname\fR}\fR
-+This macro expands to the remote client hostname.
-+.sp
-+This is available in Postfix 2.2 and later.
-+.IP \fB${\fBclient_protocol\fR}\fR
-+This macro expands to the remote client protocol.
-+.sp
-+This is available in Postfix 2.2 and later.
- .IP \fB${\fBextension\fR}\fR
- This macro expands to the extension part of a recipient address.
- For example, with an address \fIuser+foo@domain\fR the extension is
-Kun i ../postfix-2.1.5.orig: postfix-2.1.5
-diff -upr ../postfix-2.1.5.orig/src/pipe/pipe.c ./src/pipe/pipe.c
---- ../postfix-2.1.5.orig/src/pipe/pipe.c 2004-07-24 01:09:21.000000000 +0200
-+++ ./src/pipe/pipe.c 2004-12-16 13:11:43.000000000 +0100
-@@ -332,6 +332,10 @@
- #define PIPE_DICT_EXTENSION "extension" /* key */
- #define PIPE_DICT_MAILBOX "mailbox" /* key */
- #define PIPE_DICT_SIZE "size" /* key */
-+#define PIPE_DICT_CLIENT_ADDR "client_address" /* key */
-+#define PIPE_DICT_CLIENT_NAME "client_hostname" /* key */
-+#define PIPE_DICT_CLIENT_PROTO "client_protocol" /* key */
-+#define PIPE_DICT_CLIENT_HELO "client_helo" /* key */
-
- /*
- * Flags used to pass back the type of special parameter found by
-@@ -412,6 +416,10 @@ static int parse_callback(int type, VSTR
- PIPE_DICT_EXTENSION, PIPE_FLAG_EXTENSION,
- PIPE_DICT_MAILBOX, PIPE_FLAG_MAILBOX,
- PIPE_DICT_SIZE, 0,
-+ PIPE_DICT_CLIENT_ADDR, 0,
-+ PIPE_DICT_CLIENT_NAME, 0,
-+ PIPE_DICT_CLIENT_PROTO, 0,
-+ PIPE_DICT_CLIENT_HELO, 0,
- 0, 0,
- };
- struct cmd_flags *p;
-@@ -954,6 +962,15 @@ static int deliver_message(DELIVER_REQUE
- dict_update(PIPE_DICT_TABLE, PIPE_DICT_SIZE, STR(buf));
- vstring_free(buf);
-
-+ dict_update(PIPE_DICT_TABLE, PIPE_DICT_CLIENT_ADDR,
-+ request->client_addr);
-+ dict_update(PIPE_DICT_TABLE, PIPE_DICT_CLIENT_HELO,
-+ request->client_helo);
-+ dict_update(PIPE_DICT_TABLE, PIPE_DICT_CLIENT_NAME,
-+ request->client_name);
-+ dict_update(PIPE_DICT_TABLE, PIPE_DICT_CLIENT_PROTO,
-+ request->client_proto);
-+
- if ((expanded_argv = expand_argv(service, attr.command,
- rcpt_list, attr.flags)) == 0) {
- deliver_status = eval_command_status(PIPE_STAT_DEFER, service,