Re: HiddenStore option may be useful

This is a discussion on Re: HiddenStore option may be useful within the OpenSSH Development forums, part of the Networking and Network Related category; On 2007-04-15 04:18, William Ahern wrote: > On Sat, Apr 14, 2007 at 10:54:43PM -0400, ...


Go Back   Usenet Forums > Networking and Network Related > OpenSSH Development

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-15-2007
Jefferson Ogata
 
Posts: n/a
Default Re: HiddenStore option may be useful

On 2007-04-15 04:18, William Ahern wrote:
> On Sat, Apr 14, 2007 at 10:54:43PM -0400, Jason wrote:
>> 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)
>>>
>>> What do you think about this?

>> Why not have PROCA use inotify?
>>
>> See /usr/src/linux/Documentation/filesystems/inotify.txt

>
> How does that address the race condition? inotify is just a better poll in
> this case. It doesn't even tell you how many processes have an open
> descriptor.

[snip]
> The only real answer, in this case, for race free, provably correct
> behavior, is to hack up sftp. OTOH, if "good enough" is sufficient, you're
> probably already there.


Most systems have fuser. PROCA could either shell out to fuser or do
whatever fuser does on your target platform. This doesn't protect you if
the sftp/scp gets killed, but it comes closer.

An even better option is to do the transfer using tunneled rsync, which
does a HiddenStore-type thing on its own.

Not that I'm against the HiddenStore option. But I don't see why it's
really necessary for this particular case.

--
Jefferson Ogata <Jefferson.Ogata@noaa.gov>
NOAA Computer Incident Response Team (N-CIRT) <ncirt@noaa.gov>
"Never try to retrieve anything from a bear."--National Park Service
_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev@mindrot.org
http://lists.mindrot.org/mailman/lis...enssh-unix-dev
Reply With Quote
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 05:35 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0