]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
wip: only switch to tcp on TC=1
authorŠtěpán Balážik <stepan.balazik@nic.cz>
Wed, 17 Feb 2021 18:07:19 +0000 (19:07 +0100)
committerŠtěpán Balážik <stepan.balazik@nic.cz>
Wed, 17 Feb 2021 18:07:19 +0000 (19:07 +0100)
lib/selection.c

index c6fa1e3dd661ea774d45224fad61b369276de47b..9e91f5beb558b36cd84498021f272fe58c1b3ad7 100644 (file)
@@ -381,8 +381,7 @@ struct kr_transport *select_transport(struct choice choices[], int choices_len,
        enum kr_transport_protocol protocol;
        if (chosen->address_state->tls_capable) {
                protocol = KR_TRANSPORT_TLS;
-       } else if (tcp ||
-                  chosen->address_state->errors[KR_SELECTION_QUERY_TIMEOUT] >= TCP_TIMEOUT_THRESHOLD) {
+       } else if (tcp) {
                protocol = KR_TRANSPORT_TCP;
        } else {
                protocol = KR_TRANSPORT_UDP;
@@ -528,10 +527,10 @@ void error(struct kr_query *qry, struct address_state *addr_state,
                addr_state->broken = true;
                break;
        case KR_SELECTION_MISMATCHED:
-               if (qry->flags.NO_0X20 && qry->flags.TCP) {
+               if (qry->flags.NO_0X20) { // && qry->flags.TCP) {
                        addr_state->broken = true;
                } else {
-                       qry->flags.TCP = true;
+                       // qry->flags.TCP = true;
                        qry->flags.NO_0X20 = true;
                }
                break;
@@ -546,11 +545,11 @@ void error(struct kr_query *qry, struct address_state *addr_state,
                break;
        case KR_SELECTION_REFUSED:
        case KR_SELECTION_SERVFAIL:
-               if (qry->flags.NO_MINIMIZE && qry->flags.NO_0X20 && qry->flags.TCP) {
+               if (qry->flags.NO_MINIMIZE && qry->flags.NO_0X20) { // && qry->flags.TCP) {
                        addr_state->broken = true;
                } else if (qry->flags.NO_MINIMIZE) {
                        qry->flags.NO_0X20 = true;
-                       qry->flags.TCP = true;
+                       // qry->flags.TCP = true;
                } else {
                        qry->flags.NO_MINIMIZE = true;
                }