Reading config file from fifo (see example command) worked up to version 1.54.1. Since 1.55.0 rclone stops with error message. (Reading fifo is a nice feature, it would be great if it was possible to make it work again)
What is your rclone version (output from rclone version)
rclone v1.55.0
os/type: linux
os/arch: amd64
go/version: go1.16.2
go/linking: static
go/tags: cmount
Which OS you are using and how many bits (eg Windows 7, 64 bit)
CentOS 7, 64bit
Which cloud storage system are you using? (eg Google Drive)
Not relevant.
The command you were trying to run (eg rclone copy /tmp remote:tmp)
No log printed; program stops with error (`...' replaces a folder path):
2021/05/23 22:34:21 Failed to load config file "/run/media/.../rc.fifo": seek /run/media/.../rc.fifo: illegal seek
Thank you for having a look at it. I think for the specific example I gave originally in the post (which I wanted to use to show my issue with the minimum complication) your solution would work. In my real situation I have crypted files and what I would like to achieve is that the config file is stored on another (remote) machine, separately from the data. So, when I need the config file, I could get it via ssh from the remote machine, immediately piped into the fifo which is then read out by rclone (also immediately). This way the config file is never stored on the local machine. Probably this cannot be achieved using a connection string.
Reading fifo used to work. I know when big changes happen to the code, e.g. switching to new libraries, some details of the behavior may change and it may not be straightforward to get some old features work again. I just wanted to mention the current issue (without knowing details of the code) so that if the fix is simple, it could be done. At the same time I also know sometimes the code structure does not allow to achieve "simple changes" in simple ways.
If you wanted to help it would be really useful to know exactly which commit broke this feature. So build rclone from source then use git bisect to find the commit which introduced the problem.
So, I wrote a short script to check the different versions. I am uploading the script (rclone-check.sh.txt (1.3 KB)) and the result of the script (log.txt (27.2 KB)).
The file log.txt clearly shows at which version the problem appeared.
(I included the latest release and the latest beta among the versions, too. The problem still exists).
commit 6a9ae3201232f5761fc7603ceb158c29637b2454
Author: Nick Craig-Wood <nick@craig-wood.com>
Date: Thu Mar 11 16:20:31 2021 +0000
config: split up main file more and move tests into correct packages
This splits config.go into ui.go for the user interface functions and
authorize.go for the implementation of `rclone authorize`.
It also moves the tests into the correct places (including one from
obscure which was in the wrong place).
( BTW if you want to do this again, learn about git bisect which can automate this process. There is a little script to help in bin/bisect-rclone.sh )
First things first can you open a new issue on Github about this.
Secondly would you like to have a go at fixing this? It certainly needs a test otherwise we'll just break it again by accident!