Broken-by: cf0c61644d7d, ce93c6d840d5, 520ef00f56ce
JH/18 Bug 3068: Log a warning for use of deprecated syntax in query-style
lookups.
JH/18 Bug 3068: Log a warning for use of deprecated syntax in query-style
lookups.
+JH/19 Fix TLS startup. When the last expansion done before the initiation of a
+ TLS session resulted in a forced-fail, a misleading error was logged for
+ the expansino of tls_certificates. This would affect the common case of
+ that option being set (main-section options) but not having any vriable
+ parts. It could also potentially affect tls_privatekeys. The underlyding
+ coding errors go back to 4.90 but were only exposed in 4.97.
+
Exim version 4.97
-----------------
Exim version 4.97
-----------------
const uschar *
expand_string_2(const uschar * string, BOOL * textonly_p)
{
const uschar *
expand_string_2(const uschar * string, BOOL * textonly_p)
{
+f.expand_string_forcedfail = f.search_find_defer = malformed_header = FALSE;
if (Ustrpbrk(string, "$\\") != NULL)
{
int old_pool = store_pool;
uschar * s;
if (Ustrpbrk(string, "$\\") != NULL)
{
int old_pool = store_pool;
uschar * s;
- f.search_find_defer = FALSE;
- malformed_header = FALSE;
store_pool = POOL_MAIN;
s = expand_string_internal(string, ESI_HONOR_DOLLAR, NULL, NULL, textonly_p);
store_pool = old_pool;
store_pool = POOL_MAIN;
s = expand_string_internal(string, ESI_HONOR_DOLLAR, NULL, NULL, textonly_p);
store_pool = old_pool;
uschar ** result, uschar ** errstr)
{
if (!s)
uschar ** result, uschar ** errstr)
{
if (!s)
+ {
+ f.expand_string_forcedfail = FALSE;
else if ( !(*result = expand_string(US s)) /* need to clean up const more */
&& !f.expand_string_forcedfail
)
else if ( !(*result = expand_string(US s)) /* need to clean up const more */
&& !f.expand_string_forcedfail
)