[BUG] TFTP: No access to subdirectories

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox

[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux