X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/d854d3a946bd9d03bee67b66109ae70fb4281a0e..ce905061fc5b4fe76ea83f6074d2445f61c67d40:/doc/doc-docbook/spec.xfpt diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt index d18b09dfe..688f55465 100644 --- a/doc/doc-docbook/spec.xfpt +++ b/doc/doc-docbook/spec.xfpt @@ -46,7 +46,7 @@ . ///////////////////////////////////////////////////////////////////////////// .set previousversion "4.75" -.set version "4.76" +.set version "4.77" .set ACL "access control lists (ACLs)" .set I "    " @@ -174,8 +174,8 @@ EximMaintainers EM - 4.76 - 06 May 2011 + 4.77 + 03 Oct 2011 EM 2011University of Cambridge @@ -7779,7 +7779,7 @@ pattern must be an appropriate query for the lookup type, as described in chapter &<>&. For example: .code hold_domains = mysql;select domain from holdlist \ - where domain = '$domain'; + where domain = '${quote_mysql:$domain}'; .endd In most cases, the data that is looked up is not used (so for an SQL query, for example, it doesn't matter what field you select). Exim is interested only in @@ -10079,6 +10079,25 @@ string is lexically greater than the second string. For &%gt%& the comparison includes the case of letters, whereas for &%gti%& the comparison is case-independent. +.new +.vitem &*inlist&~{*&<&'string1'&>&*}{*&<&'string2'&>&*}*& &&& + &*inlisti&~{*&<&'string1'&>&*}{*&<&'string2'&>&*}*& +.cindex "string" "comparison" +.cindex "list" "iterative conditions" +Both strings are expanded; the second string is treated as a list of simple +strings; if the first string is a member of the second, then the condition +is true. + +These are simpler to use versions of the more powerful &*forany*& condition. +Examples, and the &*forany*& equivalents: +.code +${if inlist{needle}{foo:needle:bar}} + ${if forany{foo:needle:bar}{eq{$item}{needle}}} +${if inlisti{Needle}{fOo:NeeDLE:bAr}} + ${if forany{fOo:NeeDLE:bAr}{eqi{$item}{Needle}}} +.endd +.wen + .vitem &*isip&~{*&<&'string'&>&*}*& &&& &*isip4&~{*&<&'string'&>&*}*& &&& &*isip6&~{*&<&'string'&>&*}*& @@ -10265,6 +10284,11 @@ item can be used, as in all address lists, to cause subsequent items to have their local parts matched casefully. Domains are always matched caselessly. +.new +Note that <&'string2'&> is not itself subject to string expansion, unless +Exim was built with the EXPAND_LISTMATCH_RHS option. +.wen + &*Note*&: Host lists are &'not'& supported in this way. This is because hosts have two identities: a name and an IP address, and it is not clear how to specify cleanly how such a test would work. However, IP addresses can be @@ -24595,8 +24619,14 @@ DHE_DSS). The default list contains RSA, DHE_DSS, DHE_RSA. For &%gnutls_require_mac%&, the recognized names are SHA (synonym SHA1), and MD5. The default list contains SHA, MD5. -For &%gnutls_require_protocols%&, the recognized names are TLS1 and SSL3. -The default list contains TLS1, SSL3. +.new +For &%gnutls_require_protocols%&, the recognized names are TLS1.2, TLS1.1, +TLS1.0, (TLS1) and SSL3. +The default list contains TLS1.2, TLS1.1, TLS1.0, SSL3. +TLS1 is an alias for TLS1.0, for backwards compatibility. +For sufficiently old versions of the GnuTLS library, TLS1.2 or TLS1.1 might +not be supported and will not be recognised by Exim. +.wen In a server, the order of items in these lists is unimportant. The server advertises the availability of all the relevant cipher suites. However, in a