diff --git a/src/resolve/resolved-dns-transaction.c b/src/resolve/resolved-dns-transaction.c index 6acf251d60..30429cd9b6 100644 --- a/src/resolve/resolved-dns-transaction.c +++ b/src/resolve/resolved-dns-transaction.c @@ -1622,7 +1622,7 @@ static int dns_transaction_prepare(DnsTransaction *t, usec_t ts) { return 0; } - if (t->n_attempts >= dns_transaction_attempts_max(t->scope->protocol, t->probing)) { + if (t->n_attempts >= TRANSACTION_ATTEMPTS_MAX(t->scope->protocol)) { DnsTransactionState result; if (t->scope->protocol == DNS_PROTOCOL_LLMNR) diff --git a/src/resolve/resolved-dns-transaction.h b/src/resolve/resolved-dns-transaction.h index f4cb5d3d8d..498cabb7e5 100644 --- a/src/resolve/resolved-dns-transaction.h +++ b/src/resolve/resolved-dns-transaction.h @@ -214,31 +214,11 @@ DnsTransactionSource dns_transaction_source_from_string(const char *s) _pure_; /* Maximum attempts to send LLMNR requests, see RFC 4795 Section 2.7 */ #define LLMNR_TRANSACTION_ATTEMPTS_MAX 3 -/* Maximum attempts to send MDNS requests is one except for probe requests, see RFC 6762 Section 8.1 - * RFC 6762 differentiates between normal (single-shot/continuous) and probe requests. - * It therefore makes sense to attempt each normal query only once with no retries. - * Otherwise we'd be sending out three attempts for even a normal query. */ -#define MDNS_TRANSACTION_ATTEMPTS_MAX 1 +/* Maximum attempts to send MDNS requests, see RFC 6762 Section 8.1 */ +#define MDNS_TRANSACTION_ATTEMPTS_MAX 3 -#define MDNS_PROBE_TRANSACTION_ATTEMPTS_MAX 3 - -static inline unsigned dns_transaction_attempts_max(DnsProtocol p, bool probing) { - - switch (p) { - - case DNS_PROTOCOL_LLMNR: - return LLMNR_TRANSACTION_ATTEMPTS_MAX; - - case DNS_PROTOCOL_MDNS: - if (probing) - return MDNS_PROBE_TRANSACTION_ATTEMPTS_MAX; - else - return MDNS_TRANSACTION_ATTEMPTS_MAX; - - case DNS_PROTOCOL_DNS: - return DNS_TRANSACTION_ATTEMPTS_MAX; - - default: - return 0; - } -} +#define TRANSACTION_ATTEMPTS_MAX(p) (((p) == DNS_PROTOCOL_LLMNR) ? \ + LLMNR_TRANSACTION_ATTEMPTS_MAX : \ + (((p) == DNS_PROTOCOL_MDNS) ? \ + MDNS_TRANSACTION_ATTEMPTS_MAX : \ + DNS_TRANSACTION_ATTEMPTS_MAX))