Persistent VTY history?

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Neels Hofmeyr nhofmeyr at sysmocom.de
Tue Oct 9 14:50:23 UTC 2018


On Tue, Oct 09, 2018 at 01:46:53PM +0100, Keith wrote:
> Hi all, thanks for the replies on this thread.
> 
> good to see some other people have considered it, and for pretty much
> the same reasons it occurred to me.
> 
> I tried rlwrap (the readline wrapper) with telnet, and of course it
> works, in that you get full readline support with saved history in your
> telnet session, on the client/user side) but you lose the [TAB] and [?]
> command completion of the vty.

All that needs to happen is that the tab and ? are sent to the telnet
immediately, without waiting for the newline. Then it would reply with the
completion / online doc output.

> I had a quick go and re-implementing the command completion using an
> rlwrap plugin

you mean like navigate the vty tree and figure out what commands exist? that's
not going to work, at least not like the real vty behaves. There is lots of
magic going on there, argument range checking and whatnot.

> I think you have
> to stop rlwarp from sending a newline along with the command completion
> TAB though, and I'm not sure this is doable from the plugin. I'll have
> another look if I can find time.

that sounds more like it. If we could only make all of [\n\t?] terminate a
readline like \n does...

> I'll take a look at the python vty interact. I haven't looked at it.

That would also need the don't-wait-for-newline stuff, and it currently also
omits the prompts.

What works already is a kind of pseudo interactive shell: e.g. run osmo-bsc,
then

$ osmo_interact_vty.py -p 4242
?<enter>
  show      Show running system information
  list      Print command list
  exit      Exit current mode and down to previous mode
  help      Description of the interactive help system
  enable    Turn on privileged mode command
  terminal  Set terminal line parameters
  who       Display who is on vty
  logging   Configure logging
  no        Negate a command or set its defaults

Needs to
* show the prompt
* change it to treat all of [\n\t?] as line-end;
  I hope that doesn't need re-invention of libreadline -- that's the biggest
  uncertainty.
* write/read the history...

Hm, looks like it might end up a considerable effort after all.

~N
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20181009/0dc7298b/attachment.bin>


More information about the OpenBSC mailing list