From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server-vie001.gnuweeb.org X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,URIBL_ZEN_BLOCKED_OPENDNS autolearn=ham autolearn_force=no version=3.4.6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=new2025; t=1755913957; bh=SlNb9FQ8F0mFiRhKKeNnNbM+rDcah2BC/0RrUFHPVu0=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:In-Reply-To:Message-ID:Date:From:Reply-To:Subject:To: Cc:In-Reply-To:References:Resent-Date:Resent-From:Resent-To: Resent-Cc:User-Agent:Content-Type:Content-Transfer-Encoding; b=hCstRUcDvOPm+5C4Z1x2jFPau8xyn3RT78ozhHTZnGzYgC7ykEgUolsskoY0ipX3G elUESqyz6L6lPn5KbnWPUsADHZNM+wxKkTeAVcMJjcKg2L368CO1hFYC3DrAXZT9Ly Ow1cg9oN8Wmlxped8S+Ze9baweP5U2TI19CPK8kgYnsLBAGf0FsEnmt9ixWxYXAYnY ShTrR2M65ViGjBEwU2nRm6D/0bYFgJ1Z3AbACux4MQh6F2t9/S0yJxAR+d4wpTGcCO qTmCu7OPJBzq9hrzZcfVs1rNU/NpzJbNwg+Lnw91KDiorJVwDueyve2iFE9TcuKPWs mvlx59a/YCwTw== Received: from linux.gnuweeb.org (unknown [103.216.223.55]) by server-vie001.gnuweeb.org (Postfix) with ESMTPSA id 040653127FA0; Sat, 23 Aug 2025 01:52:35 +0000 (UTC) Date: Sat, 23 Aug 2025 08:52:31 +0700 From: Ammar Faizi To: Ahmad Gani Cc: Alviro Iskandar Setiawan , GNU/Weeb Mailing List Subject: Re: [PATCH gwproxy v5 2/2] dnsparser: Add dns parser code Message-ID: <20250823015231.GA3508499-ammarfaizi2@gnuweeb.org> References: <20250814044658.252579-1-reyuki@gnuweeb.org> <20250814044658.252579-3-reyuki@gnuweeb.org> <20250816160303.GA144043-ammarfaizi2@gnuweeb.org> <20250822195242.GA3236201-ammarfaizi2@gnuweeb.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Gw-Outgoing-Server-Hash: 01afd303c8b96d0c1d5e80aa96a4ee40ec69888f786fa24107c0862c0644af79 X-Gw-Message-ID: 29ce370a1c5e9e9afec06b08550f4b7126160d2135a6fdc724396c581c82e0fa X-Gw-PM-Hash: 0118e49f0be22e0f53a3024476e02b238b91c66ed8fe1b763b14fa1e99876071 List-Id: On Sat, Aug 23, 2025 at 08:07:08AM +0700, Ahmad Gani wrote: > I think it should be fine to have old DNS code removed if the raw DNS > resolver feature is only applied when it's completed and tested. I will ask for your feature to be experimental because your DNS feature is not super simple. It may have undiscovered hidden bugs even if we have extensively tested it. The same thing with the io_uring support. And note that, getaddrinfo() is not as simple as resolving DNS queries via UDP port 53. It does more than that. For example, it reads /etc/hosts, /etc/resolv.conf, /etc/gai.conf and many more files. If we missed very important details and the old resolver is already removed, it will be a pain in the ass to 'git revert' all your work. So please, keep the old feature intact for the time being. Develop a new DNS resolver without bothering the old DNS feature. It's not that simple to replace this monster. And the good thing is that, making it an experimental feature allows specific environments to use the feature in a stable release, but keeping the old stable feature usable for those who are not willing to get involved in testing and reporting bugs. JFYI, I have started using the epoll version in a real production. And that one still uses the epoll version because I am more confident with my epoll version than io_uring version. Next time, when I am confident enough with your DNS feature, I will consider making your DNS resolver the primary one and probably kill the old DNS resolver. We also have a lot of features like that in the Linux kernel, for example: - CONFIG_BTRFS_EXPERIMENTAL - CONFIG_IEEE802154_NL802154_EXPERIMENTAL - CONFIG_LTO (yes, LTO in the kernel is marked as experimental) - CONFIG_AUTOFDO_CLANG - any many more... Those are unstable features, but can be configured to run on stable kernel. I want to follow that tradition when it comes to stability of a new feature. > You can still keep the old DNS feature in the master branch that is meant > to be stable (?) I don't consider the master branch to be stable. But a tag is. Currently we HAVE NO TAGS in gwproxy. Soon, I'll make a release. -- Ammar Faizi