public inbox for gwml@vger.gnuweeb.org
 help / color / mirror / Atom feed
From: Alviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
To: Ahmad Gani <reyuki@gnuweeb.org>
Cc: Ammar Faizi <ammarfaizi2@gnuweeb.org>,
	"GNU/Weeb Mailing List" <gwml@vger.gnuweeb.org>
Subject: Re: [PATCH gwproxy v8 2/2] gwproxy: refactor code base to add experimental raw DNS backend
Date: Sat, 6 Sep 2025 14:47:06 +0700	[thread overview]
Message-ID: <CAOG64qNzwz=mN9toZ_-T+XRnTGVvmP1AYW=7_Yc2_Mitk29WtA@mail.gmail.com> (raw)
In-Reply-To: <20250829075557.598176-3-reyuki@gnuweeb.org>

On Fri, Aug 29, 2025 at 2:56 PM Ahmad Gani wrote:
> +#ifdef CONFIG_RAW_DNS
> +               if (ctx->nr_entries == ctx->entry_cap && realloc_entries(ctx))
> +                       return NULL;
> +
> +               r = __sys_socket(ctx->ns_addr.sa.sa_family, SOCK_DGRAM | SOCK_NONBLOCK, 0);
> +               if (r < 0)
> +                       goto out_free_e;
> +               e->udp_fd = (int)r;
> +
> +               switch (ctx->cfg.restyp) {
> +               case GWP_DNS_RESTYP_PREFER_IPV4:
> +               case GWP_DNS_RESTYP_IPV4_ONLY:
> +                       af = AF_INET;
> +                       break;
> +               case GWP_DNS_RESTYP_PREFER_IPV6:
> +               case GWP_DNS_RESTYP_IPV6_ONLY:
> +                       af = AF_INET6;
> +                       break;
> +               default:
> +                       assert(0);
> +                       goto out_close_fd;
> +               }
> +
> +               txid = (uint16_t)rand();
> +               r = gwdns_build_query(txid, name, af, e->payload, sizeof(e->payload));
> +               if (r < 0)
> +                       goto out_close_fd;
> +               e->payloadlen = (int)r;
> +#endif

        Back to this section again. Isn't one of the advantages of
inventing your own DNS resolver is also to avoid opening and closing a
UDP socket for each DNS query? This design feels wrong, the txid here
means nothing if each query has its own UDP connection. Can't you use
the same UDP socket for all queries?

  parent reply	other threads:[~2025-09-06  7:47 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-29  7:55 [PATCH gwproxy v8 0/2] Initial work on integration of DNS parser lib in gwproxy Ahmad Gani
2025-08-29  7:55 ` [PATCH gwproxy v8 1/2] dnsparser: Add dns parser code Ahmad Gani
2025-08-29  7:55 ` [PATCH gwproxy v8 2/2] gwproxy: refactor code base to add experimental raw DNS backend Ahmad Gani
2025-09-05 16:26   ` Alviro Iskandar Setiawan
2025-09-06  4:32     ` Ahmad Gani
2025-09-06  5:16       ` Ahmad Gani
2025-09-06  6:17       ` Ahmad Gani
2025-09-06  6:48         ` Ahmad Gani
2025-09-06  7:02           ` Alviro Iskandar Setiawan
2025-09-06  6:47       ` Alviro Iskandar Setiawan
2025-09-09  2:38         ` reyuki
2025-09-06 11:27       ` Ahmad Gani
2025-09-06 12:01         ` Alviro Iskandar Setiawan
2025-09-06 12:58         ` Ahmad Gani
2025-09-06 13:30           ` Alviro Iskandar Setiawan
2025-09-06 13:44             ` Alviro Iskandar Setiawan
2025-09-06 14:26             ` Ahmad Gani
2025-09-06 14:30               ` Alviro Iskandar Setiawan
2025-09-07  4:22             ` Ammar Faizi
2025-09-07  5:57               ` Ammar Faizi
2025-09-07  6:39               ` Ahmad Gani
2025-09-07  6:40                 ` Ahmad Gani
2025-09-07  6:43                   ` Ammar Faizi
2025-09-07  7:06                 ` Ammar Faizi
2025-09-07  7:17                   ` Ahmad Gani
2025-09-07  9:52               ` Ahmad Gani
2025-09-07 10:19                 ` Ammar Faizi
2025-09-07 10:36                   ` Ahmad Gani
2025-09-06  7:14     ` Alviro Iskandar Setiawan
2025-09-06  7:21       ` Ahmad Gani
2025-09-06  7:47   ` Alviro Iskandar Setiawan [this message]
2025-09-06 11:01     ` Ahmad Gani
2025-09-05  9:18 ` [PATCH gwproxy v8 0/2] Initial work on integration of DNS parser lib in gwproxy Ammar Faizi
2025-09-05  9:34   ` Alviro Iskandar Setiawan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAOG64qNzwz=mN9toZ_-T+XRnTGVvmP1AYW=7_Yc2_Mitk29WtA@mail.gmail.com' \
    --to=alviro.iskandar@gnuweeb.org \
    --cc=ammarfaizi2@gnuweeb.org \
    --cc=gwml@vger.gnuweeb.org \
    --cc=reyuki@gnuweeb.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox