dnslib/core/dns/access_lists.rs
1use serde_json::Value;
2
3use crate::core::{
4 dns::service::{AccessListRead, AccessListWrite},
5 error::Result,
6};
7
8/// List manually blocked DNS domains through a vendor-neutral access-list reader.
9///
10/// # Errors
11///
12/// Returns any error reported by the selected DNS backend.
13pub async fn list_blocked<C: AccessListRead + ?Sized>(client: &C) -> Result<Value> {
14 client.list_blocked().await
15}
16
17/// List manually allowed DNS domains through a vendor-neutral access-list reader.
18///
19/// # Errors
20///
21/// Returns any error reported by the selected DNS backend.
22pub async fn list_allowed<C: AccessListRead + ?Sized>(client: &C) -> Result<Value> {
23 client.list_allowed().await
24}
25
26/// Add a domain to the blocked list through a vendor-neutral access-list writer.
27///
28/// # Errors
29///
30/// Returns any error reported by the selected DNS backend.
31pub async fn add_blocked<C: AccessListWrite + ?Sized>(client: &C, domain: &str) -> Result<Value> {
32 client.add_blocked(domain).await
33}
34
35/// Delete a domain from the blocked list through a vendor-neutral access-list writer.
36///
37/// # Errors
38///
39/// Returns any error reported by the selected DNS backend.
40pub async fn delete_blocked<C: AccessListWrite + ?Sized>(
41 client: &C,
42 domain: &str,
43) -> Result<Value> {
44 client.delete_blocked(domain).await
45}
46
47/// Add a domain to the allowed list through a vendor-neutral access-list writer.
48///
49/// # Errors
50///
51/// Returns any error reported by the selected DNS backend.
52pub async fn add_allowed<C: AccessListWrite + ?Sized>(client: &C, domain: &str) -> Result<Value> {
53 client.add_allowed(domain).await
54}
55
56/// Delete a domain from the allowed list through a vendor-neutral access-list writer.
57///
58/// # Errors
59///
60/// Returns any error reported by the selected DNS backend.
61pub async fn delete_allowed<C: AccessListWrite + ?Sized>(
62 client: &C,
63 domain: &str,
64) -> Result<Value> {
65 client.delete_allowed(domain).await
66}