aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2019-02-28 00:51:20 +0100
committerReiner Herrmann <reiner@reiner-h.de>2019-02-28 00:51:20 +0100
commitbec78b4f5c32f54fd693f188eb5f2130b95508e8 (patch)
treee1d5f0d43d7f9147e74d9eb3560c6934ed912f75
parent0f73e5b00cb7e395e3ca455ababdce932df8f21f (diff)
Bind to IPv6 socket
On Linux this will accept connections for both IPv4 and IPv6, if /proc/sys/net/ipv6/bindv6only is not set (which is the default).
-rw-r--r--src/tftpd.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/tftpd.rs b/src/tftpd.rs
index dd3d875..02acb14 100644
--- a/src/tftpd.rs
+++ b/src/tftpd.rs
@@ -136,7 +136,7 @@ impl Tftpd {
}
pub fn handle_client(&mut self, cl: &SocketAddr, buf: &[u8]) -> Result<(), io::Error> {
- let socket = UdpSocket::bind("0.0.0.0:0")?;
+ let socket = UdpSocket::bind("[::]:0")?;
socket.connect(cl)?;
socket.set_read_timeout(Some(Duration::from_secs(5)))?;
@@ -190,7 +190,7 @@ impl Tftpd {
}
pub fn start(&mut self) {
- let socket = match UdpSocket::bind(format!("0.0.0.0:{}", self.conf.port)) {
+ let socket = match UdpSocket::bind(format!("[::]:{}", self.conf.port)) {
Ok(s) => s,
Err(err) => {
println!("Binding a socket failed: {}", err);