Modify drop protocol to allow transmission of broken symlinks in the URI list

This commit is contained in:
Kovid Goyal
2026-04-23 12:36:22 +05:30
parent 3cf037d263
commit 4c6f7ff6b5
4 changed files with 36 additions and 25 deletions

View File

@@ -169,10 +169,14 @@ If the client requests an entry that is not a supported URI type the
terminal must reply with ``EUNKNOWN``.
Terminals must ONLY send data for regular files or directories. Symbolic links must be
resolved and the corresponding file or directory read. If the terminal does not have
permission to read the file it must reply with ``EPERM``. Terminals
must respond with ``EINVAL`` if the file is not a regular file after
resolving symlinks and ``ENOENT`` if the file does not exist. If an
resolved and the corresponding file or directory read. Only if the symbolic
link cannot be resolved must it be transmitted as a symbolic link (in which
case ``X=1`` and the payload is the base64 encoded target of the symlink. See
below for more details about sending symlinks.
If the terminal does not have permission to read the file it must reply with
``EPERM``. Terminals must respond with ``EINVAL`` if the file is not a regular
file after resolving symlinks and ``ENOENT`` if the file does not exist. If an
I/O error occurs the terminal must send ``EIO``.
For security reasons, terminals must reply with ``EPERM`` if the drag