Menu

Tree [d778ce] master vmware-support 2.0.0-rc1 /
 History

HTTPS access


File Date Author Commit
 extensions 2012-05-25 Frank Hofmann Frank Hofmann [6b9c64] Allow for Telnet properties to persist if Servi...
 ARCHITECTURE.html 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 AUTHORS 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 COPYING 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 ChangeLog 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 INSTALL 2010-09-10 Nick Williams Nick Williams [bccd94] add in kerberos to the zookeeper init, clean up...
 Makefile 2012-05-25 Frank Hofmann Frank Hofmann [0aabfd] More compile fixes for SunStudio:
 NEWS 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 README 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 TODO 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 aclocal.m4 2009-03-20 Nick Williams Nick Williams [a2acf6] re-run automake
 agent.cc 2012-05-25 Frank Hofmann Frank Hofmann [0aabfd] More compile fixes for SunStudio:
 agent.hh 2012-02-06 Frank Hofmann Frank Hofmann [a24dfe] More STL-ification of Agent; make definition fi...
 auth.cc 2012-02-08 Frank Hofmann Frank Hofmann [5c6ca8] STL-ify subscriber.cc (handler dispatch).
 auth.hh 2012-02-28 Frank Hofmann Frank Hofmann [ba1ec6] Who wouldn't want to be omnipotent in some situ...
 configfile.cc 2011-12-19 Frank Hofmann Frank Hofmann [92bec9] Fix FileConn memory leak.
 configfile.hh 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 connection.cc 2011-11-11 Frank Hofmann Frank Hofmann [af55fb] create config option "brkCR" to request precedi...
 connection.hh 2012-02-01 Frank Hofmann Frank Hofmann [85bd32] Make compile work with -Wall -Wextra -Werror
 daemon.cc 2012-02-28 Frank Hofmann Frank Hofmann [675b96] * Fix fix_fd
 daemon.hh 2009-04-04 njw njw [e4af0d] expand all tabs which have appeared in the source.
 depcomp 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 direct.cc 2012-02-08 Frank Hofmann Frank Hofmann [5c6ca8] STL-ify subscriber.cc (handler dispatch).
 direct.hh 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 endpoint.cc 2010-09-07 Nick Williams Nick Williams [faee23] cleanup: whitespace, -Wall fixes and remove rcsId
 endpoint.hh 2010-09-07 Nick Williams Nick Williams [faee23] cleanup: whitespace, -Wall fixes and remove rcsId
 fileconn.cc 2010-09-07 Nick Williams Nick Williams [faee23] cleanup: whitespace, -Wall fixes and remove rcsId
 fileconn.hh 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 install-sh 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 kerberos.cc 2012-02-01 Frank Hofmann Frank Hofmann [420236] STL-ify class Authenticator
 kerberos.hh 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 list.cc 2010-09-07 Nick Williams Nick Williams [faee23] cleanup: whitespace, -Wall fixes and remove rcsId
 list.h 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 logfile.cc 2012-02-01 Frank Hofmann Frank Hofmann [85bd32] Make compile work with -Wall -Wextra -Werror
 logfile.hh 2009-04-06 njw njw [e85a07] in logfiles, track last line in order to say "l...
 lookup.hh 2009-04-04 njw njw [e4af0d] expand all tabs which have appeared in the source.
 main.cc 2013-01-10 Frank Hofmann Frank Hofmann [d778ce] Conditional compiles for the tracing code - def...
 mconsd.8 2011-07-22 Nick Williams Nick Williams [edc004] Add a 'motd' attribute that gets displayed when...
 mconsd.h 2013-01-10 Frank Hofmann Frank Hofmann [d778ce] Conditional compiles for the tracing code - def...
 missing 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 namespace.cc 2012-02-28 Frank Hofmann Frank Hofmann [675b96] * Fix fix_fd
 namespace.hh 2012-02-28 Frank Hofmann Frank Hofmann [675b96] * Fix fix_fd
 nis.cc 2011-12-28 Frank Hofmann Frank Hofmann [443327] Make mconsd compile with gcc 4.6.x without (add...
 nis.hh 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 pipe.cc 2012-05-25 Frank Hofmann Frank Hofmann [0aabfd] More compile fixes for SunStudio:
 pipe.hh 2011-12-28 Frank Hofmann Frank Hofmann [443327] Make mconsd compile with gcc 4.6.x without (add...
 service.cc 2012-12-10 Frank Hofmann Frank Hofmann [24b94d] Throttle error message rate from persistent-but...
 service.hh 2012-05-25 Frank Hofmann Frank Hofmann [6b9c64] Allow for Telnet properties to persist if Servi...
 subscriber.cc 2012-05-18 Frank Hofmann Frank Hofmann [72ca91] Compile fixes to allow compiling with:
 subscriber.hh 2012-02-29 Frank Hofmann Frank Hofmann [4f35f5] sizeInfo() shouldn't be inline
 telnet.cc 2012-05-25 Frank Hofmann Frank Hofmann [0aabfd] More compile fixes for SunStudio:
 telnet.hh 2012-05-25 Frank Hofmann Frank Hofmann [6b9c64] Allow for Telnet properties to persist if Servi...
 txtfile.cc 2010-09-07 Nick Williams Nick Williams [faee23] cleanup: whitespace, -Wall fixes and remove rcsId
 txtfile.hh 2009-03-20 Nick Williams Nick Williams [be7316] initial commit into git
 xmlfile.cc 2012-02-08 Frank Hofmann Frank Hofmann [5c6ca8] STL-ify subscriber.cc (handler dispatch).
 xmlfile.hh 2009-04-06 njw njw [e85a07] in logfiles, track last line in order to say "l...
 zookeeper-kerberos.cc 2012-02-01 Frank Hofmann Frank Hofmann [85bd32] Make compile work with -Wall -Wextra -Werror
 zookeeper.cc 2012-02-08 Frank Hofmann Frank Hofmann [5c6ca8] STL-ify subscriber.cc (handler dispatch).
 zookeeper.hh 2012-02-08 Frank Hofmann Frank Hofmann [5c6ca8] STL-ify subscriber.cc (handler dispatch).

Read Me

multicons -- a multiplexing console system.

This is all written in C++ (although with some very C-style idioms),
so you need a C++ compiler. It's been tested with G++ and
SunProC on redhat linux and solaris respectively.

Features:
    - can connect to network-accessible consoles via TELNET
    - can connect to arbitrary programs that run in a pty
    - for network consoles, provides complete TELNET handling
    - the client is telnet(1), so can be accessed from just
      about anywhere.
    - provides Kerberos authentication
    - complete logging of all console output
    - as well as plain ASCII logs (real "unmodified" output),
      can also have XML logs which annotate output with
      the originating username and timestamps, allowing
      full replay functionality.
    - you can use 'chat'-like scripts (agents) that can
      auto-login to a console (useful when the initial
      connection drops you at a out-of-band manager or
      a password prompt, or combinations thereof).
    - multiple users can share a console in any combination
      of read-only or read-write mode.
    - consoles can be restricted to only allow a single
      user in read-write mode at a time (with associated
      configurable behaviour for allowing auto-steal-on-idle,
      or explicit stealing of the "write token")
    - configurable auto-retry of failed connections
    - entitlements based on a filesystem-like model, whereby
      directories of consoles can be protected (or unprotected)
      in the same way, even allowing for users to create new
      consoles in writable directories.
    - can invoke actions based on failing consoles (for example
      in an effort to fix a wedged terminal server port).
    - has been tested with well over 2,000 consoles
      connected simultaneously


Differences between this and other products:
How does this compare to conserver?

                             \   multicons | conserver |
Feature                       \            |           |
-------------------------------*-----------+-----------+
Logging of individual consoles |   yes     |  yes      |
replay-able logfiles           |   yes     |  no       |
Can log console data to syslog |   no      |  yes      |
Client works from anywhere     |   yes     |  no(1)    |
Kerberos authentication        |   yes     |  no       |
Service Discovery(2)           |   no      |  yes      |
Auto-forking server            |   no      |  yes      |
Serial port management         |   no      |  yes      |
Chat-scripts for connecting    |   yes     |  no       |
Dynamic reconfiguration        |   yes     |  yes      |
Dynamic user configuration     |   yes     |  no       |
SSL certificates (+ encryption)|   no      |  yes      |
"serviceability" commands(3)   |   yes     |  yes      |
xterm-like titlebar management |   yes     |  no(4)    |
macros                         |   yes     |  no       |
redirecting local commands     |   no      |  yes      |
staggered reconnects(5)        |   yes     |  yes      |
ability to fix broken consoles |   yes(6)  |  no       |
-------------------------------+-----------+-----------+

(1) multicons uses plain 'ol telnet(1), which is available
without recompiling on pretty much everything, however the
kerberos authentication requires a client which supports
the Kerberos authentication option. Without such a feature
in your telnet client, you will be able to connect to the
server but you may not have priviledges to *do* much, depending
on config.
(2) how do you know which console server to connect to for
a given console? conserver provides a redirect functionality
within the protocol (an advantage of using a custom client
over the plain ol' telnet client). 
(3) functionality such as "who's connected, what consoles
are available, what's the state of the server, of the console,
etc"
(4) although you can configure your .consolerc so that the
titlebar will be set correctly on connect, it does not
provide a notification method to change the titlebar as 
other users connect or the write-token passes between
users.
(5) conserver calls this throttling and it serialises
connections. multicons calls this 'scatter' and is a
randomization of connection times.
(6) The ability of multicons is to callout
to a configured commandline if the server detects a problem 
with the console. The external script is not provided 
with the multicons distribution and must be provided by
the local system administrator. At the author's site, we
expect to determine if a clear line on the terminal server
would be appropriate and if so, to do it.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.