Our Products:   CompleteFTP  edtFTPnet/Free  edtFTPnet/PRO  edtFTPj/Free  edtFTPj/PRO
0 votes
125 views
in CompleteFTP by (350 points)
edited by

Hi,

Got a possible product defect here. works under version 12.1.4, doesn't work under version 23.0.4, have not tried older versions yet

I created 3 users (user1, user2, adminuser), 2 groups (group1, group2), gave them individual virtual folders and set permissions on the groups alone, added adminuser to the 'admins' group and user1/user2 to their respective groups.

Set up two folder structures, root being a virtual folder structure and the second folder being a windows folder.
/USER1/user1
/USER2/user2
Set up a JSS process trigger, execute on upload with folder filter of /USER1/*

The process trigger is:

    System.Threading.Thread.Sleep(5000) // Put in place only to show the actual exception
    var srcFile=new File(event.virtualFolder)
    srcFile.copyTo("/USER2/user2")


I set the 'Grant permissions of' dropdown to the 'adminuser'

Expected Behaviour:
user1 logs in and uploads a file
the process trigger executes and copies the file to User 2's directory

Actual Behaviour:
If user1 remains connected during the processing of the event trigger than the process works as per the expected.
If user1 disconnects straight after the file upload however, the process trigger fails with the following errors:
No file-read permission for /USER/User1 (VirtualFilePermissionException)

edit:
Our workaround at the moment is to use .NET ("System.IO.File.Copy" and "System.IO.File.CreateText") commands instead.

1 Answer

0 votes
by (51.4k points)
You're right that this is a bug. I suspect that the reason why it worked in 12.1.4 was that clean-up of sessions was delayed, which was something we fixed in later versions.

I've added a request for it to be fixed in the next maintenance release, which will be 23.2.0 (23.1.0 is a feature release featuring the long requested reporting).

If you're unhappy with your specific workaround, it should also be possible to work around the bug by queuing the operation and then executing either on the logout event or as a scheduled event. Let me know if you'd like information on these possibilities.

And thank you very much for reporting the bug!

Categories

...