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 traitplugins: Collection of DNS plugins (forward, cache, hosts, etc.)config: Configuration loading and validationerror: Error types and handling
Re-exports§
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_ builder Deprecated - Backward compatibility macro for registering exec plugin factories
- register_
plugin_ builder Deprecated - Backward compatibility macro for registering plugin factories
Structs§
- File
LogConfig - Re-export logging types from lazylog Configuration for file logging
- LogConfig
- Re-export logging types from lazylog Configuration for logging
Enums§
- Rotation
Period - Re-export logging types from lazylog Time periods for log rotation.
- Rotation
Trigger - 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§
- Register
Exec Plugin - Derive macro to auto-generate exec plugin factory registration code
- Register
Plugin - Derive macro to auto-generate plugin factory registration code
- Shutdown
Plugin - Derive macro to auto-generate
as_shutdownmethod for plugins