Crate crdhcpc

Crate crdhcpc 

Source
Expand description

Secure DHCP Client Implementation

This module provides a comprehensive DHCP client supporting:

  • DHCPv4 and BOOTP
  • DHCPv6
  • PXE boot
  • Dynamic DNS updates
  • Load balancing and failover
  • TFTP client for PXE
  • Security hardening

Re-exports§

pub use protocol::UnixServer;
pub use protocol::ServerConfig;
pub use protocol::DaemonClient;
pub use protocol::UnixClient;
pub use protocol::ClientConfig;
pub use protocol::JsonRpcRequest;
pub use protocol::JsonRpcResponse;
pub use protocol::JsonRpcError;
pub use protocol::ProtocolError;
pub use protocol::ProtocolResult;
pub use control::*;

Modules§

control
DHCP Client Control Interface
protocol
Protocol layer for Unix socket communication

Structs§

DdnsConfig
Dynamic DNS configuration
DdnsUpdater
Dynamic DNS updater
DhcpClientConfig
Main DHCP client configuration
DhcpClientManager
Unified DHCP client manager
DhcpClientStatus
Overall DHCP client status
DhcpLeaseInfo
Lease information extracted from DHCP ACK
DhcpRawSocket
Raw socket wrapper for DHCP operations
DhcpServer
DHCP server information
Dhcpv4Client
DHCPv4 client
Dhcpv4Config
DHCPv4 configuration
Dhcpv4Lease
DHCPv4 lease
Dhcpv4LeaseInfo
DHCPv4 lease information
Dhcpv4Status
DHCPv4 client status
Dhcpv6AuthConfig
Configuration for DHCPv6 authentication DHCPv6 Authentication Configuration (RFC 8415 Section 20)
Dhcpv6AuthContext
DHCPv6 Authentication Context (RFC 8415 Section 20)
Dhcpv6Client
DHCPv6 client
Dhcpv6Config
DHCPv6 configuration
Dhcpv6IaNa
DHCPv6 Identity Association for Non-temporary Addresses (IA_NA)
Dhcpv6IaNaInfo
DHCPv6 IA_NA information
Dhcpv6IaPd
DHCPv6 Identity Association for Prefix Delegation (IA_PD)
Dhcpv6IaPdInfo
DHCPv6 IA_PD information (Prefix Delegation)
Dhcpv6Status
DHCPv6 client status
Dhcpv6TcpConnection
TCP connection wrapper for DHCPv6 over TCP
Dhcpv6TlsConfig
Configuration for DHCPv6 TLS DHCPv6 TLS/STARTTLS Configuration (RFC 7653)
Dhcpv6TlsContext
DHCPv6 TLS Context for STARTTLS support (RFC 7653)
FailoverConfig
Failover configuration
FailoverManager
Failover manager for DHCP servers
PxeConfig
PXE configuration
PxeConfigSettings
PXE configuration
PxeHandler
PXE client handler
PxeMenuItem
PXE boot menu item
SecurityConfig
Security configuration
SecurityContext
Security context for DHCP client
TftpClient
TFTP client
TftpConfig
TFTP configuration
WifiConfig
WiFi network configuration
WifiInterfaceConfig
WiFi interface configuration (mapping interfaces to networks)
WifiManager
WiFi connection manager
WifiNetwork
WiFi network information from scan
WifiNetworkConfig
WiFi network configuration for a specific interface

Enums§

DhcpClientError
DHCP client errors
Dhcpv4State
DHCPv4 client state
Dhcpv6State
DHCPv6 client state
RawSocketType
Raw socket types for DHCP
WifiSecurity
WiFi security/authentication type

Constants§

ARP_OP_REPLY
ARP_OP_REQUEST
ARP operation codes

Functions§

arp_probe_address
Perform ARP probe to check if an IP address is in use (RFC 5227)
build_arp_probe_frame
Build ARP probe frame for duplicate address detection (RFC 5227)
build_dhcp_decline_ip_packet
Build DHCP DECLINE packet for IP layer socket
build_dhcp_decline_link_frame
Build DHCP DECLINE frame for link layer socket
build_dhcp_discover_ip_packet
Build DHCP DISCOVER packet for IP layer socket
build_dhcp_discover_link_frame
Build DHCP DISCOVER frame for link layer socket
build_dhcp_release_ip_packet
Build DHCP RELEASE packet for IP layer socket
build_dhcp_release_link_frame
Build DHCP RELEASE frame for link layer socket
build_dhcp_request_ip_packet
Build DHCP REQUEST packet for IP layer socket
build_dhcp_request_link_frame
Build DHCP REQUEST frame for link layer socket
create_arp_socket
Create a raw socket for ARP (link layer)
extract_lease_info
Extract full lease information from DHCP ACK message
extract_offered_ip
Extract offered IP address from DHCP message
extract_server_id
Extract server identifier from DHCP options
parse_dhcp_packet
Parse DHCP response packet (Link Layer format with Ethernet header) Returns (message_type, xid, options_data) if valid DHCP packet
sanitize_domain_name
Validate and sanitize a domain name per RFC 1123 Returns sanitized domain name or None if invalid
sanitize_hostname
Validate and sanitize a hostname per RFC 952/1123 Returns sanitized hostname or None if invalid
sanitize_resolv_conf_value
Sanitize a string for safe inclusion in resolv.conf Removes any characters that could be used for injection
validate_interface_name
Validate network interface name to prevent command injection Interface names should only contain alphanumeric chars, hyphens, and underscores

Type Aliases§

Result