]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolve: drop DNS_TRANSACTION_UPSTREAM_DNSSEC_FAILURE
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 10 Jan 2024 01:10:06 +0000 (10:10 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 10 Jan 2024 04:14:14 +0000 (13:14 +0900)
This partially reverts commit 9ca133e97a0c8795b1f293ccea4965b4ad1accc4.

Not only there is no reason to introduce a new transaction failure state,
but also the commit introduces several severe issues.

Fixes #30776, #30779.

src/resolve/resolved-bus.c
src/resolve/resolved-dns-transaction.c
src/resolve/resolved-dns-transaction.h

index 8c9475cd3dee16380b3c720ae6040937b8526129..ef3f5237a9ea131aa2a2aed458db83611048458b 100644 (file)
@@ -189,11 +189,6 @@ static int reply_query_state(DnsQuery *q) {
                 return sd_bus_reply_method_error(req, &error);
         }
 
-        case DNS_TRANSACTION_UPSTREAM_DNSSEC_FAILURE:
-                return reply_method_errorf(q, BUS_ERROR_DNSSEC_FAILED, "DNSSEC validation failed upstream: %s%s%s",
-                                           dns_ede_rcode_to_string(q->answer_ede_rcode),
-                                           isempty(q->answer_ede_msg) ? "" : ": ", q->answer_ede_msg);
-
         case DNS_TRANSACTION_NULL:
         case DNS_TRANSACTION_PENDING:
         case DNS_TRANSACTION_VALIDATING:
index aeae08f2f61ebae0d3f270168ac49962a6b68944..12c48deb662577886b229d51c67cad43585df70c 100644 (file)
@@ -411,21 +411,6 @@ void dns_transaction_complete(DnsTransaction *t, DnsTransactionState state) {
                            "DNS_SERVER_FEATURE_LEVEL=%s", dns_server_feature_level_to_string(t->server->possible_feature_level));
         }
 
-        if (state == DNS_TRANSACTION_UPSTREAM_DNSSEC_FAILURE) {
-                dns_resource_key_to_string(dns_transaction_key(t), key_str, sizeof key_str);
-
-                log_struct(LOG_NOTICE,
-                           "MESSAGE_ID=" SD_MESSAGE_DNSSEC_FAILURE_STR,
-                           LOG_MESSAGE("Upstream resolver reported failure for question %s: %s%s%s",
-                                       key_str, dns_ede_rcode_to_string(t->answer_ede_rcode),
-                                       isempty(t->answer_ede_msg) ? "" : ": ", t->answer_ede_msg),
-                           "DNS_TRANSACTION=%" PRIu16, t->id,
-                           "DNS_QUESTION=%s", key_str,
-                           "DNS_EDE_RCODE=%s", dns_ede_rcode_to_string(t->answer_ede_rcode),
-                           "DNS_SERVER=%s", strna(dns_server_string_full(t->server)),
-                           "DNS_SERVER_FEATURE_LEVEL=%s", dns_server_feature_level_to_string(t->server->possible_feature_level));
-        }
-
         /* Note that this call might invalidate the query. Callers
          * should hence not attempt to access the query or transaction
          * after calling this function. */
@@ -1241,7 +1226,7 @@ void dns_transaction_process_reply(DnsTransaction *t, DnsPacket *p, bool encrypt
                                                   FORMAT_DNS_EDE_RCODE(t->answer_ede_rcode),
                                                   isempty(t->answer_ede_msg) ? "" : ": ",
                                                   strempty(t->answer_ede_msg));
-                                        dns_transaction_complete(t, DNS_TRANSACTION_UPSTREAM_DNSSEC_FAILURE);
+                                        dns_transaction_complete(t, DNS_TRANSACTION_DNSSEC_FAILED);
                                         return;
                                 }
 
index 1188708d8f5f41c4c1f902a41fd649f0ab1fa729..6de4cdd749122848d2382287604fa29ca6eed7df 100644 (file)
@@ -20,7 +20,6 @@ enum DnsTransactionState {
         DNS_TRANSACTION_PENDING,
         DNS_TRANSACTION_VALIDATING,
         DNS_TRANSACTION_RCODE_FAILURE,
-        DNS_TRANSACTION_UPSTREAM_DNSSEC_FAILURE,
         DNS_TRANSACTION_SUCCESS,
         DNS_TRANSACTION_NO_SERVERS,
         DNS_TRANSACTION_TIMEOUT,