jetmore 2010/06/12 16:21:26 BST
Modified files:
exim-doc/doc-docbook spec.xfpt
exim-doc/doc-txt ChangeLog NewStuff OptionLists.txt
exim-src/src EDITME buildconfig.c config.h.defaults
globals.c globals.h readconf.c smtp_in.c
Log:
Add tcp_wrappers_daemon_name (closes: bug #278)
(I honestly have no memory of writing this patch...)
Revision Changes Path
1.87 +8 -3 exim/exim-doc/doc-docbook/spec.xfpt
1.632 +4 -0 exim/exim-doc/doc-txt/ChangeLog
1.175 +7 -0 exim/exim-doc/doc-txt/NewStuff
1.38 +2 -0 exim/exim-doc/doc-txt/OptionLists.txt
1.27 +7 -0 exim/exim-src/src/EDITME
1.20 +2 -1 exim/exim-src/src/buildconfig.c
1.20 +1 -0 exim/exim-src/src/config.h.defaults
1.88 +3 -0 exim/exim-src/src/globals.c
1.69 +3 -0 exim/exim-src/src/globals.h
1.44 +3 -0 exim/exim-src/src/readconf.c
1.67 +9 -1 exim/exim-src/src/smtp_in.c
Index: spec.xfpt
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-docbook/spec.xfpt,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -r1.86 -r1.87
--- spec.xfpt 9 Jun 2010 01:30:16 -0000 1.86
+++ spec.xfpt 12 Jun 2010 15:21:25 -0000 1.87
@@ -1,4 +1,4 @@
-. $Cambridge: exim/exim-doc/doc-docbook/spec.xfpt,v 1.86 2010/06/09 01:30:16 pdp Exp $
+. $Cambridge: exim/exim-doc/doc-docbook/spec.xfpt,v 1.87 2010/06/12 15:21:25 jetmore Exp $
.
. /////////////////////////////////////////////////////////////////////////////
. This is the primary source of the Exim Manual. It is an xfpt document that is
@@ -1896,6 +1896,8 @@
.section "Use of tcpwrappers" "SECID27"
.cindex "tcpwrappers, building Exim to support"
.cindex "USE_TCP_WRAPPERS"
+.cindex "TCP_WRAPPERS_DAEMON_NAME"
+.cindex "tcp_wrappers_daemon_name"
Exim can be linked with the &'tcpwrappers'& library in order to check incoming
SMTP calls using the &'tcpwrappers'& control files. This may be a convenient
alternative to Exim's own checking facilities for installations that are
@@ -1910,14 +1912,17 @@
CFLAGS=-O -I/usr/local/include
EXTRALIBS_EXIM=-L/usr/local/lib -lwrap
.endd
-in &_Local/Makefile_&. The name to use in the &'tcpwrappers'& control files is
-&"exim"&. For example, the line
+in &_Local/Makefile_&. The daemon name to use in the &'tcpwrappers'& control
+files is &"exim"&. For example, the line
.code
exim : LOCAL 192.168.1. .friendly.domain.example
.endd
in your &_/etc/hosts.allow_& file allows connections from the local host, from
the subnet 192.168.1.0/24, and from all hosts in &'friendly.domain.example'&.
-All other connections are denied. Consult the &'tcpwrappers'& documentation for
+All other connections are denied. The daemon name used by &'tcpwrappers'&
+can be changed at build time by setting TCP_WRAPPERS_DAEMON_NAME in
+in &_Local/Makefile_&, or by setting tcp_wrappers_daemon_name in the
+configure file. Consult the &'tcpwrappers'& documentation for
further details.
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.631
retrieving revision 1.632
diff -u -r1.631 -r1.632
--- ChangeLog 9 Jun 2010 01:30:16 -0000 1.631
+++ ChangeLog 12 Jun 2010 15:21:25 -0000 1.632
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.631 2010/06/09 01:30:16 pdp Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.632 2010/06/12 15:21:25 jetmore Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -50,6 +50,10 @@
condition rules, instead of bool{}. Make both bool{} and bool_lax{}
ignore trailing whitespace.
+JJ/02 prevent non-panic DKIM error from being sent to paniclog
+
+JJ/03 added tcp_wrappers_daemon_name to allow host entries other than
+ "exim" to be used
Exim version 4.72
-----------------
Index: NewStuff
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/NewStuff,v
retrieving revision 1.174
retrieving revision 1.175
diff -u -r1.174 -r1.175
--- NewStuff 7 Jun 2010 08:23:20 -0000 1.174
+++ NewStuff 12 Jun 2010 15:21:25 -0000 1.175
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.174 2010/06/07 08:23:20 pdp Exp $
+$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.175 2010/06/12 15:21:25 jetmore Exp $
New Features in Exim
--------------------
@@ -83,6 +83,13 @@
9. Routers now support multiple "condition" tests,
+10. There is now a runtime configuration option "tcp_wrappers_daemon_name".
+ Setting this allows an admin to define which entry in the tcpwrappers
+ config file will be used to control access to the daemon. This option
+ is only available when Exim is built with USE_TCP_WRAPPERS. The
+ default value is set at build time using the TCP_WRAPPERS_DAEMON_NAME
+ build option.
+
Version 4.72
------------
Index: OptionLists.txt
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/OptionLists.txt,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- OptionLists.txt 6 Jun 2010 02:08:50 -0000 1.37
+++ OptionLists.txt 12 Jun 2010 15:21:25 -0000 1.38
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/OptionLists.txt,v 1.37 2010/06/06 02:08:50 pdp Exp $
+$Cambridge: exim/exim-doc/doc-txt/OptionLists.txt,v 1.38 2010/06/12 15:21:25 jetmore Exp $
LISTS OF EXIM OPTIONS
---------------------
@@ -529,6 +529,7 @@
system_filter_user string unset main 4.00 replacing message_filter
tcp_nodelay boolean true main 4.23
true smtp 4.23
+tcp_wrappers_daemon_name string* ++ main 4.73
temp_errors string list + pipe 1.95
text string* unset autoreply
timeout time 5m lmtp 3.20
@@ -909,6 +910,7 @@
SYSLOG_LOG_PID optional add pid to syslog lines
SYSLOG_LONG_LINES optional do not split long syslog lines
SYSTEM_ALIASES_FILE optional defaults to /etc/aliases
+TCP_WRAPPERS_DAEMON_NAME system* daemon name used by tcpwrappers libraru
TIMEZONE_DEFAULT optional default for timezone option
TLS_INCLUDE optional path to include files for TLS
TLS_LIBS optional additional libraries for TLS
Index: EDITME
===================================================================
RCS file: /home/cvs/exim/exim-src/src/EDITME,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- EDITME 6 Jun 2010 02:46:13 -0000 1.26
+++ EDITME 12 Jun 2010 15:21:25 -0000 1.27
@@ -1,4 +1,4 @@
-# $Cambridge: exim/exim-src/src/EDITME,v 1.26 2010/06/06 02:46:13 pdp Exp $
+# $Cambridge: exim/exim-src/src/EDITME,v 1.27 2010/06/12 15:21:25 jetmore Exp $
##################################################
# The Exim mail transport agent #
@@ -847,6 +847,13 @@
#
# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
# as well.
+#
+# To use a name other than exim in the tcpwrappers config file,
+# e.g. if you're running multiple daemons with different access lists,
+# or multiple MTAs with the same access list, define
+# TCP_WRAPPERS_DAEMON_NAME accordingly
+#
+# TCP_WRAPPERS_DAEMON_NAME="exim"
#------------------------------------------------------------------------------
Index: buildconfig.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/buildconfig.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- buildconfig.c 7 Jun 2010 18:25:57 -0000 1.19
+++ buildconfig.c 12 Jun 2010 15:21:26 -0000 1.20
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/buildconfig.c,v 1.19 2010/06/07 18:25:57 pdp Exp $ */
+/* $Cambridge: exim/exim-src/src/buildconfig.c,v 1.20 2010/06/12 15:21:26 jetmore Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -807,9 +807,10 @@
fprintf(new, "\"%s\"\n", value);
}
- /* Timezone values and HEADERS_CHARSET get quoted */
+ /* Timezone values HEADERS_CHARSET, and TCP_WRAPPERS_DAEMON_NAME get quoted */
else if (strcmp(name, "TIMEZONE_DEFAULT") == 0||
+ strcmp(name, "TCP_WRAPPERS_DAEMON_NAME") == 0||
strcmp(name, "HEADERS_CHARSET") == 0)
fprintf(new, "\"%s\"\n", value);
Index: config.h.defaults
===================================================================
RCS file: /home/cvs/exim/exim-src/src/config.h.defaults,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- config.h.defaults 5 Jun 2010 11:13:29 -0000 1.19
+++ config.h.defaults 12 Jun 2010 15:21:26 -0000 1.20
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/config.h.defaults,v 1.19 2010/06/05 11:13:29 pdp Exp $ */
+/* $Cambridge: exim/exim-src/src/config.h.defaults,v 1.20 2010/06/12 15:21:26 jetmore Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -128,6 +128,7 @@
#define SYSLOG_LOG_PID
#define SYSLOG_LONG_LINES
+#define TCP_WRAPPERS_DAEMON_NAME "exim"
#define TIMEZONE_DEFAULT
#define TMPDIR
Index: globals.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/globals.c,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -r1.87 -r1.88
--- globals.c 5 Jun 2010 09:10:10 -0000 1.87
+++ globals.c 12 Jun 2010 15:21:26 -0000 1.88
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/globals.c,v 1.87 2010/06/05 09:10:10 pdp Exp $ */
+/* $Cambridge: exim/exim-src/src/globals.c,v 1.88 2010/06/12 15:21:26 jetmore Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -1193,6 +1193,9 @@
BOOL system_filtering = FALSE;
BOOL tcp_nodelay = TRUE;
+#ifdef USE_TCP_WRAPPERS
+uschar *tcp_wrappers_daemon_name = US TCP_WRAPPERS_DAEMON_NAME;
+#endif
int test_harness_load_avg = 0;
int thismessage_size_limit = 0;
int timeout_frozen_after = 0;
Index: globals.h
===================================================================
RCS file: /home/cvs/exim/exim-src/src/globals.h,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- globals.h 5 Jun 2010 09:10:10 -0000 1.68
+++ globals.h 12 Jun 2010 15:21:26 -0000 1.69
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/globals.h,v 1.68 2010/06/05 09:10:10 pdp Exp $ */
+/* $Cambridge: exim/exim-src/src/globals.h,v 1.69 2010/06/12 15:21:26 jetmore Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -758,6 +758,9 @@
extern BOOL system_filtering; /* TRUE when running system filter */
extern BOOL tcp_nodelay; /* Controls TCP_NODELAY on daemon */
+#ifdef USE_TCP_WRAPPERS
+extern uschar *tcp_wrappers_daemon_name; /* tcpwrappers daemon lookup name */
+#endif
extern int test_harness_load_avg; /* For use when testing */
extern int thismessage_size_limit; /* Limit for this message */
extern int timeout_frozen_after; /* Max time to keep frozen messages */
Index: readconf.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/readconf.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- readconf.c 7 Jun 2010 08:23:20 -0000 1.43
+++ readconf.c 12 Jun 2010 15:21:26 -0000 1.44
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/readconf.c,v 1.43 2010/06/07 08:23:20 pdp Exp $ */
+/* $Cambridge: exim/exim-src/src/readconf.c,v 1.44 2010/06/12 15:21:26 jetmore Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -399,6 +399,9 @@
{ "system_filter_reply_transport",opt_stringptr,&system_filter_reply_transport },
{ "system_filter_user", opt_uid, &system_filter_uid },
{ "tcp_nodelay", opt_bool, &tcp_nodelay },
+#ifdef USE_TCP_WRAPPERS
+ { "tcp_wrappers_daemon_name", opt_stringptr, &tcp_wrappers_daemon_name },
+#endif
{ "timeout_frozen_after", opt_time, &timeout_frozen_after },
{ "timezone", opt_stringptr, &timezone_string },
#ifdef SUPPORT_TLS
Index: smtp_in.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/smtp_in.c,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- smtp_in.c 16 Nov 2009 19:50:37 -0000 1.66
+++ smtp_in.c 12 Jun 2010 15:21:26 -0000 1.67
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/smtp_in.c,v 1.66 2009/11/16 19:50:37 nm4 Exp $ */
+/* $Cambridge: exim/exim-src/src/smtp_in.c,v 1.67 2010/06/12 15:21:26 jetmore Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -31,6 +31,7 @@
int allow_severity = LOG_INFO;
int deny_severity = LOG_NOTICE;
+uschar *tcp_wrappers_name;
#endif
@@ -1692,7 +1693,14 @@
#ifdef USE_TCP_WRAPPERS
errno = 0;
- if (!hosts_ctl("exim",
+ tcp_wrappers_name = expand_string(tcp_wrappers_daemon_name);
+ if (tcp_wrappers_name == NULL)
+ {
+ log_write(0, LOG_MAIN|LOG_PANIC_DIE, "Expansion of \"%s\" "
+ "(tcp_wrappers_name) failed: %s", string_printing(tcp_wrappers_name),
+ expand_string_message);
+ }
+ if (!hosts_ctl(tcp_wrappers_name,
(sender_host_name == NULL)? STRING_UNKNOWN : CS sender_host_name,
(sender_host_address == NULL)? STRING_UNKNOWN : CS sender_host_address,
(sender_ident == NULL)? STRING_UNKNOWN : CS sender_ident))