HiddenStore option may be useful

Darren Tucker dtucker at zip.com.au
Mon Apr 16 07:45:48 EST 2007


Thomas Blank wrote:
> I'm missing a HiddenStore option in OpenSSH, known from some ftp-server 
> implementations like ProFTPd.
> 
> Consider the following scenario:
> - A process PROCA is frequently polling the directory for a file called 
> myfile.txt
> - Someone transfers this file via sftp or scp to the directory
> - While transfer is going on and the file is not completely written, 
> PROCA reads in the file and removes is
> -> Corrupt data is seen by PROCA
> 
> Knowing this problem you have to solutions:
> 1. PROCA must check if myfile.txt is changing (filesize, mtime...) and 
> wait until it does not change any more
> 2. sftp and scp use a HiddenStore by writing the file with a unique 
> filename (eg. .myfile.txt) and renaming it at the end of the transfer 
> (mv .myfile.txt myfile.txt)

Do you have control over the clients?  If so:

3. Use sftp to upload the file with a temporary name then rename it when
it's complete.  Something like this (untested):

sftp -b /dev/stdin server.example.com << EOD
put myfile.txt .myfile.txt
rename .myfile.txt myfile.txt
EOD

-- 
Darren Tucker (dtucker at zip.com.au)
GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4  37C9 C982 80C7 8FF4 FA69
    Good judgement comes with experience. Unfortunately, the experience
usually comes from bad judgement.


More information about the openssh-unix-dev mailing list