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

            Bug ID: 527976
           Summary: FTP MLSD entries without UNIX.mode are marked
                    read-only (0444), blocking paste and drag-and-drop in
                    Dolphin
    Classification: Frameworks and Libraries
           Product: frameworks-kio
      Version First 6.31.0
       Reported In:
          Platform: CachyOS
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: FTP
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

DESCRIPTION
Writable FTP directories are marked read-only when Dolphin obtains them from an
MLSD listing without UNIX.mode. The server accepts uploads, but Dolphin blocks
paste and drag-and-drop before attempting the transfer.

STEPS TO REPRODUCE
1. Connect to an Android WiFi FTP Server advertising MLST
Size;Modify;Type;Perm. Its actual MLSD directory entries contain size, modify
and type, but no UNIX.mode or Perm.
2. Browse the parent directory, then enter a writable child directory in
Dolphin.
3. Try to paste or drag a local file into it.

OBSERVED RESULT
Dolphin shows a forbidden drag cursor and reports that there is no permission
to write when pasting.
A KDirLister probe listing the parent reports the child as permissions=0444,
isWritable=false.
Direct FTP STOR and direct kioclient copy to that directory succeed. A direct
KIO stat reports 0755. Instrumenting KFileItem::isWritable in Dolphin recorded
the same directory changing from 0755/true to 0444/false as listing information
was used.

EXPECTED RESULT
Missing permission facts should not become a definitive read-only mode that
prevents operations the server permits.

SOFTWARE/OS VERSIONS
CachyOS Linux
Dolphin 26.08.2-1.1
KIO 6.31.0-1.1
Qt 6.12.0-3.1

SERVER RESPONSE
The target directory's parsed MLSD facts contain size=8192, modify=<timestamp>,
type=dir. Neither UNIX.mode nor Perm is present. Its traditional LIST
permissions are drwx------. Direct STOR succeeds.

SOURCE LOCATION
https://github.com/KDE/kio/blob/v6.31.0/src/kioworkers/ftp/ftp.cpp
FtpInternal::ftpReadDir(), MLSD branch, initializes de.access to S_IRUSR |
S_IRGRP | S_IROTH (0444). Only UNIX.mode replaces it; standard Perm is not
parsed. The direct directory stat path instead synthesizes writable
permissions, explaining the conflicting results.

VALIDATION
An experimental local build of only kio_ftp treated absent permission facts as
unknown/optimistically writable, handled Perm when present, and retained
UNIX.mode precedence. The same live-server parent-directory probe changed from
0444/isWritable=false with the original module to 0700/isWritable=true with the
modified module. A small upload through the modified module was retrieved,
compared successfully, and deleted. This validates the diagnosis, not every
aspect of the experimental patch. No system-wide KDE packages or server
permissions were changed.

DISCLOSURE
This report was drafted with AI assistance. The user supplied the Dolphin error
screenshots; an AI coding assistant inspected the source and ran the
live-server diagnostics and experimental build described above. The
observations are from those tests, not an independently performed human review
of every claim.

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

Reply via email to