Skip to main content

Crate hornet_bind9

Crate hornet_bind9 

Source
Expand description

§hornet-bind9

Parse, write, and validate BIND9 named.conf configuration files and DNS zone files.

§Quick start

use hornet_bind9::parse_named_conf;

let input = r#"
options {
    directory "/var/cache/bind";
    recursion yes;
    allow-query { any; };
};

zone "example.com" {
    type primary;
    file "/etc/bind/zones/example.com.db";
};
"#;

let conf = parse_named_conf(input).expect("parse failed");
assert_eq!(conf.statements.len(), 2);

§Feature flags

FlagDefaultDescription
serdeoffDerive serde::Serialize/Deserialize on all AST types

Re-exports§

pub use ast::named_conf;
pub use ast::zone_file;
pub use error::Error;
pub use error::Result;
pub use error::Severity;
pub use error::ValidationError;

Modules§

ast
error
Error types for hornet-bind9.
parser
validator
Semantic validation of parsed BIND9 configuration.
writer
Serialise the AST back to valid BIND9 configuration text.

Functions§

parse_named_conf
Parse a named.conf string into an AST.
parse_named_conf_file
Parse a named.conf file from disk.
parse_zone_file
Parse a DNS zone file string into an AST.
parse_zone_file_from_path
Parse a zone file from disk.
validate_named_conf
Validate a parsed named.conf AST and return any diagnostics.
validate_zone_file
Validate a parsed zone file AST and return any diagnostics.
write_named_conf
Serialise a [NamedConf] AST back to a String.
write_zone_file
Serialise a [ZoneFile] AST back to a String.