Docs: text items for URLs
[exim.git] / doc / doc-docbook / spec.xfpt
index 600eee4afbef200a9de892f55e82b0b51263c0ac..d7c2da911571f9b9a62e9b670a1b56b28dee626b 100644 (file)
@@ -446,7 +446,7 @@ website, are hosted at the University of Cambridge.
 .cindex "FAQ"
 As well as Exim distribution tar files, the Exim website contains a number of
 differently formatted versions of the documentation. A recent addition to the
 .cindex "FAQ"
 As well as Exim distribution tar files, the Exim website contains a number of
 differently formatted versions of the documentation. A recent addition to the
-online information is the Exim wiki (&url(https://wiki.exim.org)),
+online information is &url(https://wiki.exim.org,the Exim wiki),
 which contains what used to be a separate FAQ, as well as various other
 examples, tips, and know-how that have been contributed by Exim users.
 The wiki site should always redirect to the correct place, which is currently
 which contains what used to be a separate FAQ, as well as various other
 examples, tips, and know-how that have been contributed by Exim users.
 The wiki site should always redirect to the correct place, which is currently
@@ -487,7 +487,7 @@ lists.
 .cindex "bug reports"
 .cindex "reporting bugs"
 Reports of obvious bugs can be emailed to &'bugs@exim.org'& or reported
 .cindex "bug reports"
 .cindex "reporting bugs"
 Reports of obvious bugs can be emailed to &'bugs@exim.org'& or reported
-via the Bugzilla (&url(https://bugs.exim.org)). However, if you are unsure
+via &url(https://bugs.exim.org,the Bugzilla). However, if you are unsure
 whether some behaviour is a bug or not, the best thing to do is to post a
 message to the &'exim-dev'& mailing list and have it discussed.
 
 whether some behaviour is a bug or not, the best thing to do is to post a
 message to the &'exim-dev'& mailing list and have it discussed.
 
@@ -1811,7 +1811,7 @@ Yet another DBM library, called &'tdb'&, is available from
 &url(https://sourceforge.net/projects/tdb/files/). It has its own interface, and also
 operates on a single file.
 .next
 &url(https://sourceforge.net/projects/tdb/files/). It has its own interface, and also
 operates on a single file.
 .next
-It is possible to use sqlite3 (&url(https://www.sqlite.org/index.html))
+It is possible to use &url(https://www.sqlite.org/index.html,sqlite3)
 for the DBM library.
 .endlist
 
 for the DBM library.
 .endlist
 
@@ -3080,7 +3080,7 @@ acceptable or not. See section &<<SECTcheckaccess>>&.
 Features such as authentication and encryption, where the client input is not
 plain text, cannot easily be tested with &%-bh%&. Instead, you should use a
 specialized SMTP test program such as
 Features such as authentication and encryption, where the client input is not
 plain text, cannot easily be tested with &%-bh%&. Instead, you should use a
 specialized SMTP test program such as
-&url(https://www.jetmore.org/john/code/swaks/,swaks).
+&url(https://www.jetmore.org/john/code/swaks/,swaks,swaks).
 
 .cmdopt -bhc <&'IP&~address'&>
 This option operates in the same way as &%-bh%&, except that address
 
 .cmdopt -bhc <&'IP&~address'&>
 This option operates in the same way as &%-bh%&, except that address
@@ -5475,7 +5475,7 @@ list items, it is not ignored when parsing the list. The spaces around the first
 colon in the example above are necessary. If they were not there, the list would
 be interpreted as the two items 127.0.0.1:: and 1.
 
 colon in the example above are necessary. If they were not there, the list would
 be interpreted as the two items 127.0.0.1:: and 1.
 
-.section "Changing list separators" "SECTlistsepchange"
+.subsection "Changing list separators" "SECTlistsepchange"
 .cindex "list separator" "changing"
 .cindex "IPv6" "addresses in lists"
 Doubling colons in IPv6 addresses is an unwelcome chore, so a mechanism was
 .cindex "list separator" "changing"
 .cindex "IPv6" "addresses in lists"
 Doubling colons in IPv6 addresses is an unwelcome chore, so a mechanism was
@@ -5516,7 +5516,7 @@ enclosing an empty list item.
 
 
 
 
 
 
-.section "Empty items in lists" "SECTempitelis"
+.subsection "Empty items in lists" "SECTempitelis"
 .cindex "list" "empty item in"
 An empty item at the end of a list is always ignored. In other words, trailing
 separator characters are ignored. Thus, the list in
 .cindex "list" "empty item in"
 An empty item at the end of a list is always ignored. In other words, trailing
 separator characters are ignored. Thus, the list in
@@ -6990,7 +6990,7 @@ For elements of type string, the returned value is de-quoted.
 The given file is an LMDB database.
 LMDB is a memory-mapped key-value store,
 with API modeled loosely on that of BerkeleyDB.
 The given file is an LMDB database.
 LMDB is a memory-mapped key-value store,
 with API modeled loosely on that of BerkeleyDB.
-See &url(https://symas.com/products/lightning-memory-mapped-database/)
+See &url(https://symas.com/products/lightning-memory-mapped-database/,LMDB)
 for the feature set and operation modes.
 
 Exim provides read-only access via the LMDB C library.
 for the feature set and operation modes.
 
 Exim provides read-only access via the LMDB C library.
@@ -10833,7 +10833,7 @@ will sort an MX lookup into priority order.
 
 
 .vitem &*${srs_encode&~{*&<&'secret'&>&*}{*&<&'return&~path'&>&*}{*&<&'original&~domain'&>&*}}*&
 
 
 .vitem &*${srs_encode&~{*&<&'secret'&>&*}{*&<&'return&~path'&>&*}{*&<&'original&~domain'&>&*}}*&
-SRS encoding.  See SECT &<<SECTSRS>>& for details.
+SRS encoding.  See section &<<SECTSRS>>& for details.
 
 
 
 
 
 
@@ -28933,7 +28933,7 @@ The &(spa)& authenticator provides client support for Microsoft's &'Secure
 Password Authentication'& mechanism,
 which is also sometimes known as NTLM (NT LanMan). The code for client side of
 this authenticator was contributed by Marc Prud'hommeaux, and much of it is
 Password Authentication'& mechanism,
 which is also sometimes known as NTLM (NT LanMan). The code for client side of
 this authenticator was contributed by Marc Prud'hommeaux, and much of it is
-taken from the Samba project (&url(https://www.samba.org/)). The code for the
+taken from the &url(https://www.samba.org/,Samba project). The code for the
 server side was subsequently contributed by Tom Kistner. The mechanism works as
 follows:
 
 server side was subsequently contributed by Tom Kistner. The mechanism works as
 follows:
 
@@ -29021,8 +29021,8 @@ msn:
 .cindex "Certificate-based authentication"
 The &(external)& authenticator provides support for
 authentication based on non-SMTP information.
 .cindex "Certificate-based authentication"
 The &(external)& authenticator provides support for
 authentication based on non-SMTP information.
-The specification is in RFC 4422 Appendix A
-(&url(https://tools.ietf.org/html/rfc4422)).
+The specification is in
+&url(https://tools.ietf.org/html/rfc4422,PFC 4422) Appendix A.
 It is only a transport and negotiation mechanism;
 the process of authentication is entirely controlled
 by the server configuration.
 It is only a transport and negotiation mechanism;
 the process of authentication is entirely controlled
 by the server configuration.
@@ -29033,7 +29033,7 @@ and for clients to only attempt,
 this authentication method on a secure (eg. under TLS) connection.
 
 One possible use, compatible with the
 this authentication method on a secure (eg. under TLS) connection.
 
 One possible use, compatible with the
-K-9 Mail Android client (&url(https://k9mail.github.io/)),
+&url(https://k9mail.github.io/,K-9 Mail Android client)
 is for using X509 client certificates.
 
 It thus overlaps in function with the TLS authenticator
 is for using X509 client certificates.
 
 It thus overlaps in function with the TLS authenticator
@@ -32055,12 +32055,17 @@ This control turns off DKIM verification processing entirely.  For details on
 the operation and configuration of DKIM, see section &<<SECDKIM>>&.
 
 
 the operation and configuration of DKIM, see section &<<SECDKIM>>&.
 
 
-.vitem &*control&~=&~dmarc_disable_verify*&
+.vitem &*control&~=&~dmarc_disable_verify*& &&&
+       &*control&~=&~dmarc_enable_forensic*&
 .cindex "disable DMARC verify"
 .cindex "disable DMARC verify"
-.cindex "DMARC" "disable verify"
-This control turns off DMARC verification processing entirely.  For details on
+.cindex DMARC "disable verify"
+.cindex DMARC controls
+.cindex DMARC "forensic mails"
+These control affect DMARC processing.  For details on
 the operation and configuration of DMARC, see section &<<SECDMARC>>&.
 
 the operation and configuration of DMARC, see section &<<SECDMARC>>&.
 
+The &"disable"& turns off DMARC verification processing entirely.
+
 
 .vitem &*control&~=&~dscp/*&<&'value'&>
 .cindex "&ACL;" "setting DSCP value"
 
 .vitem &*control&~=&~dscp/*&<&'value'&>
 .cindex "&ACL;" "setting DSCP value"
@@ -41062,20 +41067,31 @@ will be used during message reception.
 .next
 A queue runner process retains root privilege throughout its execution. Its
 job is to fork a controlled sequence of delivery processes.
 .next
 A queue runner process retains root privilege throughout its execution. Its
 job is to fork a controlled sequence of delivery processes.
+
 .next
 .next
-A delivery process retains root privilege throughout most of its execution,
-but any actual deliveries (that is, the transports themselves) are run in
-subprocesses which always change to a non-root uid and gid. For local
-deliveries this is typically the uid and gid of the owner of the mailbox; for
-remote deliveries, the Exim uid and gid are used. Once all the delivery
+A delivery process retains root privilege throughout most of its execution.,
+including while the recipient addresses in a message are being routed.
+
+.ilist
+However, if a user's filter file has to be processed,
+this is done in a subprocess that runs under the individual user's uid and
+gid. A system filter is run as root unless &%system_filter_user%& is set.
+.endlist
+
+Any actual deliveries (that is, the transports themselves) are run in
+subprocesses which always change to a non-root uid and gid.
+.ilist
+For local
+deliveries this is typically the uid and gid of the owner of the mailbox.
+.next
+For remote deliveries, the Exim uid and gid are used.
+.endlist
+
+Once all the delivery
 subprocesses have been run, a delivery process changes to the Exim uid and gid
 while doing post-delivery tidying up such as updating the retry database and
 generating bounce and warning messages.
 
 subprocesses have been run, a delivery process changes to the Exim uid and gid
 while doing post-delivery tidying up such as updating the retry database and
 generating bounce and warning messages.
 
-While the recipient addresses in a message are being routed, the delivery
-process runs as root. However, if a user's filter file has to be processed,
-this is done in a subprocess that runs under the individual user's uid and
-gid. A system filter is run as root unless &%system_filter_user%& is set.
 .next
 A process that is testing addresses (the &%-bt%& option) runs as root so that
 the routing is done in the same environment as a message delivery.
 .next
 A process that is testing addresses (the &%-bt%& option) runs as root so that
 the routing is done in the same environment as a message delivery.
@@ -41888,8 +41904,9 @@ To generate keys under OpenSSL:
 openssl genrsa -out dkim_rsa.private 2048
 openssl rsa -in dkim_rsa.private -out /dev/stdout -pubout -outform PEM
 .endd
 openssl genrsa -out dkim_rsa.private 2048
 openssl rsa -in dkim_rsa.private -out /dev/stdout -pubout -outform PEM
 .endd
-The result file from the first command should be retained, and
-this option set to use it.
+The result file from the first command should be retained,
+permissions set so that Exim can read it,
+and this option set to use it.
 Take the base-64 lines from the output of the second command, concatenated,
 for the DNS TXT record.
 See section 3.6 of RFC6376 for the record specification.
 Take the base-64 lines from the output of the second command, concatenated,
 for the DNS TXT record.
 See section 3.6 of RFC6376 for the record specification.
@@ -42314,6 +42331,12 @@ This includes retransmissions done by traditional forwarders.
 SPF verification support is built into Exim if SUPPORT_SPF=yes is set in
 &_Local/Makefile_&.  The support uses the &_libspf2_& library
 &url(https://www.libspf2.org/).
 SPF verification support is built into Exim if SUPPORT_SPF=yes is set in
 &_Local/Makefile_&.  The support uses the &_libspf2_& library
 &url(https://www.libspf2.org/).
+.new
+.cindex "dynamic modules"
+The support can be built as a dynamic-load module if desired;
+see the comments in that Makefile.
+.wen
+
 There is no Exim involvement in the transmission of messages;
 publishing certain DNS records is all that is required.
 
 There is no Exim involvement in the transmission of messages;
 publishing certain DNS records is all that is required.
 
@@ -42610,14 +42633,14 @@ Example usage:
 DMARC combines feedback from SPF, DKIM, and header From: in order
 to attempt to provide better indicators of the authenticity of an
 email.  This document does not explain the fundamentals; you
 DMARC combines feedback from SPF, DKIM, and header From: in order
 to attempt to provide better indicators of the authenticity of an
 email.  This document does not explain the fundamentals; you
-should read and understand how it works by visiting the website at
-&url(http://www.dmarc.org/).
+should read and understand how it works by visiting the
+&url(http://www.dmarc.org/,DMARC website).
 
 If Exim is built with DMARC support,
 the libopendmarc library is used.
 
 For building Exim yourself, obtain the library from
 
 If Exim is built with DMARC support,
 the libopendmarc library is used.
 
 For building Exim yourself, obtain the library from
-&url(http://sourceforge.net/projects/opendmarc/)
+&url(http://sourceforge.net/projects/opendmarc/,sourceforge)
 to obtain a copy, or find it in your favorite package
 repository.  You will need to attend to the local/Makefile feature
 SUPPORT_DMARC and the associated LDFLAGS addition.
 to obtain a copy, or find it in your favorite package
 repository.  You will need to attend to the local/Makefile feature
 SUPPORT_DMARC and the associated LDFLAGS addition.