Crate lazydns

Crate lazydns 

Source
Expand description

lazydns - A DNS server implementation in Rust

This crate provides a complete DNS server implementation

§Architecture

The crate is organized into several main modules:

  • dns: DNS protocol implementation (parsing, serialization, message handling)
  • server: DNS server implementations (UDP, TCP, DoH, DoT, DoQ)
  • plugin: Plugin system architecture and core plugin trait
  • plugins: Collection of DNS plugins (forward, cache, hosts, etc.)
  • config: Configuration loading and validation
  • error: Error types and handling

Re-exports§

pub use error::Error;
pub use error::Result;

Modules§

config
Configuration loading and validation
dns
DNS protocol implementation
error
Error types and handling
plugin
Plugin system architecture
plugins
Collection of DNS plugins
server
DNS server implementations
utils
Utility helpers shared across the crate

Macros§

dns_type_match
Macro to generate a match statement for DNS type name to numeric value mapping. Supports fallback to parsing as numeric value if name is not recognized. Returns Result<T, ParseIntError> where T is the numeric type.
register_exec_plugin_builderDeprecated
Backward compatibility macro for registering exec plugin factories
register_plugin_builderDeprecated
Backward compatibility macro for registering plugin factories

Structs§

FileLogConfig
Re-export logging types from lazylog Configuration for file logging
LogConfig
Re-export logging types from lazylog Configuration for logging

Enums§

RotationPeriod
Re-export logging types from lazylog Time periods for log rotation.
RotationTrigger
Re-export logging types from lazylog Rotation trigger for log files.

Functions§

init_logging
Re-export logging types from lazylog Initialize logging with the given configuration and optional CLI verbosity override.

Derive Macros§

RegisterExecPlugin
Derive macro to auto-generate exec plugin factory registration code
RegisterPlugin
Derive macro to auto-generate plugin factory registration code
ShutdownPlugin
Derive macro to auto-generate as_shutdown method for plugins