[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encode
From: |
Michael Albinus |
Subject: |
bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual) |
Date: |
Fri, 10 May 2019 12:18:17 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Jeronimo Pellegrini <j_p@aleph0.info> writes:
> Hello Michael,
Hi Jeronimo,
>> > +(defconst tramp-hexdump-awk-coding-test
>> > + "test -c /dev/zero && \
>> > +busybox hexdump -v -e '16/1 \" %02x\" \"\\n\"' < /dev/null && \
>>
>> This must be "hexdump", not "busybox hexdump".
>
> The original tramp-awk-encode uses "busybux awk". Is there a particular
> reason for that, or could it also be changed to "awk"?
I don't remember exactly, but I believe there was a reason. Likely, a
simple "awk" didn't work, but "busybox awk" did. On whatever test machine.
> and so on, so if busybox is called and argv[0] is "awk" it knows
> the user's intention. So, using "busybox awk" and "busybox hexdump"
> would guarantee that this encoding scheme works on devices where the
> symlinks are not available (I've never seen one actually); on the other
> hand, it would break the encoding method for computers which do have
> awk and hexdump, but no busybox... What do we do? Duplicate the
> functions again?
The awk methods are intended for very leightweighted machines, like
routers or NAS devices. It is expected that they have installed busybox.
According to <https://busybox.net/downloads/BusyBox.html>, "awk",
"hexdump" and "od" are subcommands of busybox. Unfortunately, not all
busybox installations have all subcommands compiled in. For example, on
my NAS device "awk" and "hexdump" are part of busybox, "od" isn't.
--8<---------------cut here---------------start------------->8---
[~] # busybox --help
BusyBox v1.01 (2019.03.22-03:18+0000) multi-call binary
Usage: busybox [function] [arguments]...
or: [function] [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as!
Currently defined functions:
[, addgroup, adduser, ash, awk, basename, bunzip2, busybox,
bzcat, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp,
cp, crond, crontab, cut, date, dc, dd, deallocvt, delgroup,
deluser, df, dirname, dmesg, dos2unix, du, echo, egrep, env,
expr, false, fdisk, fgrep, find, free, getty, grep, gunzip,
gzip, halt, head, hexdump, hostname, hwclock, id, ifconfig,
init, insmod, install, ip, kill, killall, klogd, linuxrc, ln,
logger, login, ls, lsmod, md5sum, mkdir, mknod, mktemp, modprobe,
more, mount, mv, nameif, netstat, nslookup, openvt, passwd,
pidof, ping, ping6, pivot_root, poweroff, ps, pwd, rdate, readlink,
reboot, renice, reset, rm, rmdir, rmmod, route, sed, sh, sha1sum,
sleep, sort, strings, swapoff, swapon, switch_root, sync, sysctl,
syslogd, tail, tar, tee, telnet, test, tftp, time, top, touch,
tr, traceroute, true, tty, umount, uname, uniq, unix2dos, unzip,
uptime, usleep, vi, wc, wget, which, whoami, xargs, yes, zcat
--8<---------------cut here---------------end--------------->8---
Maybe, we shall use just a template for the encoding/decoding functions,
and for all busybox subcommands we need a test, whether they can be
invoked via "busybox command" or "command". There will be sevaeral
combinations to test.
> tramp-busybox-od-awk-encode
> tramp-busybox-hexdump-awk-encode
> tramp-busybox-awk-decode
>
> tramp-od-awk-encode
> tramp-hexdump-awk-encode
> tramp-awk-decode
>
> I feel like that would be a too large amount of duplicated code...
> Or is that ok?
No, too much duplicated code. As said above, provide
tramp-od-awk-encode, tramp-hexdump-awk-encode and tramp-awk-decode, and
make intelleigent tests whether "awk", "hexdump" and "od" need to be
prefixed by "busybox".
> Thank you for your patience!
> J.
Best regards, Michael.
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), (continued)
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Michael Albinus, 2019/05/09
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Jeronimo Pellegrini, 2019/05/09
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Michael Albinus, 2019/05/09
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Jeronimo Pellegrini, 2019/05/09
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Michael Albinus, 2019/05/09
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Jeronimo Pellegrini, 2019/05/09
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Michael Albinus, 2019/05/10
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Robert Pluim, 2019/05/10
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Michael Albinus, 2019/05/10
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Jeronimo Pellegrini, 2019/05/10
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual),
Michael Albinus <=
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Jeronimo Pellegrini, 2019/05/10
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Jeronimo Pellegrini, 2019/05/10
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Michael Albinus, 2019/05/12
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Jeronimo Pellegrini, 2019/05/17
- bug#35639: 27.0.50; tramp fails to use ssh on LibreCMC (no base64 encoder available, and not mentioned in tramp manual), Michael Albinus, 2019/05/18