<div dir="ltr"><p>Hi,</p><p>Thank you again for your time.</p>
<p>I wanted to provide some additional context and clarify a few key aspects of my use case:</p>
<ul><li>I already maintain a large, pre-existing file containing comprehensive domain categorization data.</li>
<li>This file is updated externally and serves as the sole source of truth for categorization decisions.</li>
<li>As such, I do not wish to store any additional data within the plugin, memory, or any BIND-internal structures.</li>
<li>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.</li>
</ul>
<h3><span style="font-weight:normal">Desired Behavior</span></h3>
<ul>
<li>On each DNS query, the plugin should:
<ol>
<li>Extract the domain from the query.</li>
<li>Call my categorization logic (via C function or subprocess).</li>
<li>Based on the result:
<ul>
<li><strong>If High Risk</strong>: Immediately stop further resolution and return a custom response (e.g., a custom IP address).</li>
<li><strong>Otherwise</strong>: Allow the query to continue to upstream resolvers as normal.</li></ul></li></ol></li></ul>
<ul>
<li>The plugin will be handling a very high volume of DNS queries, so performance is critical.</li></ul><div><br></div><div>Best regards,</div><div>Monika</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Mar 20, 2025 at 10:25 PM Grant Taylor via bind-users <<a href="mailto:bind-users@lists.isc.org">bind-users@lists.isc.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 3/19/25 10:02 AM, Ondřej Surý wrote:<br>
> Thinking aloud - perhaps, we can extend the plugin API (and RPZ) in a <br>
> way to add the classification to the message processing and then the RPZ <br>
> processing could read the classification and take an action?<br>
<br>
This sounds like my understanding of what the Response Policy Service <br>
(RPS) is supposed to achieve.<br>
<br>
"The DNS Response Policy Service (DNSRPS) API, is a mechanism to allow <br>
named to use an external response policy provider.  This allows the same <br>
type of policy filtering as standard RPZ, but can reduce the workload <br>
for named, particularly when using large and frequently updated policy <br>
zones.  It also enables named to share response policy providers with <br>
other DNS implementations such as Unbound.  Thanks to Vernon Schryver <br>
and Farsight Security for the contribution."<br>
<br>
Link - BIND 9.12 development is getting closer to completion!<br>
  - <a href="https://www.isc.org/blogs/bind-9-12-almost-ready/" rel="noreferrer" target="_blank">https://www.isc.org/blogs/bind-9-12-almost-ready/</a><br>
<br>
I have long considered RPS for DNS to be like the milter API for email.<br>
<br>
<br>
<br>
-- <br>
Grant. . . .<br>
unix || die<br>
<br>
-- <br>
Visit <a href="https://lists.isc.org/mailman/listinfo/bind-users" rel="noreferrer" target="_blank">https://lists.isc.org/mailman/listinfo/bind-users</a> to unsubscribe from this list<br>
<br>
ISC funds the development of this software with paid support subscriptions. Contact us at <a href="https://www.isc.org/contact/" rel="noreferrer" target="_blank">https://www.isc.org/contact/</a> for more information.<br>
<br>
<br>
bind-users mailing list<br>
<a href="mailto:bind-users@lists.isc.org" target="_blank">bind-users@lists.isc.org</a><br>
<a href="https://lists.isc.org/mailman/listinfo/bind-users" rel="noreferrer" target="_blank">https://lists.isc.org/mailman/listinfo/bind-users</a><br>
</blockquote></div>