Subject: bug#35639: closed (Re: bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual))

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 16 Jan 2020 20:24:02 +0000

Your bug report

#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual)

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
35639: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=35639
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual)
From: Michael Albinus <[email-masked]>
To: Jeronimo Pellegrini <[email-masked]>
Cc: [email-masked]
Date: Thu, 16 Jan 2020 21:23:14 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 27.2

Jeronimo Pellegrini <[email-masked]> writes:

> Hello!

Hi Jeronimo,

>> >> I've committed the appended patch to the Emacs and Tramp git
>> >> repositories. Could you, pls, test with your LibeCMC machine?
>
> I just tested it with the exact same precedure that I used when I reported
> the bug, and it worked perfectly!

Thanks for the feedback.

>> >> If you don't use the git repositories, you might install Tramp 2.4.3
>> >> from GNU ELPA, and apply the patch on top of it.
>
> I compiled Emacs from git (updated today, Jan 16)...
>
> So I believe this is solved! :-)

Yep. I'm closing the bug.

> J.

Best regards, Michael.

Subject: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual)
From: Jeronimo Pellegrini <[email-masked]>
To: [email-masked]
Date: Wed, 08 May 2019 13:25:19 -0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello. I believe I have found a bug in either tramp.texi or 
tramp-sh.el.

How to reproduce:

[1] set up a vanilla installation of LibreCMC (or OpenWRT, I've
reproduced this on both) on a wireless router. Suppose it's IP
it's 192.168.1.1.

[2] ssh into the router as root and create a file,

cat > test
whatever
^D

[3] from another machine, fire up emacs,

emacs -Q

[4] try to use tramp to access the file using ssh:

C-x X-f  /ssh:[email-masked]:/root/test
(or using the IP address, or host name, of the router, whatever it is)

Emacs will respond with an error, complaining about a "wrong method".

This is because line 3174 of rtamp.el was reached. It is the default
case of a COND expression that has other two cases:
- (or (tramp-local-host-p v)
      (tramp-method-out-of-band-p v size))
- (rem-enc ...)

The rem-enc function should use a base64 encoding program on the
router (but LibreCMC and OpenWRT do not have it!).

If, on the router, I install base64:

# opkg install coreutils-base64

then tramp succeeds.

So, I believe this should be mentioned in the manual
(in the info node Configuration -> Remote Programs
there is a list of required programs, but neither uuencode nor
base64 are mentioned)

I'm willing to send a patch to the manual - however:
reading  lisp/net/tramp-sh.el  I get the impression that tramp
actually *should* be able to encode/decode using busybox/awk, 
which *is* available in LibreCMC (or did I get it wrong?).

So, I'm not sure if this is a tramp bug (can't use awk to encode/decode
files in base64 format) or bug in its manual (doesn't mention that
a base64 binary is needed on the remote side).

Thank you!
J.

In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.5)
 of 2019-05-08 built on mitra
Repository revision: 8b789755b45e6e10ed2809d7a7b89146b28452fc
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12003000
System Description: Debian GNU/Linux buster/sid

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Making completion list...

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS GLIB NOTIFY
INOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 XDBE XIM THREADS LIBSYSTEMD JSON PDUMPER LCMS2 GMP

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-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
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv
bytecomp byte-compile cconv dired dired-loaddefs format-spec rfc822 mml
easymenu mml-sec password-cache epa derived epg epg-config gnus-util
rmail rmail-loaddefs text-property-search mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
time-date elec-pair mule-util tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type 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 elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core term/tty-colors frame 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 charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads dbusbind
inotify lcms2 dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 46847 6151)
 (symbols 48 5968 1)
 (strings 32 15091 1308)
 (string-bytes 1 495765)
 (vectors 16 9664)
 (vector-slots 8 118994 8860)
 (floats 8 17 21)
 (intervals 56 187 0)
 (buffers 992 13))