* bug#54130: 29.0.50; TRAMP SSHFS can't visit remote files using absolute symlinks
@ 2022-02-23 17:41 Philipp Stephani
2022-02-24 15:19 ` Michael Albinus
0 siblings, 1 reply; 3+ messages in thread
From: Philipp Stephani @ 2022-02-23 17:41 UTC (permalink / raw)
To: 54130
On a remote host REMOTE, create an arbitrary file and an absolute
symlink to it:
REMOTE$ echo hi > /tmp/a.txt
REMOTE$ ln -svi /tmp/{a,b}.txt
Visiting the symlink from another host using SSH works as expected:
emacs -Q /ssh:REMOTE:/tmp/b.txt
But the same fails with SSHFS:
emacs -Q /sshfs:REMOTE:/tmp/b.txt
TRAMP prints a message "File exists, but cannot be read", and the buffer
stays empty.
In GNU Emacs 29.0.50 (build 59, x86_64-pc-linux-gnu, GTK+ Version 3.24.31, cairo version 1.16.0)
of 2022-02-23
Repository revision: 85ad8616007e286c237bb2906d1928bb551462e7
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12014000
System Description: Debian GNU/Linux rodete
Configured using:
'configure --enable-gcc-warnings=warn-only
--enable-gtk-deprecation-warnings --without-pop --with-mailutils
--enable-checking=all --enable-check-lisp-object-type --with-modules
'CFLAGS=-O0 -ggdb3''
Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG SECCOMP
SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB
Important settings:
value of $LC_TIME: en_DK.utf8
value of $LANG: en_US.utf8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug sendmail phst skeleton pcase ffap
thingatpt url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util url-parse auth-source cl-seq eieio
eieio-core cl-macs eieio-loaddefs json map url-vars rx message mailcap
yank-media rmc dired dired-loaddefs rfc822 mml mml-sec password-cache
epa derived epg rfc6068 epg-config gnus-util time-date mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader gnutls
puny elp dbus xml seq gv subr-x byte-opt bytecomp byte-compile cconv
compile text-property-search comint ansi-color ring cl-loaddefs cl-lib
iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget keymap hashtable-print-readable backquote threads
dbusbind inotify dynamic-setting system-font-setting font-render-setting
cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)
Memory information:
((conses 16 67529 10057)
(symbols 48 8204 1)
(strings 32 23696 1693)
(string-bytes 1 761048)
(vectors 16 15597)
(vector-slots 8 208626 48149)
(floats 8 28 30)
(intervals 56 230 0)
(buffers 992 11))
--
Google Germany GmbH
Erika-Mann-Straße 33
80636 München
Geschäftsführer: Paul Manicle, Liana Sebastian
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Diese E-Mail ist vertraulich. Falls Sie diese fälschlicherweise erhalten haben
sollten, leiten Sie diese bitte nicht an jemand anderes weiter, löschen Sie
alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, dass die E-Mail
an die falsche Person gesendet wurde.
This e-mail is confidential. If you received this communication by mistake,
please don’t forward it to anyone else, please erase all copies and
attachments, and please let me know that it has gone to the wrong person.
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#54130: 29.0.50; TRAMP SSHFS can't visit remote files using absolute symlinks
2022-02-23 17:41 bug#54130: 29.0.50; TRAMP SSHFS can't visit remote files using absolute symlinks Philipp Stephani
@ 2022-02-24 15:19 ` Michael Albinus
2022-02-24 17:04 ` Philipp Stephani
0 siblings, 1 reply; 3+ messages in thread
From: Michael Albinus @ 2022-02-24 15:19 UTC (permalink / raw)
To: Philipp Stephani; +Cc: 54130-done
Version: 28.2
Philipp Stephani <p.stephani2@gmail.com> writes:
Hi Philipp,
> On a remote host REMOTE, create an arbitrary file and an absolute
> symlink to it:
>
> REMOTE$ echo hi > /tmp/a.txt
> REMOTE$ ln -svi /tmp/{a,b}.txt
>
> Visiting the symlink from another host using SSH works as expected:
>
> emacs -Q /ssh:REMOTE:/tmp/b.txt
>
> But the same fails with SSHFS:
>
> emacs -Q /sshfs:REMOTE:/tmp/b.txt
>
> TRAMP prints a message "File exists, but cannot be read", and the buffer
> stays empty.
SSHFS interprets symbolic links on the local host. An absolute file name
cannot work, therefore.
I've added ("-o" "transform_symlinks") to the tramp-mount-args of the
sshfs Tramp method. This shall fix it. Pls unmount any sshfs mounts
prior testing, otherwise it wouldn't work.
An alternative would be to use ("-o" "follow_symlinks"). But this has
the disadvantage that symbolic links look like regular files then, so I
haven't used it.
Pushed to the repositories. You'll find it on the master branch, and in
the upcoming GNU ELPA Tramp 2.5.2.2. Closing the bug.
Best regards, Michael.
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#54130: 29.0.50; TRAMP SSHFS can't visit remote files using absolute symlinks
2022-02-24 15:19 ` Michael Albinus
@ 2022-02-24 17:04 ` Philipp Stephani
0 siblings, 0 replies; 3+ messages in thread
From: Philipp Stephani @ 2022-02-24 17:04 UTC (permalink / raw)
To: Michael Albinus; +Cc: 54130-done
Am Do., 24. Feb. 2022 um 16:19 Uhr schrieb Michael Albinus
<michael.albinus@gmx.de>:
>
> Version: 28.2
>
> Philipp Stephani <p.stephani2@gmail.com> writes:
>
> Hi Philipp,
>
> > On a remote host REMOTE, create an arbitrary file and an absolute
> > symlink to it:
> >
> > REMOTE$ echo hi > /tmp/a.txt
> > REMOTE$ ln -svi /tmp/{a,b}.txt
> >
> > Visiting the symlink from another host using SSH works as expected:
> >
> > emacs -Q /ssh:REMOTE:/tmp/b.txt
> >
> > But the same fails with SSHFS:
> >
> > emacs -Q /sshfs:REMOTE:/tmp/b.txt
> >
> > TRAMP prints a message "File exists, but cannot be read", and the buffer
> > stays empty.
>
> SSHFS interprets symbolic links on the local host. An absolute file name
> cannot work, therefore.
>
> I've added ("-o" "transform_symlinks") to the tramp-mount-args of the
> sshfs Tramp method. This shall fix it. Pls unmount any sshfs mounts
> prior testing, otherwise it wouldn't work.
Thanks for the quick fix! Confirmed that it works now on master.
>
> An alternative would be to use ("-o" "follow_symlinks"). But this has
> the disadvantage that symbolic links look like regular files then, so I
> haven't used it.
Yes, agreed.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-02-24 17:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-23 17:41 bug#54130: 29.0.50; TRAMP SSHFS can't visit remote files using absolute symlinks Philipp Stephani
2022-02-24 15:19 ` Michael Albinus
2022-02-24 17:04 ` Philipp Stephani
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).