@@ -614,7 +614,7 @@ impl Runtime {
614
614
ifaces : & [ IpAddr ] ,
615
615
multicast_ttl : u32 ,
616
616
) -> ZResult < UdpSocket > {
617
- let socket = match Socket :: new ( Domain :: IPV4 , Type :: DGRAM , None ) {
617
+ let socket = match Socket :: new ( Domain :: for_address ( * sockaddr ) , Type :: DGRAM , None ) {
618
618
Ok ( socket) => socket,
619
619
Err ( err) => {
620
620
tracing:: error!( "Unable to create datagram socket: {}" , err) ;
@@ -704,21 +704,22 @@ impl Runtime {
704
704
}
705
705
706
706
pub fn bind_ucast_port ( addr : IpAddr , multicast_ttl : u32 ) -> ZResult < UdpSocket > {
707
- let socket = match Socket :: new ( Domain :: IPV4 , Type :: DGRAM , None ) {
707
+ let sockaddr = || SocketAddr :: new ( addr, 0 ) ;
708
+ let socket = match Socket :: new ( Domain :: for_address ( sockaddr ( ) ) , Type :: DGRAM , None ) {
708
709
Ok ( socket) => socket,
709
710
Err ( err) => {
710
711
tracing:: warn!( "Unable to create datagram socket: {}" , err) ;
711
712
bail ! ( err=> "Unable to create datagram socket" ) ;
712
713
}
713
714
} ;
714
- match socket. bind ( & SocketAddr :: new ( addr , 0 ) . into ( ) ) {
715
+ match socket. bind ( & sockaddr ( ) . into ( ) ) {
715
716
Ok ( ( ) ) => {
716
717
#[ allow( clippy:: or_fun_call) ]
717
718
let local_addr = socket
718
719
. local_addr ( )
719
- . unwrap_or ( SocketAddr :: new ( addr , 0 ) . into ( ) )
720
+ . unwrap_or ( sockaddr ( ) . into ( ) )
720
721
. as_socket ( )
721
- . unwrap_or ( SocketAddr :: new ( addr , 0 ) ) ;
722
+ . unwrap_or ( sockaddr ( ) ) ;
722
723
tracing:: debug!( "UDP port bound to {}" , local_addr) ;
723
724
}
724
725
Err ( err) => {
0 commit comments