Hello, I've noticed that since barebox version 2017.07.0, accessing files via TFTP only works for files that are located in the root directory of the TFTP server. Accessing files that reside in subdirectories doesn't work anymore. The bug affects both access via /mnt/tftp/ and via the tftp shell command. I've tested the following versions of barebox: - 2017.05.0: works - 2017.06.0: works - 2017.07.0: doesn't work anymore - 2017.08.0: doesn't work anymore Below follows the test scenario I've used to reproduce the bug: Scenario ======== For the server, I'm using a Raspberry Pi 2 with: - a DHCP server (isc-dhcp-server) and - a TFTP server (tftpd-hpa). For the client, I'm using a BeagleBone Black that runs barebox. The server's IPv4 address is 192.168.2.82, while the client gets address 192.168.2.100. Test files and directory structure on the TFTP server: test-file-1.txt test-dir-1/test-file-2.txt test-dir-1/test-dir-2/test-file-3.txt Network configuration of barebox ================================ barebox@TI AM335x BeagleBone black:/ dhcp eth0: 100Mbps full duplex link detected DHCP client bound to address 192.168.2.100 barebox@TI AM335x BeagleBone black:/ devinfo eth0 Parameters: ethaddr: ec:24:b8:9d:77:12 (type: MAC) gateway: 0.0.0.0 (type: ipv4) ipaddr: 192.168.2.100 (type: ipv4) linux.bootargs: (type: string) netmask: 255.255.255.0 (type: ipv4) serverip: 192.168.2.82 (type: ipv4) Behavior of barebox up to 2017.06.0 =================================== Access via /mnt/tftp -------------------- barebox@TI AM335x BeagleBone black:/ cat /mnt/tftp/test-file-1.txt This is from test-file-1.txt. barebox@TI AM335x BeagleBone black:/ cat /mnt/tftp/test-dir-1/test-file-2.txt This is from test-file-2.txt. barebox@TI AM335x BeagleBone black:/ cat /mnt/tftp/test-dir-1/test-dir-2/test-file-3.txt This is from test-file-3.txt. Log entries of TFTP server -------------------------- Aug 29 01:45:44 berry03 in.tftpd[5453]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 01:45:44 berry03 in.tftpd[5454]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 01:45:46 berry03 in.tftpd[5455]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 01:45:46 berry03 in.tftpd[5456]: RRQ from 192.168.2.100 filename test-dir-1/test-file-2.txt Aug 29 01:45:46 berry03 in.tftpd[5457]: RRQ from 192.168.2.100 filename test-dir-1/test-file-2.txt Aug 29 01:46:00 berry03 in.tftpd[5458]: RRQ from 192.168.2.100 filename test-dir-1/test-dir-2 Aug 29 01:46:00 berry03 in.tftpd[5459]: RRQ from 192.168.2.100 filename test-dir-1/test-dir-2/test-file-3.txt Aug 29 01:46:00 berry03 in.tftpd[5460]: RRQ from 192.168.2.100 filename test-dir-1/test-dir-2/test-file-3.txt Access via tftp command ----------------------- barebox@TI AM335x BeagleBone black:/ tftp test-file-1.txt [#################################################################] barebox@TI AM335x BeagleBone black:/ tftp test-dir-1/test-file-2.txt [#################################################################] barebox@TI AM335x BeagleBone black:/ tftp test-dir-1/test-dir-2/test-file-3.txt [#################################################################] Log entries of TFTP server -------------------------- Aug 29 01:47:26 berry03 in.tftpd[5468]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 01:47:26 berry03 in.tftpd[5469]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 01:47:26 berry03 in.tftpd[5470]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 01:47:28 berry03 in.tftpd[5471]: RRQ from 192.168.2.100 filename test-dir-1/test-file-2.txt Aug 29 01:47:28 berry03 in.tftpd[5472]: RRQ from 192.168.2.100 filename test-dir-1/test-file-2.txt Aug 29 01:47:28 berry03 in.tftpd[5473]: RRQ from 192.168.2.100 filename test-dir-1/test-file-2.txt Aug 29 01:47:38 berry03 in.tftpd[5474]: RRQ from 192.168.2.100 filename test-dir-1/test-dir-2/test-file-3.txt Aug 29 01:47:38 berry03 in.tftpd[5475]: RRQ from 192.168.2.100 filename test-dir-1/test-dir-2/test-file-3.txt Aug 29 01:47:38 berry03 in.tftpd[5476]: RRQ from 192.168.2.100 filename test-dir-1/test-dir-2/test-file-3.txt Behavior of barebox since 2017.07.0 =================================== Access via /mnt/tftp -------------------- barebox@TI AM335x BeagleBone black:/ cat /mnt/tftp/test-file-1.txt This is from test-file-1.txt. barebox@TI AM335x BeagleBone black:/ cat /mnt/tftp/test-dir-1/test-file-2.txt could not open /mnt/tftp/test-dir-1/test-file-2.txt: Invalid argument barebox@TI AM335x BeagleBone black:/ cat /mnt/tftp/test-dir-1/test-dir-2/test-file-3.txt could not open /mnt/tftp/test-dir-1/test-dir-2/test-file-3.txt: Invalid argument Log entries of TFTP server -------------------------- Aug 29 02:11:01 berry03 in.tftpd[5517]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 02:11:01 berry03 in.tftpd[5518]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 02:11:01 berry03 in.tftpd[5519]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 02:11:01 berry03 in.tftpd[5520]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 02:11:38 berry03 in.tftpd[5521]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:11:38 berry03 in.tftpd[5522]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:11:38 berry03 in.tftpd[5523]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:11:38 berry03 in.tftpd[5524]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:11:38 berry03 in.tftpd[5525]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:11:38 berry03 in.tftpd[5526]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:11:58 berry03 in.tftpd[5527]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:11:58 berry03 in.tftpd[5528]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:11:58 berry03 in.tftpd[5529]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:11:58 berry03 in.tftpd[5530]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:11:58 berry03 in.tftpd[5531]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:11:58 berry03 in.tftpd[5532]: RRQ from 192.168.2.100 filename test-dir-1 Access via tftp command ----------------------- barebox@TI AM335x BeagleBone black:/ tftp test-file-1.txt [#################################################################] barebox@TI AM335x BeagleBone black:/ tftp test-dir-1/test-file-2.txt could not open /.tftp_tmp_path/test-dir-1/test-file-2.txt: Invalid argument barebox@TI AM335x BeagleBone black:/ tftp test-dir-1/test-dir-2/test-file-3.txt could not open /.tftp_tmp_path/test-dir-1/test-dir-2/test-file-3.txt: Invalid argument Log entries of TFTP server -------------------------- Aug 29 02:13:27 berry03 in.tftpd[5534]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 02:13:27 berry03 in.tftpd[5535]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 02:13:27 berry03 in.tftpd[5536]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 02:13:27 berry03 in.tftpd[5537]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 02:13:27 berry03 in.tftpd[5538]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 02:13:27 berry03 in.tftpd[5539]: RRQ from 192.168.2.100 filename test-file-1.txt Aug 29 02:13:39 berry03 in.tftpd[5540]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:13:39 berry03 in.tftpd[5541]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:13:39 berry03 in.tftpd[5542]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:14:05 berry03 in.tftpd[5543]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:14:05 berry03 in.tftpd[5544]: RRQ from 192.168.2.100 filename test-dir-1 Aug 29 02:14:05 berry03 in.tftpd[5545]: RRQ from 192.168.2.100 filename test-dir-1 Conclusion ========== As can be seen from the log entries of the TFTP server, the access pattern of barebox has changed. All of the attempts to access a subdirectory stop at "test-dir-1". Furthermore, the number of accesses per file is different. The timestamps indicate which requests belong to one file access attempt. I hope this information helps. Thanks in advance! Best regards, Dennis Menschel