@@ -424,7 +424,6 @@ impl<'a> Socket<'a> {
424424 . dns_servers
425425 . iter ( )
426426 . flatten ( )
427- . flatten ( )
428427 . filter ( |s| s. is_unicast ( ) )
429428 . for_each ( |a| {
430429 // This will never produce an error, as both the arrays and `dns_servers`
@@ -779,8 +778,6 @@ mod test {
779778 const DNS_IP_1 : Ipv4Address = Ipv4Address ( [ 1 , 1 , 1 , 1 ] ) ;
780779 const DNS_IP_2 : Ipv4Address = Ipv4Address ( [ 1 , 1 , 1 , 2 ] ) ;
781780 const DNS_IP_3 : Ipv4Address = Ipv4Address ( [ 1 , 1 , 1 , 3 ] ) ;
782- const DNS_IPS_ARR : [ Option < Ipv4Address > ; DHCP_MAX_DNS_SERVER_COUNT ] =
783- [ Some ( DNS_IP_1 ) , Some ( DNS_IP_2 ) , Some ( DNS_IP_3 ) ] ;
784781 const DNS_IPS : & [ Ipv4Address ] = & [ DNS_IP_1 , DNS_IP_2 , DNS_IP_3 ] ;
785782
786783 const MASK_24 : Ipv4Address = Ipv4Address ( [ 255 , 255 , 255 , 0 ] ) ;
@@ -858,19 +855,21 @@ mod test {
858855 ..DHCP_DEFAULT
859856 } ;
860857
861- const DHCP_OFFER : DhcpRepr = DhcpRepr {
862- message_type : DhcpMessageType :: Offer ,
863- server_ip : SERVER_IP ,
864- server_identifier : Some ( SERVER_IP ) ,
858+ fn dhcp_offer ( ) -> DhcpRepr < ' static > {
859+ DhcpRepr {
860+ message_type : DhcpMessageType :: Offer ,
861+ server_ip : SERVER_IP ,
862+ server_identifier : Some ( SERVER_IP ) ,
865863
866- your_ip : MY_IP ,
867- router : Some ( SERVER_IP ) ,
868- subnet_mask : Some ( MASK_24 ) ,
869- dns_servers : Some ( DNS_IPS_ARR ) ,
870- lease_duration : Some ( 1000 ) ,
864+ your_ip : MY_IP ,
865+ router : Some ( SERVER_IP ) ,
866+ subnet_mask : Some ( MASK_24 ) ,
867+ dns_servers : Some ( Vec :: from_slice ( DNS_IPS ) . unwrap ( ) ) ,
868+ lease_duration : Some ( 1000 ) ,
871869
872- ..DHCP_DEFAULT
873- } ;
870+ ..DHCP_DEFAULT
871+ }
872+ }
874873
875874 const DHCP_REQUEST : DhcpRepr = DhcpRepr {
876875 message_type : DhcpMessageType :: Request ,
@@ -883,19 +882,21 @@ mod test {
883882 ..DHCP_DEFAULT
884883 } ;
885884
886- const DHCP_ACK : DhcpRepr = DhcpRepr {
887- message_type : DhcpMessageType :: Ack ,
888- server_ip : SERVER_IP ,
889- server_identifier : Some ( SERVER_IP ) ,
885+ fn dhcp_ack ( ) -> DhcpRepr < ' static > {
886+ DhcpRepr {
887+ message_type : DhcpMessageType :: Ack ,
888+ server_ip : SERVER_IP ,
889+ server_identifier : Some ( SERVER_IP ) ,
890890
891- your_ip : MY_IP ,
892- router : Some ( SERVER_IP ) ,
893- subnet_mask : Some ( MASK_24 ) ,
894- dns_servers : Some ( DNS_IPS_ARR ) ,
895- lease_duration : Some ( 1000 ) ,
891+ your_ip : MY_IP ,
892+ router : Some ( SERVER_IP ) ,
893+ subnet_mask : Some ( MASK_24 ) ,
894+ dns_servers : Some ( Vec :: from_slice ( DNS_IPS ) . unwrap ( ) ) ,
895+ lease_duration : Some ( 1000 ) ,
896896
897- ..DHCP_DEFAULT
898- } ;
897+ ..DHCP_DEFAULT
898+ }
899+ }
899900
900901 const DHCP_NAK : DhcpRepr = DhcpRepr {
901902 message_type : DhcpMessageType :: Nak ,
@@ -954,11 +955,11 @@ mod test {
954955
955956 recv ! ( s, [ ( IP_BROADCAST , UDP_SEND , DHCP_DISCOVER ) ] ) ;
956957 assert_eq ! ( s. poll( ) , None ) ;
957- send ! ( s, ( IP_RECV , UDP_RECV , DHCP_OFFER ) ) ;
958+ send ! ( s, ( IP_RECV , UDP_RECV , dhcp_offer ( ) ) ) ;
958959 assert_eq ! ( s. poll( ) , None ) ;
959960 recv ! ( s, [ ( IP_BROADCAST , UDP_SEND , DHCP_REQUEST ) ] ) ;
960961 assert_eq ! ( s. poll( ) , None ) ;
961- send ! ( s, ( IP_RECV , UDP_RECV , DHCP_ACK ) ) ;
962+ send ! ( s, ( IP_RECV , UDP_RECV , dhcp_ack ( ) ) ) ;
962963
963964 assert_eq ! (
964965 s. poll( ) ,
@@ -994,7 +995,7 @@ mod test {
994995 recv ! ( s, time 20_000 , [ ( IP_BROADCAST , UDP_SEND , DHCP_DISCOVER ) ] ) ;
995996
996997 // check after retransmits it still works
997- send ! ( s, time 20_000 , ( IP_RECV , UDP_RECV , DHCP_OFFER ) ) ;
998+ send ! ( s, time 20_000 , ( IP_RECV , UDP_RECV , dhcp_offer ( ) ) ) ;
998999 recv ! ( s, time 20_000 , [ ( IP_BROADCAST , UDP_SEND , DHCP_REQUEST ) ] ) ;
9991000 }
10001001
@@ -1003,7 +1004,7 @@ mod test {
10031004 let mut s = socket ( ) ;
10041005
10051006 recv ! ( s, time 0 , [ ( IP_BROADCAST , UDP_SEND , DHCP_DISCOVER ) ] ) ;
1006- send ! ( s, time 0 , ( IP_RECV , UDP_RECV , DHCP_OFFER ) ) ;
1007+ send ! ( s, time 0 , ( IP_RECV , UDP_RECV , dhcp_offer ( ) ) ) ;
10071008 recv ! ( s, time 0 , [ ( IP_BROADCAST , UDP_SEND , DHCP_REQUEST ) ] ) ;
10081009 recv ! ( s, time 1_000 , [ ] ) ;
10091010 recv ! ( s, time 5_000 , [ ( IP_BROADCAST , UDP_SEND , DHCP_REQUEST ) ] ) ;
@@ -1013,7 +1014,7 @@ mod test {
10131014 recv ! ( s, time 20_000 , [ ( IP_BROADCAST , UDP_SEND , DHCP_REQUEST ) ] ) ;
10141015
10151016 // check after retransmits it still works
1016- send ! ( s, time 20_000 , ( IP_RECV , UDP_RECV , DHCP_ACK ) ) ;
1017+ send ! ( s, time 20_000 , ( IP_RECV , UDP_RECV , dhcp_ack ( ) ) ) ;
10171018
10181019 match & s. state {
10191020 ClientState :: Renewing ( r) => {
@@ -1029,7 +1030,7 @@ mod test {
10291030 let mut s = socket ( ) ;
10301031
10311032 recv ! ( s, time 0 , [ ( IP_BROADCAST , UDP_SEND , DHCP_DISCOVER ) ] ) ;
1032- send ! ( s, time 0 , ( IP_RECV , UDP_RECV , DHCP_OFFER ) ) ;
1033+ send ! ( s, time 0 , ( IP_RECV , UDP_RECV , dhcp_offer ( ) ) ) ;
10331034 recv ! ( s, time 0 , [ ( IP_BROADCAST , UDP_SEND , DHCP_REQUEST ) ] ) ;
10341035 recv ! ( s, time 5_000 , [ ( IP_BROADCAST , UDP_SEND , DHCP_REQUEST ) ] ) ;
10351036 recv ! ( s, time 10_000 , [ ( IP_BROADCAST , UDP_SEND , DHCP_REQUEST ) ] ) ;
@@ -1041,7 +1042,7 @@ mod test {
10411042 recv ! ( s, time 70_000 , [ ( IP_BROADCAST , UDP_SEND , DHCP_DISCOVER ) ] ) ;
10421043
10431044 // check it still works
1044- send ! ( s, time 60_000 , ( IP_RECV , UDP_RECV , DHCP_OFFER ) ) ;
1045+ send ! ( s, time 60_000 , ( IP_RECV , UDP_RECV , dhcp_offer ( ) ) ) ;
10451046 recv ! ( s, time 60_000 , [ ( IP_BROADCAST , UDP_SEND , DHCP_REQUEST ) ] ) ;
10461047 }
10471048
@@ -1050,7 +1051,7 @@ mod test {
10501051 let mut s = socket ( ) ;
10511052
10521053 recv ! ( s, time 0 , [ ( IP_BROADCAST , UDP_SEND , DHCP_DISCOVER ) ] ) ;
1053- send ! ( s, time 0 , ( IP_RECV , UDP_RECV , DHCP_OFFER ) ) ;
1054+ send ! ( s, time 0 , ( IP_RECV , UDP_RECV , dhcp_offer ( ) ) ) ;
10541055 recv ! ( s, time 0 , [ ( IP_BROADCAST , UDP_SEND , DHCP_REQUEST ) ] ) ;
10551056 send ! ( s, time 0 , ( IP_SERVER_BROADCAST , UDP_RECV , DHCP_NAK ) ) ;
10561057 recv ! ( s, time 0 , [ ( IP_BROADCAST , UDP_SEND , DHCP_DISCOVER ) ] ) ;
@@ -1074,7 +1075,7 @@ mod test {
10741075 _ => panic ! ( "Invalid state" ) ,
10751076 }
10761077
1077- send ! ( s, time 500_000 , ( IP_RECV , UDP_RECV , DHCP_ACK ) ) ;
1078+ send ! ( s, time 500_000 , ( IP_RECV , UDP_RECV , dhcp_ack ( ) ) ) ;
10781079 assert_eq ! ( s. poll( ) , None ) ;
10791080
10801081 match & s. state {
@@ -1099,7 +1100,7 @@ mod test {
10991100 recv ! ( s, time 875_000 , [ ( IP_SEND , UDP_SEND , DHCP_RENEW ) ] ) ;
11001101
11011102 // check it still works
1102- send ! ( s, time 875_000 , ( IP_RECV , UDP_RECV , DHCP_ACK ) ) ;
1103+ send ! ( s, time 875_000 , ( IP_RECV , UDP_RECV , dhcp_ack ( ) ) ) ;
11031104 match & s. state {
11041105 ClientState :: Renewing ( r) => {
11051106 // NOW the expiration gets bumped
0 commit comments