https://bugs.kde.org/show_bug.cgi?id=510456

            Bug ID: 510456
           Summary: Writing to ftp servers fails
    Classification: Frameworks and Libraries
           Product: frameworks-kio
      Version First 6.19.0
       Reported In:
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: FTP
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

Trying to copy files to ftp servers fails with "Access denied".

On first look this seems due to some things failing when KIO's CopyJob stats
the destination dir:

the implementation in FtpInternal::stat() has a code path which just assumes
details about the dir instead of querying for it, and the details do not assume
S_IWUSR (see also code comment "Don't list the parent dir. Too slow, might not
show it, etc. Just return that it's a dir.").
https://invent.kde.org/frameworks/kio/-/blob/v6.18.0/src/kioworkers/ftp/ftp.cpp?ref_type=tags#L1365

CopyJob though checks for S_IWUSR obviously, and errors out if not set for the
dir.
https://invent.kde.org/frameworks/kio/-/blob/v6.19.0-rc1/src/core/copyjob.cpp?ref_type=tags#L552

This seems to have been uncovered by the change in
https://invent.kde.org/frameworks/kio/-/commit/15fff1b8592648f11f20a303c8f82d61d3f19584#a255943687657ca8eb60300f623327855b34bd67_571_553
The old condition `!m_privilegeExecutionEnabled && !isWritable` might have
wrongly prevented entering the error branch, as `m_privilegeExecutionEnabled`
usually might have been true, and the `&&` should have rather been a `||`.

Possibly needs fixing by improving the ftp worker code to actually query the
real details, instead of hardcoding some?

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to