cooked mode sessions

Howard Chu hyc at
Thu Jun 17 19:08:14 EST 2010

Alon Bar-Lev wrote:
> libnoise is simple and  tiny...
> Although not all functionality is there... :)
> On Thu, Jun 17, 2010 at 11:10 AM, Peter Stuge<peter at>  wrote:
>> Howard Chu wrote:
>>> the client will use the readline library
>> How about libedit? I guess readline is not so hot in OpenSSH
>> upstream.

Thanks for the suggestions, I hadn't seen these alternatives. I only started 
with readline since it's inside bash and I wanted to get bash to play along. 
linenoise looks promising since it's such a small library. Of course it also 
appears that it doesn't support any form of completion yet.

Command completion has turned out to be a bit tricky; I had first thought I 
could grab all of the completion possibilities out of band and feed them to 
the local readline library, but that's a waste. (After all, there are two 
goals here - one is moving more processing to the local client, but the other 
is to minimize network traffic.) Instead, I've opted to just forward any 
completion characters to the remote side, and let it deal with them if it can. 
This works, mostly, but it needs a bit more hacking to make sure it doesn't 
mess up and redraw the input line incorrectly.

There's another limitation that may be more annoying - you can't utilize any 
of the remote program's saved command history. Kind of raises a question about 
whether ssh itself should manage a persistent history, one for each 
   -- Howard Chu
   CTO, Symas Corp. 
   Director, Highland Sun
   Chief Architect, OpenLDAP

More information about the openssh-unix-dev mailing list