You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
TFTPProviderDriver's stage() method does not work with tftpd --secure flag #1487
When trying to stage files with the TFTPProviderDriver, it's stage() method symlinks the synced file from the cache dir to the tftp server dir.
Because the file is outside of the tftp server directory, this does not work in combination with the --secure flag of the tftp server. This flag makes the server chroot into it's server directory so any symlinks that point outside of it won't be followed correctly.
This is a problem when trying to use the stage() method in combination with the TFTPProvider external field,
which returns the "externally visible" (relative) path.
I guess a solution can be to remove the --secure flag and use the internal field to resolve to an absolute path of the staged file symlink.
But if I didn't miss anything this renders the external field effectively broken in the TFTPPRoviderDriver when trying to be used in combination with the stage() method.
This also dictates the setup of the tftp server which sometimes is not ideal when used for other purposes as well
I'm running into the same problem. Current implementation only works for tftp servers without --secure (which is default).
For tftp without --secure the full internal file path has to be used which is not ideal and that doesn't allign with the current documentation from i.e. Barebox.
How about a move from /var/cache/labgrid to the tftp internal dir on the remote instead of a symlink?
Activity
rvdgracht commentedon Jun 4, 2025
I'm running into the same problem. Current implementation only works for tftp servers without --secure (which is default).
For tftp without --secure the full internal file path has to be used which is not ideal and that doesn't allign with the current documentation from i.e. Barebox.
How about a move from /var/cache/labgrid to the tftp internal dir on the remote instead of a symlink?