console-client: Cleanup the escape code

This change fixes a bug where multiple tildes were sent if a user typed
\r~~ This is unlike ssh, which allows nesting of escape sequences by
ensuring that only the second tilde is sent after the command sequence
is issued. This patch fixes the behavior so the console-server only ever
gets \r~ for an issued \r~~

This also prepares the escape sequence handling code for an upcoming
change which allows a user configurable escape sequence in addition to
the default ssh like one.

Change-Id: Iaff04e62fb57fab88d413df2b347809b98f728bb
Signed-off-by: William A. Kennington III <wak@google.com>
1 file changed
tree: 803beebde20cfc93b0452ff2a1a04b3febf2c3b4
  1. test/
  2. .gitignore
  3. .travis.yml
  4. bootstrap.sh
  5. config.c
  6. configure.ac
  7. console-client.c
  8. console-server.c
  9. console-server.h
  10. console-socket.c
  11. LICENSE
  12. log-handler.c
  13. MAINTAINERS
  14. Makefile.am
  15. obmc-console.conf.sample
  16. README.md
  17. ringbuffer.c
  18. socket-handler.c
  19. tty-handler.c
  20. util.c
README.md

To Build

Note: In addition to a toolchain and autoconf tools, this requires autotools-archive to be installed.

To build this project, run the following shell commands:

./bootstrap.sh
./configure ${CONFIGURE_FLAGS}
make

To fully clean the repository, run:

./bootstrap.sh clean

To Run Server

Running the server requires a serial port (e.g. /dev/ttyS0):

touch obmc-console.conf
./obmc-console-server --config obmc-console.conf ttyS0

To Connect Client

To connect to the server, simply run the client:

./obmc-console-client

To disconnect the client, use the standard ~. combination.