* Exim - an Internet mail transport agent *
*************************************************/
+/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
-/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
/* Functions for writing spool files, and moving them about. */
static void
spool_var_write(FILE * fp, const uschar * name, const uschar * val)
{
-if (is_tainted(val)) putc('-', fp);
-fprintf(fp, "-%s %s\n", name, val);
+putc('-', fp);
+if (is_tainted(val))
+ {
+ int q = quoter_for_address(val);
+ putc('-', fp);
+ if (is_real_quoter(q)) fprintf(fp, "(%s)", lookup_list[q]->name);
+ }
+fprintf(fp, "%s %s\n", name, val);
}
/*************************************************
if (sender_host_address)
{
if (is_tainted(sender_host_address)) putc('-', fp);
- fprintf(fp, "-host_address %s.%d\n", sender_host_address, sender_host_port);
+ fprintf(fp, "-host_address [%s]:%d\n", sender_host_address, sender_host_port);
if (sender_host_name)
spool_var_write(fp, US"host_name", sender_host_name);
}
if (interface_address)
{
if (is_tainted(interface_address)) putc('-', fp);
- fprintf(fp, "-interface_address %s.%d\n", interface_address, interface_port);
+ fprintf(fp, "-interface_address [%s]:%d\n", interface_address, interface_port);
}
if (smtp_active_hostname != primary_hostname)
/* Now any other data that needs to be remembered. */
+if (*debuglog_name)
+ {
+ fprintf(fp, "-debug_selector 0x%x\n", debug_selector);
+ fprintf(fp, "-debuglog_name %s\n", debuglog_name);
+ }
+
if (f.spool_file_wireformat)
fprintf(fp, "-spool_file_wireformat\n");
else
uschar * dest_qname = queue_name_dest ? queue_name_dest : queue_name;
/* Since we are working within the spool, de-taint the dest queue name */
-dest_qname = string_copy_taint(dest_qname, FALSE);
+dest_qname = string_copy_taint(dest_qname, GET_UNTAINTED);
/* Create any output directories that do not exist. */