@@ -648,6 +648,7 @@ pub struct Repr<'a> {
648648 /// DNS servers
649649 pub dns_servers : Option < Vec < Ipv4Address , MAX_DNS_SERVER_COUNT > > ,
650650 /// Domain name
651+ #[ cfg( feature = "proto-domainname" ) ]
651652 pub domain_name : Option < & ' a str > ,
652653 /// The maximum size dhcp packet the interface can receive
653654 pub max_size : Option < u16 > ,
@@ -694,6 +695,7 @@ impl<'a> Repr<'a> {
694695 len += 2 ;
695696 len += dns_servers. iter ( ) . count ( ) * core:: mem:: size_of :: < u32 > ( ) ;
696697 }
698+ #[ cfg( feature = "proto-domainname" ) ]
697699 if let Some ( domain_name) = & self . domain_name {
698700 len += 2 ;
699701 len += domain_name. as_bytes ( ) . len ( ) ;
@@ -744,6 +746,7 @@ impl<'a> Repr<'a> {
744746 let mut subnet_mask = None ;
745747 let mut parameter_request_list = None ;
746748 let mut dns_servers = None ;
749+ #[ cfg( feature = "proto-domainname" ) ]
747750 let mut domain_name = None ;
748751 let mut max_size = None ;
749752 let mut lease_duration = None ;
@@ -809,10 +812,9 @@ impl<'a> Repr<'a> {
809812 net_trace ! ( "DHCP domain name servers contained invalid address" ) ;
810813 }
811814 }
815+ #[ cfg( feature = "proto-domainname" ) ]
812816 ( field:: OPT_DOMAIN_NAME , _) => {
813- if let Ok ( name) = core:: str:: from_utf8 ( data) {
814- domain_name = Some ( name) ;
815- }
817+ domain_name = core:: str:: from_utf8 ( data) . ok ( ) ;
816818 }
817819 _ => { }
818820 }
@@ -836,6 +838,7 @@ impl<'a> Repr<'a> {
836838 client_identifier,
837839 parameter_request_list,
838840 dns_servers,
841+ #[ cfg( feature = "proto-domainname" ) ]
839842 domain_name,
840843 max_size,
841844 lease_duration,
@@ -953,6 +956,7 @@ impl<'a> Repr<'a> {
953956 } ) ?;
954957 }
955958
959+ #[ cfg( feature = "proto-domainname" ) ]
956960 if let Some ( domain_name) = & self . domain_name {
957961 options. emit ( DhcpOption {
958962 kind : field:: OPT_DOMAIN_NAME ,
@@ -1187,6 +1191,7 @@ mod test {
11871191 server_identifier : None ,
11881192 parameter_request_list : None ,
11891193 dns_servers : None ,
1194+ #[ cfg( feature = "proto-domainname" ) ]
11901195 domain_name : None ,
11911196 max_size : None ,
11921197 renew_duration : None ,
@@ -1218,6 +1223,7 @@ mod test {
12181223 server_identifier : None ,
12191224 parameter_request_list : Some ( & [ 1 , 3 , 6 , 42 ] ) ,
12201225 dns_servers : None ,
1226+ #[ cfg( feature = "proto-domainname" ) ]
12211227 domain_name : None ,
12221228 additional_options : & [ ] ,
12231229 }
0 commit comments