X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/db3f7b6972f3b003c0413b78afcfbe295ffe0b97..9f01e50d7efc5c625614e4e055790ca4a92a52a8:/src/src/retry.c diff --git a/src/src/retry.c b/src/src/retry.c index dc39813fb..d068f547d 100644 --- a/src/src/retry.c +++ b/src/src/retry.c @@ -170,7 +170,7 @@ if ((node = tree_search(tree_unusable, host_key))) /* Open the retry database, giving up if there isn't one. Otherwise, search for the retry records, and then close the database again. */ -if (!(dbm_file = dbfn_open(US"retry", O_RDONLY, &dbblock, FALSE))) +if (!(dbm_file = dbfn_open(US"retry", O_RDONLY, &dbblock, FALSE, TRUE))) { DEBUG(D_deliver|D_retry|D_hints_lookup) debug_printf("no retry data available\n"); @@ -291,7 +291,7 @@ Returns: nothing void retry_add_item(address_item *addr, uschar *key, int flags) { -retry_item *rti = store_get(sizeof(retry_item)); +retry_item *rti = store_get(sizeof(retry_item), FALSE); host_item * host = addr->host_used; rti->next = addr->retries; @@ -580,7 +580,7 @@ for (int i = 0; i < 3; i++) reached their retry next try time. */ if (!dbm_file) - dbm_file = dbfn_open(US"retry", O_RDWR, &dbblock, TRUE); + dbm_file = dbfn_open(US"retry", O_RDWR, &dbblock, TRUE, TRUE); if (!dbm_file) { @@ -666,7 +666,8 @@ for (int i = 0; i < 3; i++) if (!retry_record) { - retry_record = store_get(sizeof(dbdata_retry) + message_length); + retry_record = store_get(sizeof(dbdata_retry) + message_length, + is_tainted(message)); message_space = message_length; retry_record->first_failed = now; retry_record->last_try = now; @@ -810,7 +811,7 @@ for (int i = 0; i < 3; i++) if (message_length > message_space) { - dbdata_retry *newr = store_get(sizeof(dbdata_retry) + message_length); + dbdata_retry *newr = store_get(sizeof(dbdata_retry) + message_length, FALSE); memcpy(newr, retry_record, sizeof(dbdata_retry)); retry_record = newr; }