X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/36d295f1bf078693127e1ad556603968767bd9ce..25beaee4c28ed29a37078e6c68fa3d18ced6ec8c:/src/src/retry.c diff --git a/src/src/retry.c b/src/src/retry.c index abfeeb4fb..0a2f12656 100644 --- a/src/src/retry.c +++ b/src/src/retry.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2018 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions concerned with retrying unsuccessful deliveries. */ @@ -54,8 +54,8 @@ if (retry != NULL && retry->rules != NULL) last_rule = last_rule->next); DEBUG(D_retry) debug_printf(" received_time=%d diff=%d timeout=%d\n", - received_time, (int)(now - received_time), last_rule->timeout); - address_timeout = (now - received_time > last_rule->timeout); + (int)received_time.tv_sec, (int)(now - received_time.tv_sec), last_rule->timeout); + address_timeout = (now - received_time.tv_sec > last_rule->timeout); } else { @@ -217,7 +217,7 @@ if (host_retry_record) /* We have not reached the next try time. Check for the ultimate address timeout if the host has not expired. */ - if (now < host_retry_record->next_try && !deliver_force) + if (now < host_retry_record->next_try && !f.deliver_force) { if (!host_retry_record->expired && retry_ultimate_address_timeout(host_key, domain, @@ -245,7 +245,7 @@ unless the ultimate address timeout has been reached. */ if (message_retry_record) { *retry_message_key = message_key; - if (now < message_retry_record->next_try && !deliver_force) + if (now < message_retry_record->next_try && !f.deliver_force) { if (!retry_ultimate_address_timeout(host_key, domain, message_retry_record, now)) @@ -754,7 +754,7 @@ for (i = 0; i < 3; i++) this is a small bit of code, and it does no harm to leave it in place, just in case. */ - if ( received_time <= retry_record->first_failed + if ( received_time.tv_sec <= retry_record->first_failed && addr == endaddr && !retry_record->expired && rule) @@ -762,7 +762,7 @@ for (i = 0; i < 3; i++) retry_rule *last_rule; for (last_rule = rule; last_rule->next; last_rule = last_rule->next) ; - if (now - received_time > last_rule->timeout) + if (now - received_time.tv_sec > last_rule->timeout) { DEBUG(D_retry) debug_printf("on queue longer than maximum retry\n"); timedout_count++; @@ -888,16 +888,17 @@ for (i = 0; i < 3; i++) for (;; addr = addr->next) { setflag(addr, af_retry_timedout); - addr->message = (addr->message == NULL)? US"retry timeout exceeded" : - string_sprintf("%s: retry timeout exceeded", addr->message); - addr->user_message = (addr->user_message == NULL)? - US"retry timeout exceeded" : - string_sprintf("%s: retry timeout exceeded", addr->user_message); + addr->message = addr->message + ? string_sprintf("%s: retry timeout exceeded", addr->message) + : US"retry timeout exceeded"; + addr->user_message = addr->user_message + ? string_sprintf("%s: retry timeout exceeded", addr->user_message) + : US"retry timeout exceeded"; log_write(0, LOG_MAIN, "** %s%s%s%s: retry timeout exceeded", addr->address, - (addr->parent == NULL)? US"" : US" <", - (addr->parent == NULL)? US"" : addr->parent->address, - (addr->parent == NULL)? US"" : US">"); + addr->parent ? US" <" : US"", + addr->parent ? addr->parent->address : US"", + addr->parent ? US">" : US""); if (addr == endaddr) break; }