Subj : permission denied error
To   : mark lewis
From : Michael Dukelsky
Date : Sun Dec 03 2017 02:23 pm

Hello mark,

Saturday December 02 2017, mark lewis wrote to Michael Dukelsky:

ml>>> i use allfix but it wasn't involved in this... in this case, it
ml>>> was a script file copying files from the central procesing
ml>>> area's outbound to the individual fileboxes for those that
ml>>> connect here via binkp... the file being copied was on a
ml>>> physically different drive than the the fileboxes so a rename
ml>>> wouldn't work...

MD>> .bsy and .csy files protect BSO (bink style outbound) only, a
MD>> filebox is not protected this way.

ml> that's interesting... i was not aware of that at all and we have
ml> exclusively been using BSY when writing to and removing from fileboxes
ml> specifically to prevent dual access problems...

MD>> That is why one should use an atomic operation writing to a
MD>> filebox. So if the source file is on the same drive one should
MD>> use move (rename) and if the source file is on a different drive
MD>> one should first copy the file to a temporary directory of a
MD>> target drive and then use move (rename).

ml> ugh... that adds another layer of complexity...

I see no complexity here.

ml> but technically speaking, we always use move...

Well, I meant that in Windows it is called ren (rename) and in Unices mv
(move).

ml> it is up to the tool or OS to copy or rename as necessary... we might
ml> have to take a closer look at the tool
ml> that has been being used ever since binkd was added to the system...

MD>> It is true for any mailer, not only for binkd.

ml> FrontDoor doesn't have this problem... we use FD semaphores to signal
ml> FD to do or not do certain things (eg: fdnoscan.now, fdcansess.11,
ml> fdrescan.now) as well as using semaphores similar to BSY... this is
ml> one of the reasons why we asked several years ago for more disk based
ml> semaphores to talk to and control binkd with...

I used FrontDoor more than 20 years ago so I remember nothing about it now...
:) The following is my understanding of binkd.

Binkd author implemented two formats of outbound: Binkley style outbound and
filebox. These two formats have differing purpose. Fileboxes are used for a
simple file transfer. If a file has been put into a filebox then it is assumed
that a mailer is free to transfer it. This simplicity is the main advantage of
fileboxes. It is good for transferring regular files. The one and only demand
is an atomic move of a file to filebox. Mail bundles may also be transferred in
such a way but one cannot add messages to the bundles already located in a
filebox since the mailer can start transferring the bundles at any moment.

So if we want to have a possibility to add messages to a mail bundle we should
use BSO with its semaphore mechanism. Thus the absence of semaphores (or flag
files) in fileboxes is not a mistake but a part of philosophy.

Michael

... node (at) f1042 (dot) ru
--- GoldED+/LNX 1.1.5-b20170303
* Origin: Moscow, Russia (2:5020/1042)