Gitweb:
https://git.exim.org/exim.git/commitdiff/f078f86ef3e6d0119845cdf8603b8174770cacc7
Commit: f078f86ef3e6d0119845cdf8603b8174770cacc7
Parent: baaa69d91ad081a6920f2e29e800a30c8de0255c
Author: Jeremy Harris <jgh146exb@???>
AuthorDate: Wed Aug 14 09:22:10 2024 +0100
Committer: Jeremy Harris <jgh146exb@???>
CommitDate: Wed Aug 14 10:52:01 2024 +0100
docs
---
doc/doc-docbook/spec.xfpt | 9 ++++++++-
doc/doc-txt/NewStuff | 3 ++-
src/src/EDITME | 9 +++++++++
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt
index 94b2b0cd2..84597da83 100644
--- a/doc/doc-docbook/spec.xfpt
+++ b/doc/doc-docbook/spec.xfpt
@@ -2069,8 +2069,9 @@ withdrawn.
-.section "Dynamically loaded lookup module support" "SECTdynamicmodules"
+.section "Dynamically loaded module support" "SECTdynamicmodules"
.cindex "lookup modules"
+.cindex "router modules"
.cindex "dynamic modules"
.cindex ".so building"
On some platforms, Exim supports not compiling all lookup types directly into
@@ -2081,6 +2082,12 @@ library dependencies without requiring all systems to install all of those
dependencies.
Most, but not all, lookup types can be built this way.
+.new
+Similarly, router drivers can be built as external modules.
+This permits a smaller exim binary, growing only as needed for the
+runtime cofiguration.
+.wen
+
Set &`LOOKUP_MODULE_DIR`& to the directory into which the modules will be
installed; Exim will only load modules from that directory, as a security
measure. You will need to set &`CFLAGS_DYNAMIC`& if not already defined
diff --git a/doc/doc-txt/NewStuff b/doc/doc-txt/NewStuff
index d69c1af85..bb7f2290e 100644
--- a/doc/doc-txt/NewStuff
+++ b/doc/doc-txt/NewStuff
@@ -14,7 +14,8 @@ Version 4.98
3. Events smtp:fail:protocol and smtp:fail:syntax
- 4. JSON lookup support can now be built as a lodable module
+ 4. JSON lookup support, and all the router driver except manualroute,
+ can now be built as lodable modules
Version 4.98
------------
diff --git a/src/src/EDITME b/src/src/EDITME
index cf8afbd26..5e755692f 100644
--- a/src/src/EDITME
+++ b/src/src/EDITME
@@ -313,6 +313,15 @@ SPOOL_DIRECTORY=/var/spool/exim
# It has also to be configured in the run time configuration file. By
# commenting out those you know you don't want to use, you can make the binary
# a bit smaller. If you are unsure, leave all of these included for now.
+#
+# If set to "2" instead of "yes" then the corresponding driver will be
+# built as a module and must be installed into LOOKUP_MODULE_DIR (the name
+# is historic).
+# You need to add -export-dynamic -rdynamic to EXTRALIBS. You may also need to
+# add -ldl to EXTRALIBS so that dlopen() is available to Exim. You need to
+# define CFLAGS_DYNAIC and LOOKUP_MODULE_DIR below so the builds are done right,
+# and so the exim binary actually loads dynamic lookup modules.
+# MANUALROUTE cannot currently be built as a module.
ROUTER_ACCEPT=yes
ROUTER_DNSLOOKUP=yes
--
## subscription configuration (requires account):
##
https://lists.exim.org/mailman3/postorius/lists/exim-cvs.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-cvs-unsubscribe@???
## Exim details at
http://www.exim.org/
## Please use the Wiki with this list -
http://wiki.exim.org/