@@ -648,6 +648,7 @@ pub struct Repr<'a> {
648
648
/// DNS servers
649
649
pub dns_servers : Option < Vec < Ipv4Address , MAX_DNS_SERVER_COUNT > > ,
650
650
/// Domain name
651
+ #[ cfg( feature = "proto-domainname" ) ]
651
652
pub domain_name : Option < & ' a str > ,
652
653
/// The maximum size dhcp packet the interface can receive
653
654
pub max_size : Option < u16 > ,
@@ -694,6 +695,7 @@ impl<'a> Repr<'a> {
694
695
len += 2 ;
695
696
len += dns_servers. iter ( ) . count ( ) * core:: mem:: size_of :: < u32 > ( ) ;
696
697
}
698
+ #[ cfg( feature = "proto-domainname" ) ]
697
699
if let Some ( domain_name) = & self . domain_name {
698
700
len += 2 ;
699
701
len += domain_name. as_bytes ( ) . len ( ) ;
@@ -744,6 +746,7 @@ impl<'a> Repr<'a> {
744
746
let mut subnet_mask = None ;
745
747
let mut parameter_request_list = None ;
746
748
let mut dns_servers = None ;
749
+ #[ cfg( feature = "proto-domainname" ) ]
747
750
let mut domain_name = None ;
748
751
let mut max_size = None ;
749
752
let mut lease_duration = None ;
@@ -809,10 +812,9 @@ impl<'a> Repr<'a> {
809
812
net_trace ! ( "DHCP domain name servers contained invalid address" ) ;
810
813
}
811
814
}
815
+ #[ cfg( feature = "proto-domainname" ) ]
812
816
( 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 ( ) ;
816
818
}
817
819
_ => { }
818
820
}
@@ -836,6 +838,7 @@ impl<'a> Repr<'a> {
836
838
client_identifier,
837
839
parameter_request_list,
838
840
dns_servers,
841
+ #[ cfg( feature = "proto-domainname" ) ]
839
842
domain_name,
840
843
max_size,
841
844
lease_duration,
@@ -953,6 +956,7 @@ impl<'a> Repr<'a> {
953
956
} ) ?;
954
957
}
955
958
959
+ #[ cfg( feature = "proto-domainname" ) ]
956
960
if let Some ( domain_name) = & self . domain_name {
957
961
options. emit ( DhcpOption {
958
962
kind : field:: OPT_DOMAIN_NAME ,
@@ -1187,6 +1191,7 @@ mod test {
1187
1191
server_identifier : None ,
1188
1192
parameter_request_list : None ,
1189
1193
dns_servers : None ,
1194
+ #[ cfg( feature = "proto-domainname" ) ]
1190
1195
domain_name : None ,
1191
1196
max_size : None ,
1192
1197
renew_duration : None ,
@@ -1218,6 +1223,7 @@ mod test {
1218
1223
server_identifier : None ,
1219
1224
parameter_request_list : Some ( & [ 1 , 3 , 6 , 42 ] ) ,
1220
1225
dns_servers : None ,
1226
+ #[ cfg( feature = "proto-domainname" ) ]
1221
1227
domain_name : None ,
1222
1228
additional_options : & [ ] ,
1223
1229
}
0 commit comments