Documentation: edit text for clarity. File:
proto/MILTER_README.html.
+
+20220529
+
+ Documentation: Cyrus SASL configuration file location.
+ Viktor Dukhovni. File: proto/SASL_README.html.
+
+20220617
+
+ Cleanup: missing <stdio.h> include was causing a warning
+ on some platform. posttls-finger/posttls-finger.c.
+
+20220620
+
+ Documentation: inet_interfaces and proxy_interfaces
+ descriptions. File: proto/postconf.proto.
+
+
+20220719
+
+ Cleanup: debug logging noise in map_search_create(). Files:
+ global/map_search.c, global/map_search.ref.
+
+20220724
+
+ Workaround: in a TLS server disable Postfix's 1-element
+ internal session cache, to work around an OpenSSL 3.0
+ regression that broke TLS handshakes. It is rarely useful.
+ Report by Spil Oss, fix by Viktor Dukhovni. File:
+ tls/tls_server.c.
* Cyrus SASL version 2.1.22 and newer additionally search in /etc/sasl2/.
- * Some Postfix distributions are modified and look for the Cyrus SASL
- configuration file in /etc/postfix/sasl/, /var/lib/sasl2/ etc. See the
- distribution-specific documentation to determine the expected location.
+ * li>
+ With Postfix 2.5 and later you can explicitly configure the search path via
+ the cyrus_sasl_config_path configuration parameter. Specify zero or more
+ colon-separated directories. If set empty (the default value) the search
+ path is the one compiled into the Cyrus SASL library.
+
+Some Postfix distributions employ a non-empty default value for
+cyrus_sasl_config_path to look for the Cyrus SASL configuration file in /etc/
+postfix/sasl/, /var/lib/sasl2/ etc. See the output of postconf
+cyrus_sasl_config_path and/or the distribution-specific documentation to
+determine the expected location.
N\bNo\bot\bte\be
Enforce var_line_limit in util/attr_scan*c.
+ Investigate clang-format compatibility compared to indent.
+
Can tests use LD_PRELOAD to inject fake modules such as
fake_dns(3), fake_msg(3), fake_myaddrinfo(3) and so on?
One limitation is that functions etc. in a preloaded object
<li> <p> Cyrus SASL version 2.1.22 and newer additionally search
in <code>/etc/sasl2/</code>. </p> </li>
-<li> <p> Some Postfix distributions are modified and look for the
-Cyrus SASL configuration file in <code>/etc/postfix/sasl/</code>,
-<code>/var/lib/sasl2/</code> etc. See the distribution-specific
+li> <p> With Postfix 2.5 and later you can explicitly configure the
+search path via the <code><a href="postconf.5.html#cyrus_sasl_config_path">cyrus_sasl_config_path</a></code> configuration
+parameter. Specify zero or more colon-separated directories. If
+set empty (the default value) the search path is the one compiled
+into the Cyrus SASL library. </p> </li>
+
+<li> <p> Some Postfix distributions employ a non-empty default value
+for <code><a href="postconf.5.html#cyrus_sasl_config_path">cyrus_sasl_config_path</a></code> to look for the Cyrus SASL
+configuration file in <code>/etc/postfix/sasl/</code>,
+<code>/var/lib/sasl2/</code> etc. See the output of <code>postconf
+<a href="postconf.5.html#cyrus_sasl_config_path">cyrus_sasl_config_path</a></code> and/or the distribution-specific
documentation to determine the expected location. </p> </li>
</ul>
<DT><b><a name="inet_interfaces">inet_interfaces</a>
(default: all)</b></DT><DD>
-<p> The network interface addresses that this mail system receives
+<p> The local network interface addresses that this mail system receives
mail on. Specify "all" to receive mail on all network
interfaces (default), and "loopback-only" to receive mail
on loopback network interfaces only (Postfix version 2.2 and later). The
(default: empty)</b></DT><DD>
<p>
-The network interface addresses that this mail system receives mail
+The remote network interface addresses that this mail system receives mail
on by way of a proxy or network address translation unit.
</p>
.PP
Specify 0 to disable the feature. Valid delays are 0..10.
.SH inet_interfaces (default: all)
-The network interface addresses that this mail system receives
+The local network interface addresses that this mail system receives
mail on. Specify "all" to receive mail on all network
interfaces (default), and "loopback\-only" to receive mail
on loopback network interfaces only (Postfix version 2.2 and later). The
.ad
.ft R
.SH proxy_interfaces (default: empty)
-The network interface addresses that this mail system receives mail
+The remote network interface addresses that this mail system receives mail
on by way of a proxy or network address translation unit.
.PP
This feature is available in Postfix 2.0 and later.
<li> <p> Cyrus SASL version 2.1.22 and newer additionally search
in <code>/etc/sasl2/</code>. </p> </li>
-<li> <p> Some Postfix distributions are modified and look for the
-Cyrus SASL configuration file in <code>/etc/postfix/sasl/</code>,
-<code>/var/lib/sasl2/</code> etc. See the distribution-specific
+li> <p> With Postfix 2.5 and later you can explicitly configure the
+search path via the <code>cyrus_sasl_config_path</code> configuration
+parameter. Specify zero or more colon-separated directories. If
+set empty (the default value) the search path is the one compiled
+into the Cyrus SASL library. </p> </li>
+
+<li> <p> Some Postfix distributions employ a non-empty default value
+for <code>cyrus_sasl_config_path</code> to look for the Cyrus SASL
+configuration file in <code>/etc/postfix/sasl/</code>,
+<code>/var/lib/sasl2/</code> etc. See the output of <code>postconf
+cyrus_sasl_config_path</code> and/or the distribution-specific
documentation to determine the expected location. </p> </li>
</ul>
%PARAM inet_interfaces all
-<p> The network interface addresses that this mail system receives
+<p> The local network interface addresses that this mail system receives
mail on. Specify "all" to receive mail on all network
interfaces (default), and "loopback-only" to receive mail
on loopback network interfaces only (Postfix version 2.2 and later). The
%PARAM proxy_interfaces
<p>
-The network interface addresses that this mail system receives mail
+The remote network interface addresses that this mail system receives mail
on by way of a proxy or network address translation unit.
</p>
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
-#define MAIL_RELEASE_DATE "20220527"
+#define MAIL_RELEASE_DATE "20220724"
#define MAIL_VERSION_NUMBER "3.8"
#ifdef SNAPSHOT
MAP_SEARCH_CREATE_RETURN(0);
}
}
- msg_info("split_nameval(\"%s\"", attr_name_val);
if ((const_err = split_nameval(attr_name_val, &attr_name,
&attr_value)) != 0) {
msg_warn("malformed map attribute in '%s': '%s'",
unknown: warning: malformed map specification: '{type}'
unknown: warning: expected maptype:mapname instead of 'type'
unknown: test case 5: '{type:name foo}'
-unknown: split_nameval("foo"
unknown: warning: malformed map attribute in '{type:name foo}': 'missing '=' after attribute name'
unknown: test case 6: '{type:name foo=bar}'
-unknown: split_nameval("foo=bar"
unknown: warning: unknown map attribute in '{type:name foo=bar}': 'foo'
unknown: test case 7: '{type:name search_order=}'
-unknown: split_nameval("search_order="
unknown: test case 8: '{type:name search_order=one, two}'
-unknown: split_nameval("search_order=one"
-unknown: split_nameval("two"
unknown: warning: malformed map attribute in '{type:name search_order=one, two}': 'missing '=' after attribute name'
unknown: test case 9: '{type:name {search_order=one, two}}'
-unknown: split_nameval("search_order=one, two"
unknown: test case 10: '{type:name {search_order=one, two, bad}}'
-unknown: split_nameval("search_order=one, two, bad"
unknown: warning: unknown search type 'bad' in '{type:name {search_order=one, two, bad}}'
unknown: test case 11: '{inline:{a=b} {search_order=one, two}}'
-unknown: split_nameval("search_order=one, two"
#include <stdarg.h>
#include <string.h>
#include <ctype.h>
+#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
sizeof(server_session_id_context));
SSL_CTX_set_session_cache_mode(server_ctx,
SSL_SESS_CACHE_SERVER |
+ SSL_SESS_CACHE_NO_INTERNAL |
SSL_SESS_CACHE_NO_AUTO_CLEAR);
if (cachable) {
app_ctx->cache_type = mystrdup(props->cache_type);