[packages/exim] Up to 4.96; NOTE ALT SRS implementation is GONE and now there is a new (and incompatible) native SRS
arekm
arekm at pld-linux.org
Mon Jul 4 15:34:10 CEST 2022
commit bb1028e5e3fdf8660a2ceaf9a618f599785e7d19
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Mon Jul 4 15:33:44 2022 +0200
Up to 4.96; NOTE ALT SRS implementation is GONE and now there is a new (and incompatible) native SRS implementation
...0_or_better.patch => 90_localscan_dlopen.dpatch | 34 +-
exim.spec | 26 +-
exim4-EDITME.patch | 9 +
seen.patch | 635 ---------------------
ssl.patch | 20 -
5 files changed, 35 insertions(+), 689 deletions(-)
---
diff --git a/exim.spec b/exim.spec
index 16de1bb..e0c11ba 100644
--- a/exim.spec
+++ b/exim.spec
@@ -7,7 +7,6 @@
%bcond_without sasl # without SASL
%bcond_without ldap # without LDAP support
%bcond_without spf # without spf support
-%bcond_without srs # without srs support
%bcond_with dynamic # dynamic modules
%bcond_without hiredis # without redis
# opendmarc.spec not ready, so off by default
@@ -23,15 +22,15 @@ Summary: University of Cambridge Mail Transfer Agent
Summary(pl.UTF-8): Agent Transferu Poczty Uniwersytetu w Cambridge
Summary(pt_BR.UTF-8): Servidor de correio eletrônico exim
Name: exim
-Version: 4.95
-Release: 4
+Version: 4.96
+Release: 1
Epoch: 2
License: GPL v2+
Group: Networking/Daemons/SMTP
Source0: ftp://ftp.exim.org/pub/exim/exim4/%{name}-%{version}.tar.bz2
-# Source0-md5: 0c66c53a7c9ebdcfae04f9d25821333d
+# Source0-md5: e04a7a2a3456facba0b86dcec0ef4865
Source1: ftp://ftp.exim.org/pub/exim/exim4/%{name}-html-%{version}.tar.bz2
-# Source1-md5: ce74af7115255c4184d97829575bf080
+# Source1-md5: 786f30ba262d34dfd47a10387f845d60
Source2: %{name}.init
Source3: %{name}.cron.db
Source4: %{name}4.conf
@@ -56,12 +55,11 @@ Patch1: %{name}4-monitor-EDITME.patch
Patch2: %{name}4-cflags.patch
Patch3: exim-defs.patch
Patch4: %{name}4-Makefile-Default.patch
-# http://marc.merlins.org/linux/exim/files/sa-exim-cvs/localscan_dlopen_exim_4.20_or_better.patch
-Patch5: localscan_dlopen_%{name}_4.20_or_better.patch
-Patch6: ssl.patch
+# dlopen patch from debian
+Patch5: 90_localscan_dlopen.dpatch
+
Patch7: linelength-show.patch
Patch8: %{name}-spam-timeout.patch
-Patch9: seen.patch
Patch20: %{name}4-disableSSLv3.patch
URL: http://www.exim.org/
@@ -71,14 +69,13 @@ BuildRequires: db-devel
BuildRequires: libidn-devel
BuildRequires: libidn2-devel
%{?with_spf:BuildRequires: libspf2-devel >= 1.2.5-2}
-%{?with_srs:BuildRequires: libsrs_alt-devel >= 1.0}
%{?with_lmdb:BuildRequires: lmdb-devel}
%{?with_mysql:BuildRequires: mysql-devel}
%{?with_dmarc:BuildRequires: opendmarc-devel}
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pam-devel
-BuildRequires: pcre-devel
+BuildRequires: pcre2-8-devel
BuildRequires: perl-devel >= 1:5.6.0
%{?with_pgsql:BuildRequires: postgresql-devel}
BuildRequires: readline-devel
@@ -184,10 +181,9 @@ Pliki nagłówkowe dla Exima.
%patch3 -p1
%patch4 -p1
%patch5 -p1
-%patch6 -p1
+
%patch7 -p1
%patch8 -p1
-%patch9 -p2
install %{SOURCE4} exim4.conf
install %{SOURCE14} doc/config.samples.tar.bz2
@@ -219,10 +215,6 @@ LOOKUP_LIBS+=-lopendmarc
SUPPORT_SPF=yes
LOOKUP_LIBS+=-lspf2
%endif
-%if %{with srs}
-EXPERIMENTAL_SRS_ALT=yes
-LOOKUP_LIBS+=-lsrs_alt
-%endif
%if %{with hiredis}
LOOKUP_REDIS=yes
LOOKUP_LIBS+=-lhiredis
diff --git a/localscan_dlopen_exim_4.20_or_better.patch b/90_localscan_dlopen.dpatch
similarity index 96%
rename from localscan_dlopen_exim_4.20_or_better.patch
rename to 90_localscan_dlopen.dpatch
index f139cb0..a49217c 100644
--- a/localscan_dlopen_exim_4.20_or_better.patch
+++ b/90_localscan_dlopen.dpatch
@@ -6,11 +6,11 @@ Description: Allow one to use and switch between different local_scan functions
Author: David Woodhouse, Derrick 'dman' Hudson, Marc MERLIN
Origin: other, http://marc.merlins.org/linux/exim/files/sa-exim-current/
Forwarded: https://bugs.exim.org/show_bug.cgi?id=2671
-Last-Update: 2021-07-28
+Last-Update: 2022-04-24
--- a/src/EDITME
+++ b/src/EDITME
-@@ -881,10 +881,25 @@
+@@ -871,10 +871,25 @@
# as the traditional crypt() function.
# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
@@ -38,7 +38,7 @@ Last-Update: 2021-07-28
# with the extension "texinfo" in the doc directory. You may find that the
--- a/src/config.h.defaults
+++ b/src/config.h.defaults
-@@ -33,10 +33,12 @@
+@@ -31,10 +31,12 @@
#define AUTH_SPA
#define AUTH_TLS
@@ -53,10 +53,10 @@ Last-Update: 2021-07-28
#define CONFIGURE_FILE_USE_NODE
--- a/src/globals.c
+++ b/src/globals.c
-@@ -119,10 +119,14 @@
+@@ -115,10 +115,14 @@
uschar *dsn_envid = NULL;
int dsn_ret = 0;
- const pcre *regex_DSN = NULL;
+ const pcre2_code *regex_DSN = NULL;
uschar *dsn_advertise_hosts = NULL;
+#ifdef DLOPEN_LOCAL_SCAN
@@ -70,15 +70,16 @@ Last-Update: 2021-07-28
uschar *openssl_options = NULL;
--- a/src/globals.h
+++ b/src/globals.h
-@@ -154,10 +154,13 @@
+@@ -153,10 +153,14 @@
extern uschar *dsn_envid; /* DSN envid string */
extern int dsn_ret; /* DSN ret type*/
- extern const pcre *regex_DSN; /* For recognizing DSN settings */
+ extern const pcre2_code *regex_DSN; /* For recognizing DSN settings */
extern uschar *dsn_advertise_hosts; /* host for which TLS is advertised */
+#ifdef DLOPEN_LOCAL_SCAN
+extern uschar *local_scan_path; /* Path to local_scan() library */
+#endif
++
/* Input-reading functions for messages, so we can use special ones for
incoming TCP/IP. */
@@ -86,9 +87,9 @@ Last-Update: 2021-07-28
extern uschar * (*lwr_receive_getbuf)(unsigned *);
--- a/src/local_scan.c
+++ b/src/local_scan.c
-@@ -4,60 +4,136 @@
-
+@@ -5,60 +5,135 @@
/* Copyright (c) University of Cambridge 1995 - 2009 */
+ /* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
@@ -141,7 +142,6 @@ Last-Update: 2021-07-28
-*/
+#ifdef DLOPEN_LOCAL_SCAN
+#include <dlfcn.h>
-+#include <stdlib.h>
+static int (*local_scan_fn)(int fd, uschar **return_text) = NULL;
+static int load_local_scan_library(void);
+#endif
@@ -293,7 +293,7 @@ Last-Update: 2021-07-28
extern int recipients_count; /* Number of recipients */
extern recipient_item *recipients_list;/* List of recipient addresses */
extern unsigned char *sender_address; /* Sender address */
-@@ -233,6 +237,8 @@
+@@ -234,6 +238,8 @@
extern pid_t child_open_exim_function(int *, const uschar *);
extern pid_t child_open_exim2_function(int *, uschar *, uschar *, const uschar *);
extern pid_t child_open_function(uschar **, uschar **, int, int *, int *, BOOL, const uschar *);
@@ -304,7 +304,7 @@ Last-Update: 2021-07-28
/* End of local_scan.h */
--- a/src/readconf.c
+++ b/src/readconf.c
-@@ -213,10 +213,13 @@
+@@ -210,10 +210,13 @@
#endif
{ "local_from_check", opt_bool, {&local_from_check} },
{ "local_from_prefix", opt_stringptr, {&local_from_prefix} },
@@ -332,11 +332,11 @@ Last-Update: 2021-07-28
*************************************************/
/*
-@@ -468,10 +469,11 @@
- uschar *ss = store_get(n + 1, is_tainted(s));
- Ustrncpy(ss, s, n);
- ss[n] = 0;
- return ss;
+@@ -461,10 +462,11 @@
+ uschar *
+ string_copyn_function(const uschar * s, int n)
+ {
+ return string_copyn(s, n);
}
+#pragma GCC visibility pop
#endif
diff --git a/exim4-EDITME.patch b/exim4-EDITME.patch
index 93de4d5..0703540 100644
--- a/exim4-EDITME.patch
+++ b/exim4-EDITME.patch
@@ -112,6 +112,15 @@
# If you have content scanning you may wish to only include some of the scanner
# interfaces. Uncomment any of these lines to remove that code.
+@@ -587,7 +587,7 @@ DISABLE_MAL_MKS=yes
+
+ # Uncomment the following lines to add SRS (Sender Rewriting Scheme) support
+ # using only native facilities.
+-# SUPPORT_SRS=yes
++SUPPORT_SRS=yes
+
+
+ #------------------------------------------------------------------------------
@@ -752,18 +753,18 @@ FIXED_NEVER_USERS=root
# included in the Exim binary. You will then need to set up the run time
# configuration to make use of the mechanism(s) selected.
diff --git a/seen.patch b/seen.patch
deleted file mode 100644
index 7a2a7fa..0000000
--- a/seen.patch
+++ /dev/null
@@ -1,635 +0,0 @@
-commit 2357aa78ccd7182cad14307eb89cb1065f078356
-Author: Jeremy Harris <jgh146exb at wizmail.org>
-Date: Sun Aug 1 18:15:39 2021 +0100
-
- ACL: "seen" condition
-
-diff --git a/src/src/acl.c b/src/src/acl.c
-index f47259ca0..be17b5768 100644
---- a/src/src/acl.c
-+++ b/src/src/acl.c
-@@ -103,6 +103,7 @@ enum { ACLC_ACL,
- ACLC_REGEX,
- #endif
- ACLC_REMOVE_HEADER,
-+ ACLC_SEEN,
- ACLC_SENDER_DOMAINS,
- ACLC_SENDERS,
- ACLC_SET,
-@@ -288,6 +289,7 @@ static condition_def conditions[] = {
- ACL_BIT_MIME | ACL_BIT_NOTSMTP |
- ACL_BIT_NOTSMTP_START),
- },
-+ [ACLC_SEEN] = { US"seen", TRUE, FALSE, 0 },
- [ACLC_SENDER_DOMAINS] = { US"sender_domains", FALSE, FALSE,
- ACL_BIT_AUTH | ACL_BIT_CONNECT |
- ACL_BIT_HELO |
-@@ -2815,6 +2817,143 @@ return rc;
-
-
-
-+/*************************************************
-+* Handle a check for previously-seen *
-+*************************************************/
-+
-+/*
-+ACL clauses like: seen = -5m / key=$foo / readonly
-+
-+Return is true for condition-true - but the semantics
-+depend heavily on the actual use-case.
-+
-+Negative times test for seen-before, positive for seen-more-recently-than
-+(the given interval before current time).
-+
-+All are subject to history not having been cleaned from the DB.
-+
-+Default for seen-before is to create if not present, and to
-+update if older than 10d (with the seen-test time).
-+Default for seen-since is to always create or update.
-+
-+Options:
-+ key=value. Default key is $sender_host_address
-+ readonly
-+ write
-+ refresh=<interval>: update an existing DB entry older than given
-+ amount. Default refresh lacking this option is 10d.
-+ The update sets the record timestamp to the seen-test time.
-+
-+XXX do we need separate nocreate, noupdate controls?
-+
-+Arguments:
-+ arg the option string for seen=
-+ where ACL_WHERE_xxxx indicating which ACL this is
-+ log_msgptr for error messages
-+
-+Returns: OK - Condition is true
-+ FAIL - Condition is false
-+ DEFER - Problem opening history database
-+ ERROR - Syntax error in options
-+*/
-+
-+static int
-+acl_seen(const uschar * arg, int where, uschar ** log_msgptr)
-+{
-+enum { SEEN_DEFAULT, SEEN_READONLY, SEEN_WRITE };
-+
-+const uschar * list = arg;
-+int slash = '/', equal = '=', interval, mode = SEEN_DEFAULT, yield = FAIL;
-+BOOL before;
-+int refresh = 10 * 24 * 60 * 60; /* 10 days */
-+const uschar * ele, * key = sender_host_address;
-+open_db dbblock, * dbm;
-+dbdata_seen * dbd;
-+time_t now;
-+
-+/* Parse the first element, the time-relation. */
-+
-+if (!(ele = string_nextinlist(&list, &slash, NULL, 0)))
-+ goto badparse;
-+if ((before = *ele == '-'))
-+ ele++;
-+if ((interval = readconf_readtime(ele, 0, FALSE)) < 0)
-+ goto badparse;
-+
-+/* Remaining elements are options */
-+
-+while ((ele = string_nextinlist(&list, &slash, NULL, 0)))
-+ if (Ustrncmp(ele, "key=", 4) == 0)
-+ key = ele + 4;
-+ else if (Ustrcmp(ele, "readonly") == 0)
-+ mode = SEEN_READONLY;
-+ else if (Ustrcmp(ele, "write") == 0)
-+ mode = SEEN_WRITE;
-+ else if (Ustrncmp(ele, "refresh=", 8) == 0)
-+ {
-+ if ((refresh = readconf_readtime(ele + 8, 0, FALSE)) < 0)
-+ goto badparse;
-+ }
-+ else
-+ goto badopt;
-+
-+if (!(dbm = dbfn_open(US"seen", O_RDWR, &dbblock, TRUE, TRUE)))
-+ {
-+ HDEBUG(D_acl) debug_printf_indent("database for 'seen' not available\n");
-+ *log_msgptr = US"database for 'seen' not available";
-+ return DEFER;
-+ }
-+
-+dbd = dbfn_read_with_length(dbm, key, NULL);
-+now = time(NULL);
-+if (dbd) /* an existing record */
-+ {
-+ time_t diff = now - dbd->time_stamp; /* time since the record was written */
-+
-+ if (before ? diff >= interval : diff < interval)
-+ yield = OK;
-+
-+ if (mode == SEEN_READONLY)
-+ { HDEBUG(D_acl) debug_printf_indent("seen db not written (readonly)\n"); }
-+ else if (mode == SEEN_WRITE || !before)
-+ {
-+ dbd->time_stamp = now;
-+ dbfn_write(dbm, key, dbd, sizeof(*dbd));
-+ HDEBUG(D_acl) debug_printf_indent("seen db written (update)\n");
-+ }
-+ else if (diff >= refresh)
-+ {
-+ dbd->time_stamp = now - interval;
-+ dbfn_write(dbm, key, dbd, sizeof(*dbd));
-+ HDEBUG(D_acl) debug_printf_indent("seen db written (refresh)\n");
-+ }
-+ }
-+else
-+ { /* No record found, yield always FAIL */
-+ if (mode != SEEN_READONLY)
-+ {
-+ dbdata_seen d = {.time_stamp = now};
-+ dbfn_write(dbm, key, &d, sizeof(*dbd));
-+ HDEBUG(D_acl) debug_printf_indent("seen db written (create)\n");
-+ }
-+ else
-+ HDEBUG(D_acl) debug_printf_indent("seen db not written (readonly)\n");
-+ }
-+
-+dbfn_close(dbm);
-+return yield;
-+
-+
-+badparse:
-+ *log_msgptr = string_sprintf("failed to parse '%s'", arg);
-+ return ERROR;
-+badopt:
-+ *log_msgptr = string_sprintf("unrecognised option '%s' in '%s'", ele, arg);
-+ return ERROR;
-+}
-+
-+
-+
- /*************************************************
- * The udpsend ACL modifier *
- *************************************************/
-@@ -3740,6 +3879,10 @@ for (; cb; cb = cb->next)
- setup_remove_header(arg);
- break;
-
-+ case ACLC_SEEN:
-+ rc = acl_seen(arg, where, log_msgptr);
-+ break;
-+
- case ACLC_SENDER_DOMAINS:
- {
- uschar *sdomain;
-diff --git a/src/src/dbstuff.h b/src/src/dbstuff.h
-index 2f00dffb4..94db7f7fd 100644
---- a/src/src/dbstuff.h
-+++ b/src/src/dbstuff.h
-@@ -788,6 +788,12 @@ typedef struct {
- uschar bloom[40]; /* Bloom filter which may be larger than this */
- } dbdata_ratelimit_unique;
-
-+
-+/* For "seen" ACL condition */
-+typedef struct {
-+ time_t time_stamp;
-+} dbdata_seen;
-+
- #ifndef DISABLE_PIPE_CONNECT
- /* This structure records the EHLO responses, cleartext and crypted,
- for an IP, as bitmasks (cf. OPTION_TLS). For LIMITS, also values
-diff --git a/src/src/exim_dbutil.c b/src/src/exim_dbutil.c
-index 13f74540e..45b778fc0 100644
---- a/src/src/exim_dbutil.c
-+++ b/src/src/exim_dbutil.c
-@@ -21,7 +21,9 @@ argument is the name of the database file. The available names are:
- misc: miscellaneous hints data
- wait-<t>: message waiting information; <t> is a transport name
- callout: callout verification cache
-+ ratelimit: ACL 'ratelimit' condition
- tls: TLS session resumption cache
-+ seen: ACL 'seen' condition
-
- There are a number of common subroutines, followed by three main programs,
- whose inclusion is controlled by -D on the compilation command. */
-@@ -38,6 +40,7 @@ whose inclusion is controlled by -D on the compilation command. */
- #define type_callout 4
- #define type_ratelimit 5
- #define type_tls 6
-+#define type_seen 7
-
-
- /* This is used by our cut-down dbfn_open(). */
-@@ -126,7 +129,7 @@ static void
- usage(uschar *name, uschar *options)
- {
- printf("Usage: exim_%s%s <spool-directory> <database-name>\n", name, options);
--printf(" <database-name> = retry | misc | wait-<transport-name> | callout | ratelimit | tls\n");
-+printf(" <database-name> = retry | misc | wait-<transport-name> | callout | ratelimit | tls | seen\n");
- exit(1);
- }
-
-@@ -150,6 +153,7 @@ if (argc == 3)
- if (Ustrcmp(argv[2], "callout") == 0) return type_callout;
- if (Ustrcmp(argv[2], "ratelimit") == 0) return type_ratelimit;
- if (Ustrcmp(argv[2], "tls") == 0) return type_tls;
-+ if (Ustrcmp(argv[2], "seen") == 0) return type_seen;
- }
- usage(name, options);
- return -1; /* Never obeyed */
-@@ -581,6 +585,7 @@ for (uschar * key = dbfn_scan(dbm, TRUE, &cursor);
- dbdata_ratelimit *ratelimit;
- dbdata_ratelimit_unique *rate_unique;
- dbdata_tls_session *session;
-+ dbdata_seen *seen;
- int count_bad = 0;
- int length;
- uschar *t;
-@@ -720,6 +725,11 @@ for (uschar * key = dbfn_scan(dbm, TRUE, &cursor);
- session = (dbdata_tls_session *)value;
- printf(" %s %.*s\n", keybuffer, length, session->session);
- break;
-+
-+ case type_seen:
-+ seen = (dbdata_seen *)value;
-+ printf("%s\t%s\n", keybuffer, print_time(seen->time_stamp));
-+ break;
- }
- }
- store_reset(reset_point);
-diff --git a/test/confs/0626 b/test/confs/0626
-new file mode 100644
-index 000000000..872c4b20a
---- /dev/null
-+++ b/test/confs/0626
-@@ -0,0 +1,31 @@
-+# Exim test configuration 0626
-+# ACL seen condition
-+
-+.include DIR/aux-var/std_conf_prefix
-+
-+
-+# ----- Main settings -----
-+
-+primary_hostname = test.ex
-+queue_only
-+
-+acl_smtp_rcpt = chk_rcpt
-+
-+# ----- ACL -----
-+
-+begin acl
-+
-+chk_rcpt:
-+ accept seen = OPT
-+
-+# seen = never / $sender_host_addreee / per_call
-+# seen = before=10s
-+# seen = before=10s / write
-+# seen = since / readonly
-+#
-+# seen = -10s
-+# seen = -10s / readonly
-+# seen = 2s
-+# seen = 0s / update=20d
-+#
-+# End
-diff --git a/test/scripts/0000-Basic/0626 b/test/scripts/0000-Basic/0626
-new file mode 100644
-index 000000000..6da58ee48
---- /dev/null
-+++ b/test/scripts/0000-Basic/0626
-@@ -0,0 +1,82 @@
-+# ACL 'seen' condition
-+#
-+exim -DOPT='-1s' -bh 127.0.0.1
-+HELO test
-+MAIL FROM:<tester at test.ex>
-+RCPT TO:<a1 at test.ex>
-+QUIT
-+****
-+# Check that a hints DB was created.
-+# Only the key is useful thanks to munging; should match the IP used above.
-+dump seen
-+#
-+sleep 1
-+# should now see old-enough record
-+exim -DOPT='-1s' -bh 127.0.0.1
-+HELO test
-+MAIL FROM:<tester at test.ex>
-+RCPT TO:<a1 at test.ex>
-+QUIT
-+****
-+# force an update (visible via debug output in stdout for -bh)
-+exim -DOPT='-1s / write' -bh 127.0.0.1
-+HELO test
-+MAIL FROM:<tester at test.ex>
-+RCPT TO:<a1 at test.ex>
-+QUIT
-+****
-+# default key should change with ip
-+exim -DOPT='-1s' -bh HOSTIPV4
-+HELO test
-+MAIL FROM:<tester at test.ex>
-+RCPT TO:<a1 at test.ex>
-+QUIT
-+****
-+dump seen
-+# explicit key (also checking expansion)
-+exim -DOPT='-1s / key=${sender_host_address}_foo' -bh 127.0.0.1
-+HELO test
-+MAIL FROM:<tester at test.ex>
-+RCPT TO:<a1 at test.ex>
-+QUIT
-+****
-+dump seen
-+# check refresh
-+sleep 1
-+exim -DOPT='-1s / refresh=1s' -bh 127.0.0.1
-+HELO test
-+MAIL FROM:<tester at test.ex>
-+RCPT TO:<a1 at test.ex>
-+QUIT
-+****
-+#
-+#
-+#
-+#
-+#
-+# test for seen-more-recently-than
-+# that previous one should be no older than 5s, so this should pass
-+# do not update
-+# check list-parsing spaceless while we're here
-+exim -DOPT='5s/key=${sender_host_address}_foo/readonly' -bh 127.0.0.1
-+HELO test
-+MAIL FROM:<tester at test.ex>
-+RCPT TO:<a1 at test.ex>
-+QUIT
-+****
-+# check the above no-update by waiting longer than the later-than interval; should fail
-+# should update
-+sleep 2
-+exim -DOPT='1s / key=${sender_host_address}_foo' -bh 127.0.0.1
-+HELO test
-+MAIL FROM:<tester at test.ex>
-+RCPT TO:<a1 at test.ex>
-+QUIT
-+****
-+# having updated, should pass
-+exim -DOPT='1s / key=${sender_host_address}_foo' -bh 127.0.0.1
-+HELO test
-+MAIL FROM:<tester at test.ex>
-+RCPT TO:<a1 at test.ex>
-+QUIT
-+****
-diff --git a/test/stderr/0626 b/test/stderr/0626
-new file mode 100644
-index 000000000..25e96bc4e
---- /dev/null
-+++ b/test/stderr/0626
-@@ -0,0 +1,142 @@
-+>>> host in hosts_connection_nolog? no (option unset)
-+>>> host in host_lookup? no (option unset)
-+>>> host in host_reject_connection? no (option unset)
-+>>> host in sender_unqualified_hosts? no (option unset)
-+>>> host in recipient_unqualified_hosts? no (option unset)
-+>>> host in helo_verify_hosts? no (option unset)
-+>>> host in helo_try_verify_hosts? no (option unset)
-+>>> host in helo_accept_junk_hosts? no (option unset)
-+>>> test in helo_lookup_domains? no (end of list)
-+>>> using ACL "chk_rcpt"
-+>>> processing "accept" (TESTSUITE/test-config 19)
-+>>> check seen = -1s
-+>>> seen db written (create)
-+>>> accept: condition test failed in ACL "chk_rcpt"
-+>>> end of ACL "chk_rcpt": implicit DENY
-+LOG: H=(test) [127.0.0.1] F=<tester at test.ex> rejected RCPT <a1 at test.ex>
-+>>> host in hosts_connection_nolog? no (option unset)
-+>>> host in host_lookup? no (option unset)
-+>>> host in host_reject_connection? no (option unset)
-+>>> host in sender_unqualified_hosts? no (option unset)
-+>>> host in recipient_unqualified_hosts? no (option unset)
-+>>> host in helo_verify_hosts? no (option unset)
-+>>> host in helo_try_verify_hosts? no (option unset)
-+>>> host in helo_accept_junk_hosts? no (option unset)
-+>>> test in helo_lookup_domains? no (end of list)
-+>>> using ACL "chk_rcpt"
-+>>> processing "accept" (TESTSUITE/test-config 19)
-+>>> check seen = -1s
-+>>> accept: condition test succeeded in ACL "chk_rcpt"
-+>>> end of ACL "chk_rcpt": ACCEPT
-+>>> host in hosts_connection_nolog? no (option unset)
-+>>> host in host_lookup? no (option unset)
-+>>> host in host_reject_connection? no (option unset)
-+>>> host in sender_unqualified_hosts? no (option unset)
-+>>> host in recipient_unqualified_hosts? no (option unset)
-+>>> host in helo_verify_hosts? no (option unset)
-+>>> host in helo_try_verify_hosts? no (option unset)
-+>>> host in helo_accept_junk_hosts? no (option unset)
-+>>> test in helo_lookup_domains? no (end of list)
-+>>> using ACL "chk_rcpt"
-+>>> processing "accept" (TESTSUITE/test-config 19)
-+>>> check seen = -1s / write
-+>>> seen db written (update)
-+>>> accept: condition test succeeded in ACL "chk_rcpt"
-+>>> end of ACL "chk_rcpt": ACCEPT
-+>>> host in hosts_connection_nolog? no (option unset)
-+>>> host in host_lookup? no (option unset)
-+>>> host in host_reject_connection? no (option unset)
-+>>> host in sender_unqualified_hosts? no (option unset)
-+>>> host in recipient_unqualified_hosts? no (option unset)
-+>>> host in helo_verify_hosts? no (option unset)
-+>>> host in helo_try_verify_hosts? no (option unset)
-+>>> host in helo_accept_junk_hosts? no (option unset)
-+>>> test in helo_lookup_domains? no (end of list)
-+>>> using ACL "chk_rcpt"
-+>>> processing "accept" (TESTSUITE/test-config 19)
-+>>> check seen = -1s
-+>>> seen db written (create)
-+>>> accept: condition test failed in ACL "chk_rcpt"
-+>>> end of ACL "chk_rcpt": implicit DENY
-+LOG: H=(test) [ip4.ip4.ip4.ip4] F=<tester at test.ex> rejected RCPT <a1 at test.ex>
-+>>> host in hosts_connection_nolog? no (option unset)
-+>>> host in host_lookup? no (option unset)
-+>>> host in host_reject_connection? no (option unset)
-+>>> host in sender_unqualified_hosts? no (option unset)
-+>>> host in recipient_unqualified_hosts? no (option unset)
-+>>> host in helo_verify_hosts? no (option unset)
-+>>> host in helo_try_verify_hosts? no (option unset)
-+>>> host in helo_accept_junk_hosts? no (option unset)
-+>>> test in helo_lookup_domains? no (end of list)
-+>>> using ACL "chk_rcpt"
-+>>> processing "accept" (TESTSUITE/test-config 19)
-+>>> check seen = -1s / key=${sender_host_address}_foo
-+>>> = -1s / key=127.0.0.1_foo
-+>>> seen db written (create)
-+>>> accept: condition test failed in ACL "chk_rcpt"
-+>>> end of ACL "chk_rcpt": implicit DENY
-+LOG: H=(test) [127.0.0.1] F=<tester at test.ex> rejected RCPT <a1 at test.ex>
-+>>> host in hosts_connection_nolog? no (option unset)
-+>>> host in host_lookup? no (option unset)
-+>>> host in host_reject_connection? no (option unset)
-+>>> host in sender_unqualified_hosts? no (option unset)
-+>>> host in recipient_unqualified_hosts? no (option unset)
-+>>> host in helo_verify_hosts? no (option unset)
-+>>> host in helo_try_verify_hosts? no (option unset)
-+>>> host in helo_accept_junk_hosts? no (option unset)
-+>>> test in helo_lookup_domains? no (end of list)
-+>>> using ACL "chk_rcpt"
-+>>> processing "accept" (TESTSUITE/test-config 19)
-+>>> check seen = -1s / refresh=1s
-+>>> seen db written (refresh)
-+>>> accept: condition test succeeded in ACL "chk_rcpt"
-+>>> end of ACL "chk_rcpt": ACCEPT
-+>>> host in hosts_connection_nolog? no (option unset)
-+>>> host in host_lookup? no (option unset)
-+>>> host in host_reject_connection? no (option unset)
-+>>> host in sender_unqualified_hosts? no (option unset)
-+>>> host in recipient_unqualified_hosts? no (option unset)
-+>>> host in helo_verify_hosts? no (option unset)
-+>>> host in helo_try_verify_hosts? no (option unset)
-+>>> host in helo_accept_junk_hosts? no (option unset)
-+>>> test in helo_lookup_domains? no (end of list)
-+>>> using ACL "chk_rcpt"
-+>>> processing "accept" (TESTSUITE/test-config 19)
-+>>> check seen = 5s/key=${sender_host_address}_foo/readonly
-+>>> = 5s/key=127.0.0.1_foo/readonly
-+>>> seen db not written (readonly)
-+>>> accept: condition test succeeded in ACL "chk_rcpt"
-+>>> end of ACL "chk_rcpt": ACCEPT
-+>>> host in hosts_connection_nolog? no (option unset)
-+>>> host in host_lookup? no (option unset)
-+>>> host in host_reject_connection? no (option unset)
-+>>> host in sender_unqualified_hosts? no (option unset)
-+>>> host in recipient_unqualified_hosts? no (option unset)
-+>>> host in helo_verify_hosts? no (option unset)
-+>>> host in helo_try_verify_hosts? no (option unset)
-+>>> host in helo_accept_junk_hosts? no (option unset)
-+>>> test in helo_lookup_domains? no (end of list)
-+>>> using ACL "chk_rcpt"
-+>>> processing "accept" (TESTSUITE/test-config 19)
-+>>> check seen = 1s / key=${sender_host_address}_foo
-+>>> = 1s / key=127.0.0.1_foo
-+>>> seen db written (update)
-+>>> accept: condition test failed in ACL "chk_rcpt"
-+>>> end of ACL "chk_rcpt": implicit DENY
-+LOG: H=(test) [127.0.0.1] F=<tester at test.ex> rejected RCPT <a1 at test.ex>
-+>>> host in hosts_connection_nolog? no (option unset)
-+>>> host in host_lookup? no (option unset)
-+>>> host in host_reject_connection? no (option unset)
-+>>> host in sender_unqualified_hosts? no (option unset)
-+>>> host in recipient_unqualified_hosts? no (option unset)
-+>>> host in helo_verify_hosts? no (option unset)
-+>>> host in helo_try_verify_hosts? no (option unset)
-+>>> host in helo_accept_junk_hosts? no (option unset)
-+>>> test in helo_lookup_domains? no (end of list)
-+>>> using ACL "chk_rcpt"
-+>>> processing "accept" (TESTSUITE/test-config 19)
-+>>> check seen = 1s / key=${sender_host_address}_foo
-+>>> = 1s / key=127.0.0.1_foo
-+>>> seen db written (update)
-+>>> accept: condition test succeeded in ACL "chk_rcpt"
-+>>> end of ACL "chk_rcpt": ACCEPT
-diff --git a/test/stdout/0626 b/test/stdout/0626
-new file mode 100644
-index 000000000..44b481f31
---- /dev/null
-+++ b/test/stdout/0626
-@@ -0,0 +1,99 @@
-+
-+**** SMTP testing session as if from host 127.0.0.1
-+**** but without any ident (RFC 1413) callback.
-+**** This is not for real!
-+
-+220 test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
-+250 test.ex Hello test [127.0.0.1]
-+250 OK
-+550 Administrative prohibition
-+221 test.ex closing connection
-++++++++++++++++++++++++++++
-+127.0.0.1 07-Mar-2000 12:21:52
-+
-+**** SMTP testing session as if from host 127.0.0.1
-+**** but without any ident (RFC 1413) callback.
-+**** This is not for real!
-+
-+220 test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
-+250 test.ex Hello test [127.0.0.1]
-+250 OK
-+250 Accepted
-+221 test.ex closing connection
-+
-+**** SMTP testing session as if from host 127.0.0.1
-+**** but without any ident (RFC 1413) callback.
-+**** This is not for real!
-+
-+220 test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
-+250 test.ex Hello test [127.0.0.1]
-+250 OK
-+250 Accepted
-+221 test.ex closing connection
-+
-+**** SMTP testing session as if from host ip4.ip4.ip4.ip4
-+**** but without any ident (RFC 1413) callback.
-+**** This is not for real!
-+
-+220 test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
-+250 test.ex Hello test [ip4.ip4.ip4.ip4]
-+250 OK
-+550 Administrative prohibition
-+221 test.ex closing connection
-++++++++++++++++++++++++++++
-+ip4.ip4.ip4.ip4 07-Mar-2000 12:21:52
-+127.0.0.1 07-Mar-2000 12:21:52
-+
-+**** SMTP testing session as if from host 127.0.0.1
-+**** but without any ident (RFC 1413) callback.
-+**** This is not for real!
-+
-+220 test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
-+250 test.ex Hello test [127.0.0.1]
-+250 OK
-+550 Administrative prohibition
-+221 test.ex closing connection
-++++++++++++++++++++++++++++
-+127.0.0.1_foo 07-Mar-2000 12:21:52
-+ip4.ip4.ip4.ip4 07-Mar-2000 12:21:52
-+127.0.0.1 07-Mar-2000 12:21:52
-+
-+**** SMTP testing session as if from host 127.0.0.1
-+**** but without any ident (RFC 1413) callback.
-+**** This is not for real!
-+
-+220 test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
-+250 test.ex Hello test [127.0.0.1]
-+250 OK
-+250 Accepted
-+221 test.ex closing connection
-+
-+**** SMTP testing session as if from host 127.0.0.1
-+**** but without any ident (RFC 1413) callback.
-+**** This is not for real!
-+
-+220 test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
-+250 test.ex Hello test [127.0.0.1]
-+250 OK
-+250 Accepted
-+221 test.ex closing connection
-+
-+**** SMTP testing session as if from host 127.0.0.1
-+**** but without any ident (RFC 1413) callback.
-+**** This is not for real!
-+
-+220 test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
-+250 test.ex Hello test [127.0.0.1]
-+250 OK
-+550 Administrative prohibition
-+221 test.ex closing connection
-+
-+**** SMTP testing session as if from host 127.0.0.1
-+**** but without any ident (RFC 1413) callback.
-+**** This is not for real!
-+
-+220 test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
-+250 test.ex Hello test [127.0.0.1]
-+250 OK
-+250 Accepted
-+221 test.ex closing connection
diff --git a/ssl.patch b/ssl.patch
deleted file mode 100644
index 5b736c1..0000000
--- a/ssl.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/src/tls-openssl.c
-+++ a/src/tls-openssl.c
-@@ -232,10 +232,14 @@ static exim_openssl_option exim_openssl_options[] = {
- { US"no_tlsv1", SSL_OP_NO_TLSv1 },
- #endif
- #ifdef SSL_OP_NO_TLSv1_1
--# if SSL_OP_NO_TLSv1_1 == 0x00000400L
-+# if OPENSSL_VERSION_NUMBER < 0x30000000L
-+# if SSL_OP_NO_TLSv1_1 == 0x00000400L
- /* Error in chosen value in 1.0.1a; see first item in CHANGES for 1.0.1b */
--# warning OpenSSL 1.0.1a uses a bad value for SSL_OP_NO_TLSv1_1, ignoring
--# else
-+# warning OpenSSL 1.0.1a uses a bad value for SSL_OP_NO_TLSv1_1, ignoring
-+# define NO_SSL_OP_NO_TLSv1_1
-+# endif
-+# endif
-+# ifndef NO_SSL_OP_NO_TLSv1_1
- { US"no_tlsv1_1", SSL_OP_NO_TLSv1_1 },
- # endif
- #endif
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/exim.git/commitdiff/bb1028e5e3fdf8660a2ceaf9a618f599785e7d19
More information about the pld-cvs-commit
mailing list