-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite FTP ext storage impl to use an FTP connection/session #6468
Comments
makes sense! |
Do we have any clue who often ftp is used as external storage system? I'd suggest to invest time and effort only if there is a significant usage/request - because honestly speaking: |
I just raised this to make sure the idea / possible solution doesn't get lost... |
Sure - thanks a lot! Please don't get me wrong - I just want to make sure that we focus on certain areas and topics. |
@PVince81 Let me have a look on the source in detail before I commit to take over the job ;-) |
@j-ed sure. Let us know if you need any pointers. 😄 |
@PVince81 Are you available on #owncloud-dev in the evening? I need some hints how OC is creating the mount point and how/where the decision is felt if it should be shown as a file or directory. I'm currently testing a custom FTP stat function and the mount status shows is already "green" but the mount point is still shown as a file and not a sub directory. |
@j-ed sorry I was already off and didn't see your message. First the class hierarchy: To distinguish between files and folders, the call goes as follows:
Does your If you like you can submit your experiment as a PR and put "WIP" in the title so I can check it. |
I've already spent some time on this issue and tried to overwork this function but the code never found its way into a pull request because I had stuck at some point and @PVince81 and I weren't able to find the root cause of the problem. If someone is interested in that code please let me know. |
@j-ed did you push your code to a branch here on GitHub? I'd be interested in looking at it |
Here you will find my attempt to create a custom FTP stat() function: Unfortunately @PVince81 and I weren't able to identified what else |
@PVince81 Any news? |
This hasn't been scheduled. |
@craigpg can be this scheduled? |
@Xenopathic did you get a chance to have a look ? @cdamken it is not confirmed yet that this solution would fix the issues, so first thing would be to research whether it does. |
@cdamdken, please work with @markviens et. al. to get this properly scheduled. |
Not yet unfortunately, but it's definitely something I will look at, hopefully for oC 8.1 |
In that case I'll set the milestone to 8.1 and assign to you if you don't mind. 😄 |
Will be redundant with #14551 |
One more reason to do it #16906 |
Closing as we want to move to Flysystem |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Currently, the FTP ext storage is using a URL-based approach.
It calls stat('ftp://...'), fopen('ftp://'...') etc without keeping an explicit connection.
It seems that this approach has many issues:
PHP can't get mtime for directories using the URL approach, neither with
stat()
not withmtime()
: Mounted FTP shows wrong change date ("Years ago" - 01.01.1970) #6395 which makes it impossible to detect folder changesSome PHP environments have stat() failing for some unknown reasons Problem accessing FTP server using external storage #5655 OC5.0.6 - External Storage - FTP - unable to mount share #3408
We should maybe rewrite it to use
ftp_connect()
instead which might provide a more stable and compatible connection.Let's discuss @icewind1991 @karlitschek @DeepDiver1975 @schiesbn
Before going with a full fledged implementation, we must try out whether the ftp_connect() approach can solve the above issues.
The text was updated successfully, but these errors were encountered: