From: Jeremy Harris Date: Wed, 14 Aug 2024 08:22:10 +0000 (+0100) Subject: docs X-Git-Url: https://git.exim.org/exim.git/commitdiff_plain/f078f86ef3e6d0119845cdf8603b8174770cacc7?hp=baaa69d91ad081a6920f2e29e800a30c8de0255c docs --- 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