On 3/21/25 08:31, Mónika Kiss wrote:
I wanted to provide some additional context and clarify a few key aspects of my use case:

  * I already maintain a large, pre-existing file containing
    comprehensive domain categorization data.
  * This file is updated externally and serves as the sole source of
    truth for categorization decisions.
  * As such, I do not wish to store any additional data within the
    plugin, memory, or any BIND-internal structures.
  * Instead, I want the plugin to dynamically query this data by calling
    my existing C program or SDK, which reads and evaluates domains in
    real time.


      Desired Behavior

  * On each DNS query, the plugin should:
     1. Extract the domain from the query.
     2. Call my categorization logic (via C function or subprocess).
     3. Based on the result:
          o *If High Risk*: Immediately stop further resolution and
            return a custom response (e.g., a custom IP address).
          o *Otherwise*: Allow the query to continue to upstream
            resolvers as normal.

  * The plugin will be handling a very high volume of DNS queries, so
    performance is critical.
Sounds like filter-aaaa plugin, plus a call to an external API.

If (and that's a big IF) the 'external API' is so fast it does not require asynchronicity it should be a copy & paste job, mostly.

If the external thing is slow and requires asynchronicity then we need to have a proper look.

Perhaps start with copy & paste for now and we will take it from there...

--
Petr Špaček
Internet Systems Consortium
--
Visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from 
this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to