From patchwork Thu Dec 18 11:35:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carlos Peon Costa X-Patchwork-Id: 126774 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 774BE4BA2E20 for ; Thu, 18 Dec 2025 11:36:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 774BE4BA2E20 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=gWqr4C9e X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by sourceware.org (Postfix) with ESMTPS id 0ECED4BA2E24 for ; Thu, 18 Dec 2025 11:36:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0ECED4BA2E24 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0ECED4BA2E24 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1766057764; cv=none; b=LQGMlFvTC84a7jIgUgnjocG6HttaHI/kETv0ElvwvjyBEqu3mCJOWf8kHOFEbFrmuPNlN0Ei+A+GHUllSIkW179RCkCsCgNJBxYvwImI5uXEH0dWueeNWdJp6v21BiJpqnH2KC/WkZqAQkfEDaVvopgB+Ent1p9pni0kKvXn49g= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1766057764; c=relaxed/simple; bh=3zgU4KFzmpQ693Q9gwcNRGGJZxfTfuQUMj93fVa/Xcs=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=YKGn3Q3X1mdRGDkyXBonWWKpnbO9MotFzMmZoyyeaxlB4gVS8bIja0oeMC8yOAOLOBrosmRevO7gIt4tudazWIZxM1gFLpsgXZqoxOKIhz/OfXQ3cyeKwKjKz1E1gwoHD2ydtZ6gh9g1e7KIOyhRWjCNIelx9n/iHeDPphtskqE= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0ECED4BA2E24 Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-42fbc305882so270175f8f.0 for ; Thu, 18 Dec 2025 03:36:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766057763; x=1766662563; darn=sourceware.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=0jwZdUgPB9jONTnTbV/Z6w/aeqh5KdVUDGZLG28FdIo=; b=gWqr4C9edbGbnCazOwdyAjw3q2L5mPdqg5xHmz3hlOKOyi1mnXavzdRczasa4xBPdi tf0Fm4zM6MD67PmppsObGRRw2T+YjPA73g3hCouKjjQteSYJpQk4YjNLPYNwdcD8L22m fxffthV8RjQJeaPa3ZbkCLRfPNFfgZFiVwToHgmnkSVApTRbHDicMjZvPtuvjoHxa35e 5qQPmUE1xp6qpFs1LfLF16ztX9XzL0/tFpJ5ZWiyqra99wE9N4RkrUn832uymUO4UkaZ tpMRf179Xv3pAwswyYoV20MEZAB/CgQYvQMKkneaHdwWgpI20/VBeChK7jKxXzc45WZj uFkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766057763; x=1766662563; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=0jwZdUgPB9jONTnTbV/Z6w/aeqh5KdVUDGZLG28FdIo=; b=W0XfuabAa42n3MKrnOcjkLMejNLdhC6dIcb4pH6ZQJrt53uwzegXjZC11sGesB6I3H 52fEkBy1TftIV2lprXS+AF2fWc84gHybfg1dQMlPgdHHg9mqzjknM0QP1KFAdxkYfr8D zmNYoLZIpoNlBa3h1hjxhBml6FkYN/RhTefmc2u9lNgT7O7sSLAPteC8vEBrGfQDOHHu i/it1W0RA1SH6Aq8oqI1acXcp/kxebhWRpMZPCQU3+D1M/lUsKruuTSQQWSizi9c6hTK x3cs0qv2XLoXS3eBzD0GrBiYvSYpBHmcwjR68i+V6wR7aOW8vbiWoyJex2tbX/lwA7Ug sm8Q== X-Gm-Message-State: AOJu0YxdbvlCuyDw24WDV+JvNQ2ifnRdMHHHMbgsj6+ylCAefczjeqAA wsU+AxxbUzXVUDP+03g4c/Ok/Xn1QoDUvqKyGewAfbt2Tn5KIYNpKGInQ/EMVw== X-Gm-Gg: AY/fxX4YeK78gtHDnkwnb6xsQ/swfXZIMNZNpwclcLJrpFbQg/dBzCftQFdkx4L6nXo qkzLhCtYNnlh1pplX4FSbi/kEWTJcTCrFIi0wmPg0Mi+7Mpwhbd/Fb0C8L0aUwUUPT8fwNVP3sO JuCIWJGgRVaImsrZ9Z0PF6J7jZpszuMX/qOZv5CBtdUTy8gLbW15hexJtZC33fFmYSxazQIYHS3 BRE+wh0VnU3pZ8gP8SsE/yY6ljCnKVat14iVCrZ1BUiaOJ5n9ZLROEXjQjhEv+c7TsLohmi+Eg8 LLn4iA5cegEFTwi23DxkgUc25H2XftDU1cBWf1wQxO29TF4m5Ny//W/J7WclszLAy/bbCt8NE/T rkn9zXCkr9GENZJPuhyQ8GQLQjLqpFoQgavJrcKtpEHxDyzZGqtN9qQIdrjRqkNK6H6B1E3FSNy k37mctF0g6czB6GsGU2XL8NtVxDUP//+Wjz4Zg3h3jY7Zk/0HVMIqr X-Google-Smtp-Source: AGHT+IHzJGHu868XaQHEZPzSwXkO7juSxF5TU5pi2MFezW+JBiPubJSLOsUd1caDcvlX+yExrZ4wOw== X-Received: by 2002:a5d:5d09:0:b0:42b:2a09:2e59 with SMTP id ffacd0b85a97d-42fb42d8644mr20924623f8f.0.1766057762470; Thu, 18 Dec 2025 03:36:02 -0800 (PST) Received: from axltcarlospec.central.inditex.grp ([165.85.237.104]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43244934cf5sm4588615f8f.1.2025.12.18.03.36.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Dec 2025 03:36:00 -0800 (PST) From: =?utf-8?q?Carlos_Pe=C3=B3n_Costa?= To: libc-alpha@sourceware.org Cc: =?utf-8?q?Carlos_Pe=C3=B3n_Costa?= Subject: [PATCH] resovl: Avoid duplicate query if search list contains '.' (option 1) Date: Thu, 18 Dec 2025 12:35:56 +0100 Message-ID: <20251218113556.159662-1-carlospeon@gmail.com> X-Mailer: git-send-email 2.52.0 MIME-Version: 1.0 X-Spam-Status: No, score=-11.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org The same query is performed twice under some contidions: * The domain name has enough dots to be queried 'as is'. * The 'as is' response is NXDOMAIN * The search list contains root domain '.' e.g.: LOCALDOMAIN="." RES_OPTIONS="ndots:1" ./gethostbyname null.example.org This is the simplest solution (IMO), but I'll send option 2 removing 'root_on_list' var and reusing 'tried_as_is', as *I think* they both serve the same purpose. The thing is so small and harmless that I didn't file a bug, let me know if it's apropiate to do so. --- resolv/res_query.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resolv/res_query.c b/resolv/res_query.c index 039c25a3c3..29ae85e71b 100644 --- a/resolv/res_query.c +++ b/resolv/res_query.c @@ -433,8 +433,11 @@ __res_context_search (struct resolv_context *ctx, domain. */ if (dname[0] == '.') dname++; - if (dname[0] == '\0') + if (dname[0] == '\0') { root_on_list++; + if (tried_as_is) + continue; + } ret = __res_context_querydomain (ctx, name, dname, class, type,