Public bug reported:
attfpd(source package: atfp) on Ubuntu 24.04 listen by atftpd.socket.
atfptd.socket bind UDPv6/IPv6. But this socket accept IPv4 and IPv6 both
packets.
atftpd process require UDPv4/IPv4 listen socket.
# My workaround
atftpd.socket listen UDPv4/IPv4 socket.
/etc/systemd/system/atftpd.socket.d/workaround.conf
[Socket]
ListenDatagram=
ListenDatagram=0.0.0.0:69
# Package Infomation / System Infomation
root@bootserver:~# lsb_release -rd
No LSB modules are available.
Description: Ubuntu 24.04 LTS
Release: 24.04
root@bootserver:~# apt-cache policy atftpd
atftpd:
Installed: 0.8.0-3ubuntu3
Candidate: 0.8.0-3ubuntu3
Version table:
*** 0.8.0-3ubuntu3 500
500 http://ftp.iij.ad.jp/pub/linux/ubuntu/archive noble/universe amd64
Packages
100 /var/lib/dpkg/status
# Errorlog
This DEBUG log indicates that there is a problem with this code
https://salsa.debian.org/debian/atftp/-/blob/0.8.0-3/tftpd.c?ref_type=tags#L728-736
May 11 01:24:53 bootserver systemd[1]: Started atftpd.service - Advanced TFTP
Server.
May 11 01:24:53 bootserver atftpd[4551]: Advanced Trivial FTP server started
(0.8.0)
May 11 01:24:53 bootserver atftpd[4551]: started by inetd or socket activated
May 11 01:24:53 bootserver atftpd[4551]: logging level: 7
May 11 01:24:53 bootserver atftpd[4551]: directory: /srv/tftp/
May 11 01:24:53 bootserver atftpd[4551]: user: nobody.nogroup
May 11 01:24:53 bootserver atftpd[4551]: log file: syslog
May 11 01:24:53 bootserver atftpd[4551]: not forcing to listen on local
interfaces.
May 11 01:24:53 bootserver atftpd[4551]: server timeout: 300
May 11 01:24:53 bootserver atftpd[4551]: tftp retry timeout: 5
May 11 01:24:53 bootserver atftpd[4551]: maximum number of thread: 100
May 11 01:24:53 bootserver atftpd[4551]: option timeout: enabled
May 11 01:24:53 bootserver atftpd[4551]: option tzise: enabled
May 11 01:24:53 bootserver atftpd[4551]: option blksize: enabled
May 11 01:24:53 bootserver atftpd[4551]: option windowsize: enabled
May 11 01:24:53 bootserver atftpd[4551]: option multicast: enabled
May 11 01:24:53 bootserver atftpd[4551]: address range: 239.255.0.0-255
May 11 01:24:53 bootserver atftpd[4551]: port range: 1758
May 11 01:25:16 bootserver atftpd[4551]: socket may listen on any address,
including broadcast
May 11 01:25:16 bootserver atftpd[4551]: bind: Cannot assign requested address
May 11 01:25:16 bootserver atftpd[4551]: Creating new socket: :::0
May 11 01:25:16 bootserver atftpd[4551]: Server thread exiting
May 11 01:26:36 bootserver atftpd[4551]: SIGTERM received, stopping threads and
exiting.
May 11 01:26:36 bootserver atftpd[4551]: tftpd.c: 468: select: Interrupted
system call
May 11 01:26:36 bootserver systemd[1]: Stopping atftpd.service - Advanced TFTP
Server...
May 11 01:26:36 bootserver atftpd[4551]: atftpd terminating after 300 seconds
May 11 01:26:36 bootserver systemd[1]: atftpd.service: Deactivated successfully.
# GDB debuging
(gdb) n
734 in tftpd.c
(gdb) p to
$6 = {ss_family = 10, __ss_padding =
"\000\000\036y\000\000\000\000\000\000\000\000\000\000\002", '\000' <repeats
102 times>,
__ss_align = 0}
(gdb) p *(struct sockaddr_in*)&to
$8 = {sin_family = 10, sin_port = 0, sin_addr = {s_addr = 31006}, sin_zero =
"\000\000\000\000\000\000\000"}
(gdb) p *(struct sockaddr_in6*)&to
$9 = {sin6_family = 10, sin6_port = 0, sin6_flowinfo = 31006, sin6_addr =
{__in6_u = {
__u6_addr8 =
"\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000", __u6_addr16 =
{0, 0, 0, 0, 2, 0, 0, 0},
__u6_addr32 = {0, 0, 2, 0}}}, sin6_scope_id = 0}
(gdb) quit
root@bootserver:~# lsof -p 7298
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
in.tftpd 7298 atftpd cwd DIR 252,1 4096 2 /
in.tftpd 7298 atftpd rtd DIR 252,1 4096 2 /
in.tftpd 7298 atftpd txt REG 252,1 81040 3014777
/usr/sbin/atftpd
in.tftpd 7298 atftpd mem REG 252,1 2125328 3020752
/usr/lib/x86_64-linux-gnu/libc.so.6
in.tftpd 7298 atftpd mem REG 252,1 182944 3026891
/usr/lib/x86_64-linux-gnu/libgcc_s.so.1
in.tftpd 7298 atftpd mem REG 252,1 625344 3027015
/usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.11.2
in.tftpd 7298 atftpd mem REG 252,1 44064 3047322
/usr/lib/x86_64-linux-gnu/libwrap.so.0.7.6
in.tftpd 7298 atftpd mem REG 252,1 236616 3020748
/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
in.tftpd 7298 atftpd 0u IPv6 63411 0t0 UDP *:tftp
in.tftpd 7298 atftpd 1u IPv6 63411 0t0 UDP *:tftp
in.tftpd 7298 atftpd 2u IPv6 63411 0t0 UDP *:tftp
in.tftpd 7298 atftpd 3u unix 0xffff9d588ed85800 0t0 63415 type=DGRAM
(CONNECTED)
in.tftpd 7298 atftpd 4u sock 0,8 0t0 15261 protocol:
UDPv6
** Affects: atftp (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2065463
Title:
atftpd require UDPv4 socket
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/atftp/+bug/2065463/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs