conserver/CHANGES
2022-07-07 18:15:22 -07:00

1016 lines
53 KiB
Plaintext

CHANGES
=======
version 8.2.7 (July 7, 2022):
- configure.ac: autoconf-2.70 fix (Lars Wendler <polynomial-c@gentoo.org>)
- Add high baud rates (Peter Chubb <Peter.Chubb@data61.csiro.au>)
- Make compile --with-ipv6 & setproctitle (Bjoern A. Zeeb <patch@zabbadoz.net>)
- conserver.cf: devicesubst add 'b' for baud rate (Bjoern A. Zeeb <patch@zabbadoz.net>)
- Reflect that baud values have increased to 7 digits (Bjoern A. Zeeb <patch@zabbadoz.net>)
- cirrus-ci: move to freebsd-13-0 (Bryan Stansell <bryan@stansell.org>)
- configure.ac: support libgssapi_krb5 (Jiri Kastner <cz172638@gmail.com>)
version 8.2.6 (October 19, 2020):
- try and address license concerns with LICENSE.md
- replace usleep with nanosleep (Rosen Penev <rosenp@gmail.com>)
- console: Add 'k' option to exit on console-down (Mylène Josserand <mylene.josserand@collabora.com>)
- Fix #48 - apply ipv4 CIDR access list when compiled with ipv6 support
version 8.2.5 (May 1, 2020):
- support SO_PEERCRED as well as ucred (Stuart Henderson <stu@spacehopper.org>)
- fix TLS with LibreSSL, it doesn't have :@SECLEVEL=0 (Stuart Henderson <stu@spacehopper.org>)
- Handle INGSSACCEPT case when processing GSSAPI (Ryan Steinmetz <zi@FreeBSD.org>)
- Store status_minor when calling gss_release_buffer() (Ryan Steinmetz <zi@FreeBSD.org>)
- Add conditional for FreeBSD to use the correct structure element for address (Ryan Steinmetz <zi@FreeBSD.org>)
- Fix #35 - check for sed inplace style
- fix host consoles in combination --with-ipv6 (Tobias Waldekranz <tobias@waldekranz.com>)
- Fix #38 - task execution error message
- Prevent GetMaxFiles() debug output from going to forked processes
version 8.2.4 (March 26, 2019):
- Correct man page typo (Ed Maste <emaste@freebsd.org>)
- Remove autotools generated files from repo and create with release
- Better integration of Cirrus CI - FreeBSD, Linux, and MacOS
- Moving README to markdown
- Fix #12 - Remote infomation flags (i.e. "-x") cannot be filtered by console
- Fix #8 - defaultaccess appears broken
- Rename configure.in and use autoreconf
- Better use of version.h and letting configure build things with versions
version 8.2.3 (March 17, 2019):
- Correct 'impi' typo (Ed Maste <emaste@freebsd.org>)
- Correct argument type passed to time() (Ed Maste <emaste@freebsd.org>)
- Fix compilation without deprecated OpenSSL APIs (Rosen Penev <rosenp@gmail.com>)
- Fix compilation without deprecated OpenSSL 1.1 APIs (Rosen Penev <rosenp@gmail.com>)
- Fix #6 - clang "-Wstring-plus-int" warning (Bryan Stansell <bryan@conserver.com>)
- configure.in: Add test for closefrom (Ed Maste <emaste@freebsd.org>)
- regenerate autoconf files (Ed Maste <emaste@freebsd.org>)
- Use closefrom if available (Ed Maste <emaste@freebsd.org>)
- Correct typo (Ed Maste <emaste@freebsd.org>)
- Add Cirrus-CI FreeBSD CI build config (Ed Maste <emaste@freebsd.org>)
- off by one found by Ed Maste (Bryan Stansell <bryan@conserver.com>)
version 8.2.2 (May 28, 2018):
- fixes for OpenSSL 1.1+ - patch by Eneas U de Queiroz
<cote2004-github@yahoo.com>
- adjustments to documentation after move to github
- removal of old RCS/CVS tags since we have git
version 8.2.1 (Jun 2, 2015):
- added TCP keepalives between client and server - TCP-based consoles
already had the code - this was mostly an oversight
- patch for SEGV and task execution - patch by Artem Savkov
<asavkov@redhat.com>
- expanded break sequences from [1-9] to [1-9a-z] - based on patch by
Artem Savkov <asavkov@redhat.com>
version 8.2.0 (Apr 20, 2014):
- added --with-trust-uds-cred which uses getsockopt() to fetch and
trust the client uid, bypassing password lookups - patch by Anton
Lundin <glance@acc.umu.se>
- missing closedir() causing memory leak - patch by Anton Lundin
<glance@acc.umu.se>
- sending a break signal over IPMI was broken - based on patch by
Alexander Y. Fomichev <git.user@gmail.com>
- IPv6 support (marked as experimental at this point because it's
untested (except by the author), there's a lack of documentation, and
I'm hoping for non-getifaddrs() system support) - patch by Milos
Vyletel <milos.vyletel@gmail.com>
- no more K&R compiler support
version 8.1.20 (Apr 4, 2014):
- IPMI serial over LAN support via FreeIPMI - based on patch by Anton
D. Kachalov <mouse@yandex-team.ru>
- minor cleanup of code, removal of gcc warnings and such that should
have no fuctional change
version 8.1.19 (Sep 26, 2013):
- prevent select/read loop when EOF on non-pty input (console) -
reported by Chris Marget <chris@marget.com>
- "!" syntax prefixing use of group names not honored - reported by
Zonker <consoleteam@gmail.com>
- fixed memory leak using timestamps - patch by Karvendhan M.
<Karvendhan.M@netapp.com>
- deprecated --with-cycladests (noop now) - cross-compilation should
work without it as autologin now expects setpgrp() to take two
arugments instead of testing for it
- no automatic checks for an empty password when using PAM
authentication - based on discussion with Ryan Kirkpatrick
<linux@rkirkpat.net>
- added 'sslcacertificatefile' and 'sslcacertificatepath' client
configuration options - based on patch by Aki Tuomi <cmouse@cmouse.fi>
- added 'sslcacertificatefile' and 'sslreqclientcert' server
configuration options
- added --with-req-server-cert to force clients to require a certificate
from the server when using SSL - based on emails with Thor Simon
<tls@coyotepoint.com>
- added server-side tasks (see conserver.cf man page) that are invoked
by the client (useful for things like IPMI-based power control of
servers, invoking resets of terminal server ports, or anything else
that requires scripting) - ideas from patch by Anton Lundin
<glance@acc.umu.se> and discussion on mailing list (2011)
- added 'confirm' option to break sequences
- added 'breaklist' option to limit exposure of break sequences to
consoles
- sending of break signals is now announced to all attached clients
version 8.1.18 (Nov 11, 2010):
- install man pages read-only and improved the contributed redhat init
script - patches by Eric Biederman <ebiederm@aristanetworks.com>
- spec file improvements in contrib/redhat-rpm - patch by Jodok Ole
Muellers <jodok.muellers@aschendorff.de>
- GSS-API patch for client code - patch by Andras Horvath
<Andras.Horvath@cern.ch>
version 8.1.17 (Sep 29, 2009):
- fix for interface detection when HAVE_SA_LEN is defined - first
detected on NetBSD 5.0 and patched by Chris Ross
<cross+conserver@distal.com>
- first person to connect to a console wanting read/write now gets it
once the active user drops read/write - suggested by Thomas Gardner
<tmg@pobox.com>
- fix typo when setting nonblocking socket for client connections,
fixing stall issues - patch by Eric Biederman
<ebiederm@aristanetworks.com>
- GSS-API patch (--with-gssapi) to help with Kerberos tokens - patch by
Nate Straz <nstraz@redhat.com>
- authenticate username without @REALM when using GSS-API
(--with-striprealm) - based on patch by Andras Horvath
<Andras.Horvath@cern.ch>
- various contrib/redhat-rpm fixes - patch by Fabien Wernli
<wernli@in2p3.fr>
- fix handling of read(stdin) returning -1 in console client - patch by
Ed Swierk <eswierk@arastra.com>
version 8.1.16 (Apr 10, 2007):
- added 'replstring' substitution option - inspired by
conversation with Owen DeLong <owen@c2company.com>
- added '^Ecn' option for writing a note to the logfile - patch
by Bryan Schmersal <bschmer@yahoo.com>
- fixed leaking file descriptors when 'host' and 'uds' consoles
fail to connect - based on patch by Michael Heironimus
<michael_heironimus@archwayconcepts.com>
version 8.1.15 (Dec 31, 2006):
- protection again telnet option negotation loops - patch by
Robby Griffin <rmg@yakshavers.com>
- console now prints the attach/detach sequences when suspended
- added --with-cycladests configure option to allow
cross-compiling on a cyclades ts - patch by Matt Johnson
<mwj@doc.ic.ac.uk>
- added master conserver host to 'console -x' output for
'device' consoles - patch by Matt Johnson <mwj@doc.ic.ac.uk>
- fixed parsing error when dealing with encapsulated
client/server options
version 8.1.14 (Apr 9, 2006):
- fixed rpm conserver.spec file - based on patch by Martin Evans
<m.d.t.evans@qmul.ac.uk>
- added 'uds' console type for unix domain socket connections -
based on patch by DJ Gregor <dj@gregor.com>
- probing of interfaces under cygwin (and possibly others?) now
skips unconfigured interfaces (even if flagged as up!) -
reported by Chris Riddoch <chrisr@digeo.com>
- added the '!login' console option to prevent clients from
connecting to a console - suggested by Greg Tillman
<gregtillman@comcast.net>
- added a 'noop' console type for consoles you'd like to name,
but have no connection to - suggested by Greg Tillman
<gregtillman@comcast.net>
- deprecated escape commands removed from the code
- added '^EcP' and '^EcR' sequences to set the playback and
replay line lengths
- new console config options 'playback' and 'replay' to let the
client set prefered output lengths (with a special feature for
a size of zero)
- prefer strlcpy() over strcpy() - based on patch by Peter
Valchev <pvalchev@openbsd.org>
- fixed bug where '^Eco' by user on an 'exec' console with an
'initcmd' causes input by user to be ignored (could be other
console types as well) - reported by Mark Wedel
<Mark.Wedel@sun.com>
- made POSIX termios code in autologin a requirement (since
conserver requires it) and cleaned up a few other issues -
based on reports by Arthur Clune <ajc22@york.ac.uk>
version 8.1.13 (Jan 15, 2006):
- use SIOCGIFNUM for interface count (if available) and catch
EINVAL on Solaris - patch by Peter Jeremy
<peter.jeremy@alcatel.com.au>
- console output now resets idle timer - suggested by Peter
Saunders <pajs@fodder.org.uk>
- bug fix for conserver process running out of control and using
up cpu - debugged with Alexandra N. Kossovsky
<Alexandra.Kossovsky@oktetlabs.ru>
version 8.1.12 (Sep 5, 2005):
- printf() fix for autologin - patch by Menno Duursma
<druiloor@zonnet.nl>
- newly spawned (from SIGHUP) processes didn't properly close
primary socket
- SSL certificates now work again (anonymous ciphers are not
allowed if a certificate is used)
- client options -x, -u, -w, and -i can now take a console name
to restrict output - suggested by Evan McClure
<emcclure@internap.com>
- convert program now installed in $libdir/conserver - patch by
Petter Reinholdtsen <pere@hungry.com>
- we now ignore SIGXFSZ, if it exists
- added 'limited' access option to remove certain functionality
from users - suggested by Sven Michels <sven@darkman.de>
- added client option -z/-Z for sending commands to servers
(reload, quit, etc) - based on suggestion by Joshua Pincus
<Joshua.Pincus@Sun.COM>
- added 'execrunas' and 'initrunas' console options to allow
'exec' and 'initcmd' execution as another user and/or group -
based on patch by Gary Mills <mills@cc.umanitoba.ca>
- the east coast mirror had to shut down (for now, at least)
- crash from bad pointer manipulation during log replay - reported by
Ryan Kirkpatrick <linux@rkirkpat.net>
version 8.1.11 (Nov 9, 2004):
- fixed array bounds and stack tromping - reported by Emmett
Hogan <hogan@bigcityit.com>
- most recent client to ask for read-write now gets it (used to
be first client to connect)
- client read-write mode now separate from console up/down state
- 'make autologin.install' now compiles autologin - reported by
Graham Merrill <teddgram@sbcglobal.net>
- new 'autocomplete' option for controlling shortest-prefix
console name matching (which has always been on)
- client now blocks on ^Eco, waiting for status of connection
- added 'a' and 'A' for upper and lowercase alphanumeric
(0-9a-z) conversions to the *subst config items - based on
patch by Jonathan Chen <jon+conserver@spock.org>
version 8.1.10 (Sep 21, 2004):
- fix "forwarding level too deep" issue with '^Ec;' - reported
by Han Pilmeyer <han.pilmeyer@hp.com>
version 8.1.9 (Jul 14, 2004):
- fixed bug processing access lists when duplicates exist in the
list - reported by Phil Dibowitz <phil@usc.edu>
- fixed bug where 'idletimeout' was not recognized in default
blocks - reported by John Cagle <jcagle@gmail.com>
- added an 'autocomplete' config option to set the console name
autocompletion behavior - suggested by John Stoffel
<stoffel@lucent.com>
version 8.1.8 (Jun 9, 2004):
- added 'initspinmax' and 'initspintimer' console options to
help calm console initialization "spinning"
- fixed setsockopt() error on 64bit solaris - reported by Trond
Hagen <trond@basefarm.no>
version 8.1.7 (May 28, 2004):
- cleaned up the manpages a bit to make things clearer and more
standard - reported by Dave Stuit <djs@tellme.com>
- added an east coast mirror! http://conserver.syr.edu/ -
thanks to Christopher T. Beers <ctbeers@syr.edu>
- primary group of users not included in '@group' syntax -
reported by Phil Dibowitz <phil@usc.edu>
- changed '@group' behavior such that groups are checked when
needed, instead of cached at startup, which is more logical
- missing variables when building convert with tcp_wrappers -
reported by Nikolaos Papavassiliou
<Nikolaos.Papavassiliou@reuters.com>
- added --with-rpath option - suggested by Phil Dibowitz
<phil@usc.edu>
version 8.1.6 (May 25, 2004):
- added ability to configure client via system-wide console.cf
file and per-user .consolerc - suggested (independently) by
Erik Sjolund <erik.sjolund@sbc.su.se> and Trevor Fiatal
<trevor@fiatal.net>
- fixed bug where break strings were not properly sent -
reported by Tim Small <tim@buttersideup.com>
- fixed bug in config file 'protocol' value handling - reported
by Kees Cook <kees@osdl.org>
- conserver no longer uses the local domain name in the default
access list (the default list is only created if no access
list is specified in the configuration file) - inspired by
William P LePera <lepera@us.ibm.com>
- added a 'terminal' console configuration block for printing
strings when attaching and detaching from consoles - suggested
by Richard Threadgill <richardt@tellme.com>
version 8.1.5 (May 7, 2004):
- changed remaining O_NDELAY flags to O_NONBLOCK
- added PROTOCOLS file to describe the client/server protocol
- added '#include' capability to conserver.cf file
- added '@group' syntax to conserver.cf file to support use of
system groups
- added -U client option to allow client to ask for encryption
but fall back to non-encrypted connections otherwise -
suggested by Mike Hendon <mike.hendon@uk.nomura.com>
- fixed bug where socket not properly deleted on exit - reported
by William P LePera <lepera@us.ibm.com>
- added 'initdelay' option for throttling startup of consoles -
suggested by Jay McCanta <mccantaj@amgen.com>
version 8.1.4 (Apr 13, 2004):
- fixed macro use in manpages to hopefully be more compatible
- removed extra newline of --MARK-- range output
- fixed bug where server -b option wasn't working - reported by
Nathan R. Hruby <nhruby@uga.edu>
- fixed client segfault when using -R, -t, -d, and -b options
- added a --with-uds configure option to have all client/server
communication happen via unix domain sockets - suggested by
William P LePera <lepera@us.ibm.com>
version 8.1.3 (Mar 22, 2004):
- fixed small memory and file descriptor leak in client when
using '^Ec;'
- '^Ec;' now only disconnects from the previous console only
after a successfully move to a new console, allowing you to
abort the move - suggested by Christopher T. Beers
<ctbeers@syr.edu>
version 8.1.2 (Mar 11, 2004):
- better handling of client command (^Ec|) when user is bumped,
conserver is reconfigured, etc
- added 'initsubst' option for 'initcmd' substitutions like
'devicesubst' and 'execsubst' - based on patch by Bill
Sommerfeld <sommerfeld@east.sun.com>
- modified and added to *subst (initsubst, etc) syntax to allow
for flexibility and future enhancement
- changed 'port' and 'portinc' minimums from 1 to 0 - it allows
more flexibility and helps with 0-based counting
- removed unportable sys/cdefs.h from contrib/chat/chat.c -
patch by Bill Sommerfeld <sommerfeld@east.sun.com>
- added --with-extmsgs configure switch to enable entertaining
messages
- marked various undocumented client commands as deprecated so
that they can be removed in a future version
- added ability to "move" to a new console via '^Ec;' -
suggested by Christopher T. Beers <ctbeers@syr.edu>
- added a dump of console information when -S is used twice -
suggested by Todd Stansell <todd@stansell.org>
version 8.1.1 (Feb 10, 2004):
- fixed mistake in Makefiles where rpmbuild fails - reported by
Martin Evans <m.d.t.evans@qmul.ac.uk>
- fixed a couple typos - reported by Matt Selsky
<selsky@columbia.edu>
version 8.1.0 (Jan 18, 2004):
- fixes for HP-UX compilation - patch by Petter Reinholdtsen
<pere@hungry.com>
- fixes for compilation under various operating systems -
patch by Albert Chin <conserver-users@mlists.thewrittenword.com>
- added a 'protocol' option for either 'telnet' or 'raw' socket
communication - also reflected in -i output
- changed the client/server protocol to use 0xff as a command
character for sending control commands - similiar to the
telnet protocol - improves the ^Ec| interaction
- client -E option now disables ssl encryption attempts, useful
for broken SSL environents - suggested by Graydon Dodson
<grdodson@lexmark.com>
- bad error message connecting non-ssl client with ssl-required
server - reported by Graydon Dodson <grdodson@lexmark.com>
- added note about pam configuration to conserver.passwd.man -
suggested by Erik Sjolund <erik.sjolund@sbc.su.se>
- improved telnet protocol option handling such that connections
to standard telnet ports should work properly
version 8.0.9 (Dec 10, 2003):
- fixed major bug in connect() handling which causes most
socket-based consoles to timeout after 10 seconds - reported
by Tom Rataski <trataski@intlsteel.com>
- added a couple details to the 'logfilemax' manpage entry
version 8.0.8 (Dec 2, 2003):
- added client ^Ec| sequence for running a command on the client
and having it's I/O directed to the console - inspired by
discussions with David Williamson
<david+conserver@williamsons.net> years ago ;-)
- touched up Makefiles to test against .h files
- fixed inability to replay the console log while the console is
down - reported by Matt Selsky <selsky@columbia.edu>
- added a console 'logfilemax' option for rotating the console
logfile once the file is greater than the specified size
- added sample configuration files to conserver.cf/samples
- tweaked some failure messages and initcmd notifications
version 8.0.7 (Nov 20, 2003):
- renamed util.[ch] to cutil.[ch] to prevent name conflict with
system util.h, reordered some #includes, and fixed a configure
test for sys/proc.h to build on OpenBSD 3.4 (and probably
others) - reported by Kurt Raschke <kurt@raschke.net>
- fixed missing semi-colon for cygwin build - reported by
Raymond Richmond <raymond.richmond@ualberta.ca>
version 8.0.6 (Nov 16, 2003):
- code was missing regarding the 'setproctitle' option - patch
by Dmitry Morozovsky <marck@rinet.ru>
- fixed the order of access list checking when
--with-trustrevdns is used
- fixed various spelling errors - patches by Matt Selsky
<selsky@columbia.edu>
- added console 'idletimeout' and 'idlestring' options to
trigger the sending of 'idlestring' after a lack of activity
for 'idletimeout' seconds - suggested by Ian Potts
<ian.potts@db.com>
- added console 'portbase' and 'portinc' options to allow
specifying a formula for referencing ports - inspired by Todd
Stansell <todd@stansell.org>
- fixed problem where console 'port' option didn't take port
names (manpage said it did)
- added server -U option and configuration option 'unifiedlog'
to allow a copy of all console activity to go to a single file
- removed all sprintf() calls
- added 'devicesubst' and 'execsubst' console options for doing
replacements with calculated port numbers on the 'device' and
'exec' values
- NULL characters in console data caused data loss because of
strlen() usage - reported by Toby Gerhart <toby.gerhart@eds.com>
- fixed a couple errors in contrib/redhat-rpm/conserver.spec -
reported by Martin Evans <m.d.t.evans@qmul.ac.uk>
- added capability to use '!' in user access lists to prevent a
user from having access - suggested by Matt Selsky
<selsky@columbia.edu>
version 8.0.5 (Oct 31, 2003):
- added 'loghostnames' config option (default is on) to log
client hostnames instead of ip addresses (like pre-8.0.0) -
suggested by Han Pilmeyer <han@zk3.dec.com>
- fixed bug where 'daemonmode' config file option wasn't being
used
- fixed potential logfile (-L) opening problem processing SIGHUP
- fixed various potential conserver.cf issues with 'config'
block values processing SIGHUP
- added 'setproctitle' config option (default is off) to enable
changing the process title to contain runtime information -
patch by Dmitry Morozovsky <marck@rinet.ru>
version 8.0.4 (Oct 10, 2003):
- fixed client rejection bug that can nearly never happen -
reported by Han Pilmeyer <han@zk3.dec.com>
- fixed bug where client is reconnected to the previous console
when non-exact console names are used - reported by Rolf
Petter Halle <rph@online.no>
- fixed bug where exact matchs on a remote console name never
happened - reported by Toby Gerhart <toby.gerhart@eds.com>
- fixed bug where SIGHUP fails to update console aliases -
reported by Han Pilmeyer <han@zk3.dec.com>
version 8.0.3 (Oct 6, 2003):
- the SIGHUP process fails to pick up changes to certain fields
because of a horribly broken SwapStr() function [broken in
all previous 8.0.x versions] - reported by Toby Gerhart
<toby.gerhart@eds.com>
version 8.0.2 (Oct 5, 2003):
- reworked the i/o calls to better buffer data
- added console 'motd' option for holding a "message of the
day", displayed to the client on attachment to console -
suggested by Toby Gerhart <toby.gerhart@eds.com>
- added ^Ecm client command for displaying MOTD and integrated
it into the client console attachment sequence
- now unallocate client lists when forking new child conserver
processes
- changed strdup() to local StrDup() so dmalloc can gracefully
track changes
- added a ^Ec; sequence to let client signal server when it's
ready to see console data, otherwise a chatty console can
cause the login sequence to fail and you can never attach to
the console
version 8.0.1 (Sep 29, 2003):
- fixed bug in access list parsing where multiple addresses per
line can cause errors - reported by Jay McCanta
<mccantaj@amgen.com>
- changed client password prompt to show hostname passed down by
the server - suggested by Toby Gerhart <toby.gerhart@eds.com>
- fixed bug where remote console names were only search for
substring matches - reported by Toby Gerhart
<toby.gerhart@eds.com>
- the server -M option wasn't being used properly to limit the
consoles managed by the host
- added 'initcmd' console option which allows a command to
interact with a console right after a console is opened -
suggested by Greg Woods <woods@weird.com>
- added the chat program contributed by Greg Woods
<woods@weird.com> to the contrib/chat directory
- added WUNTRACED to waitpid() for catching suspended processes
- reworded some client/server messages to be clearer
- embedded non-printable characters in break lists now display
correctly when '^Ecl?' is used
- in case client aborts unexpectedly, terminal state should
now be restored to normal
version 8.0.0 (Sep 22, 2003):
- better error messages and management of the user's password
- 8.0.0-beta4 mistakenly lost conserver.passwd usage
- empty passwords now don't trigger a passwd prompt (like 7.2.7)
- upgraded to autoconf-2.57 and use recent config.guess/sub
files - suggested by Jorgen Hagg <jorgen.hagg@axis.com>
- we now install the conserver.rc file as well as sample
conserver.cf and conserver.passwd files in
$(prefix)/share/examples/conserver - suggested by
Hubert Feyrer <hubertf@netbsd.org>
version 8.0.0-beta4 (Aug 24, 2003):
- totally rewrote the client/server communication, allowing SSL
connections to occur first, protecting *all* information
- added 'admin' keyword to the 'access' portion of the config
file for specifying users able to issue the 'quit' command
- removed client -G option since it's not really useful any more
- added client -t option for sending "text messages" to users,
which is similar to broadcast messages, but you can specify
the user and/or console - suggested by Trevor Fiatal
<trevor@seven.com>
- added client -d option for disconnecting users specified by
username and/or console - suggested by Trevor Fiatal
<trevor@seven.com>
- removed --with-64bit configure option as 64bit operation is
reported to work just fine
- break strings with '\d' are interpreted as a delay, which can
be specified in the config file (default 250ms)
- removed 'reset -x' portion of default break sequence #3
- remote conserver hostnames now properly match - had to be a
character string match previously
- hostname aliases now checked against access lists and the
matched name is used for logging
- added --with-trustrevdns to enable the use of reverse DNS
information for access list checks [not recommended] - see the
INSTALL file for full details on who should actually need this
Many thanks to Chuck Rouzer <crouzer@yahoo.com> for all the
help with FreeBSD support and the following issues...
- fixed 'make test' problem on hosts where 'localhost' doesn't
resolve to 127.0.0.1
- fixed interface probe problem under *BSD
- added openpty() interface for pty allocation
version 8.0.0-beta3 (Aug 8, 2003):
- master process no longer forks on client requests - handles
them with select() like child process
- alarm()/SIGALRM usage removed and replaced with counters and
timer on select() call
- removed caching of timeouts to terminal servers - each
socket connection now has a proper timeout (and can happen
simultaniously)
- partial write()s are properly buffered and retried
- made all sockets (including SSL) non-buffered
- client now supports piping data to it and properly printing
all server data ("echo '^Ecr^Ec.' | console universe")
version 8.0.0-beta2 (Jul 17, 2003):
- console aliases added with 'aliases' console keyword
- two stop bit support for serial devices - requested by Kelly
Setzer <setzer@placemark.com>
- added support for inet_aton() over inet_addr()
- all server interfaces now used to identify console management
- server interfaces probed with SIOCGIFCONF ioctl, if available
- added flow control options 'ixon', 'ixany', 'ixoff', and
'crtscts'
- added info to console client -i output
- man pages updated, however the wording needs work
version 8.0.0-beta1 (Jul 4, 2003):
- ***NOTICE*** the format of conserver.cf and conserver.passwd
has completely changed. see the INSTALL file for
upgrade instructions (it should be "fairly painless").
some documentation has been updated to reflect the new world,
some hasn't - my goal for beta2 is to have all the docs updated
- many command-line options now also conserver.cf options options
- POSIX termios interface now required for compilation - some
POSIX requirements were already in the code and others will
undoubtedly creep in as time goes by
- configure --with-regex option removed because of conserver.cf
and conserver.passwd changes
- added -S option to server for syntax checking of the
configuration file - suggested by Dave Stuit <djs@tellme.com>
- authorized users now either have r/w or r/o access to consoles
- getpassword.o replaces getpass() and getpassphrase() so we can
get any string length
- fixed rm commands in test script - patch by Petter Reinholdtsen
<pere@hungry.com>
version 7.2.7 (Apr 9, 2003):
- added test suite ('make test') for basic client/server
communication tests
- changed configure script to provide better checking of options,
hp-ux specifics, and functions
- console names are no longer case-sensitive
- fixed case-sensitive DNS name comparisons - reported by
Peter Chubb <peter@chubb.wattle.id.au> via Jorgen Hagg
<jorgen.hagg@axis.com>
- added dmalloc and openssl version numbers to -V output
- reordered includes for openssl-0.9.7a compatibility
- conserver.rc looks at pidfile to find the master pid - suggested
by Petter Reinholdtsen <petter.reinholdtsen@usit.uio.no>
- misplaced code regarding --with-regex - patch by Andreas Wrede
<andreas@planix.com>
- added password support for HP-UX trusted systems - immense
help by Greg Brown <gregb_ka6max@hotmail.com>
- potential SIGUSR1 bug where cached terminal server availability
wasn't being cleared correctly - reported by Dave Stuit
<djs@tellme.com>
- server is now more forgiving about errors instead of just
giving up and shutting everything down
- consoles that have trouble coming up (and are forced down)
now log when they come back up - suggested by Dave Stuit
<djs@tellme.com>
version 7.2.6 (Mar 10, 2003):
- the -b conserver option was mostly broken (since 7.2.0)
- changed logging format so that all messages are of a similar
form
- fixed bad port number in 'cached previous timeout' message -
reported by Dave Stuit <djs@tellme.com>
- now using pid_t type for better compatibility
- fixed the RPM and Solaris package to include the man
page for conserver.passwd - suggested by R P Herrold
<herrold@owlriver.com>
- added restart option (-HUP) to conserver startup scripts
- added -B option to client for sending messages to a single
server - suggested by Dave Stuit <djs@tellme.com>
- added --with-dmalloc for memory usage debugging
- bug with multiple interfaces and -M option not maching hostname
in configuration file - patch by Igor Sviridov <sia@nest.org>
- memory leak using openssl library plugged
- automatic reinitialization of failed consoles now retries
every minute like the manpage says it does - reported by Chris
Fowler <cfowler@outpostsentinel.com>
- when -R option is used, substring matches on console names
from clients only match local console names (and if that
fails just remote console names) but ambiguous name list
returns both local and remote consoles - suggested by Todd
Stansell <todd@stansell.org>
version 7.2.5 (Jan 27, 2003):
- fixed many documentation bugs - reported by Dave Stuit
<djs@tellme.com>
- added -I option to client which operates like -i, but on the
primary conserver only - suggested by Dave Stuit
<djs@tellme.com>
- added SIGUSR2, which does not reread the configuration file,
but does everything else SIGHUP does - suggested at LISA 2002
- fixed bug where LOGDIR setting gets used even if no logfile
is wanted
- added -R option to server to prevent client redirection to
other conserver hosts - suggested by Todd Stansell
<todd@stansell.org>
version 7.2.4 (Oct 14, 2002):
- added --with-openssl for some client/server encryption
- added -E option to client and server to allow for non-encrypted
connections (encryption is the default if compiled in)
- added -c option so credentials (certificate and key) can be
exchanged between client and server
- expanded -V output to show what optional bits actually got
compiled into the code (libwrap, regex, etc)
- compilation errors on non-shadow file systems without using
--with-pam - reported by Jesper Frank Nemholt <jfn@dassic.com>
- client now prefers $LOGNAME, then $USER, then the current uid
for its -l default - suggested by Dave Stuit <djs@tellme.com>
- putting back socklen_t usage - it's the right thing to do,
so tell me where it breaks things
- configure options --with-cffile and --with-pwdfile now
recognize fully-qualified pathnames - suggested by Kjell
Andresen <kjell.andresen@usit.uio.no>
version 7.2.3 (Sep 23, 2002):
- checking for duplicate console names got lost in the major
7.2.0 rewrite of that code. it's back now, with a couple of
other edge-case fixes i noticed while scanning the code -
reported by Dave Stuit <djs@tellme.com>
- added --with-pam and PAM authentication support - suggested
by Stu May <jsmay@wasteofbits.com>
- added -F server option to prevent automatic reinitialization
of failed consoles ('|' syntax consoles which exit with a
zero status are still reinitialized) - requested by William P
LePera <lepera@us.ibm.com> and Malcolm Gibbs
<Malcolm.Gibbs005@msd.govt.nz>
- successful automatic reinitialization of consoles now attaches
a client that wants read-write mode
- added read-only client wish to become read-write in -i output
- moved to autoconf-2.54 and fixed some small configure.in bugs
Many thanks to John R. Jackson <jrj@purdue.edu> for the following
fixes, cleanups, and enhancements...
- "lost timestamps" bug (SIGALRM/sleep()/usleep()/tcp_wrapper
interaction)
- compiler warnings, bad fileOpenFD tests, and ability to use
a colon after an equal in the config file (LOGDIR=C:\Logs)
- autologin fix for Solaris BSM support
version 7.2.2 (Jun 05, 2002):
- added 'n' as token for no-parity - patch by Greg A. Woods
<woods@weird.com>
- extra timestamps occur when consoles come back up after being
down longer than their timestamp period - reported by Dave
Stuit <djs@gnac.com>
- AIX 5.1 pseudo-terminal support broken - patch by William P
LePera <lepera@us.ibm.com>
- PID file overwritten and not unlinked on exit - reported by
William P LePera <lepera@us.ibm.com>
- signals cleaned up in master, child, and sub-proc sections
- SIGPIPE now ignored - reported by Greg A. Woods
<woods@weird.com>
version 7.2.1 (Mar 25, 2002):
- bug regarding timestamp/break reading - patch by Benn Oshrin
<benno@columbia.edu>
- console names in conserver.passwd can be regular expressions
if enabled using --with-regex - based on code from Vladislav
Patenko <vp@goldentele.com>
- breaks recorded to console logs if 'b' option used in
timestamp-spec - suggested by Dave Stuit <djs@gnac.com>
version 7.2.0 (Mar 12, 2002):
- check for valid baud rates (invalid resulted in '0') -
reported by Andrew Gallatin <gallatin@cs.duke.edu>
- a broadcast messages to others on your console can now be
sent via ^Ecb
version 7.2.0-beta3 (Feb 25, 2002):
- allow for 57600 and 115200 baud rates - patch by Andreas
Wrede <andreas@planix.com>
- TCP traffic now escaped according to Telnet protocol
- the highly desired dynamic reconfiguration of conserver is
here! the HUP signal now triggers a read of the
configuration file and adjustment of consoles
- configure flags shown in -V output
version 7.2.0-beta2 (Feb 14, 2002):
- new -W client option for showing who's attached to a single
conserver master - suggested by Dave Stuit <djs@gnac.com>
- maxfiles() clashes with HP-UX 11 'maxfiles' variable - patch
by Adam Morris <AMorris@providence.org>
- removed use of socklen_t type for better compatibility
- removed TELCMD/TELOPT use for compatibility
version 7.2.0-beta1 (Jan 29, 2002):
- static structures and strings are now dynamic in server
- MAXGRP (--with-maxgrp) has been removed as it's now dynamic
- new -m server option for setting the maximum consoles per
process - the default is still set with --with-maxmemb
- new -i client option (and ^Eci) that displays console
information in a machine-parseable format
- two debug levels (second level by using two -D options)
- ANSI prototypes and definitions (when available)
version 7.1.4 (Jan 21, 2002):
- console -[PqQ] didn't work - patch by Han Pilmeyer
<han@zk3.dec.com>
- maxfiles() didn't check FD_SETSIZE - patch by Justin Grudzien
<grudzien@31337.com>
- New -o and -O server flags for automatically reconnecting
downed consoles - patch by Benn Oshrin <benno@columbia.edu>
- Automatic reconnection of consoles on read failures, retried
every minute
- Up to nine break sequences can be defined in the
configuration file and assigned to consoles individually,
accessed via new ^ecl[?0-9] escape sequences
- console logs are marked with "up" and "down" timestamps
The following based on code by John R. Jackson <jrj@cc.purdue.edu>
- sequential timestamps merged into one range during playback
- timestamps done on "nice" boundaries (hour, minute, etc.)
- lots of code cleanup, optimizations, etc.
version 7.1.3 (Oct 16, 2001):
- NetBSD 1.5 termios bug/compatibility - patch by Andreas Wrede
<aew.conserver@planix.com>
- Missing quotes broke ^ecl1 code - reported by William Charles
<william.charles@db.com>
- Alternate break code didn't exist for local ports
version 7.1.2 (Oct 15, 2001):
- fixed line-based timestamp code - reported by Benn Oshrin
<benno@columbia.edu>
- tcp_wrappers support (--with-libwrap)
- CLOCAL bit set for local ports - patch by Egan Ford
<egan@us.ibm.com>
- timestamp added to 'lost carrier' error - suggested by Todd
Stansell <todd@stansell.org>
- Alternate break sequence for Solaris 8 is available as ^ecl2
escape sequence - patch by William Charles
<william.charles@db.com>
The following suggested by Trevor Fiatal <trevor@seven.com>
- Widened username field of 'console -w' output
- Added server hostname to password entry prompt
- AC_CHECK_LIB replaced with AC_SEARCH_LIBS in configure.in so
that irrelevant (and sometimes incompatible) libraries aren't
linked in
version 7.1.1 (Aug 4, 2001):
- Now using getlogin() for real username info - suggested by
Dave Stuit <djs@gnac.com>
- gethostbyname() failure for a console now doesn't cause a
shutdown - reported by Todd Stansell <todd@stansell.org>
- Shutdown via client -q/-Q fixed (broken in 7.1.0 because of
master process fork() code)
- Password file parsing fixed to allow for empty passwords -
allowing users to access conserver without a password prompt
- Both the password and configuration files no longer have
line length limitations, they now support comments (`#' lines),
and lines with leading whitespace are continuations of
previous lines
- Client hostname/ip sometimes not printed - reported by Todd
Stansell <todd@stansell.org>
version 7.1.0 (Jul 26, 2001):
- Hostname in access list that began with a digit was treated as
an IP address - only strings using [0-9./] are considered CIDR
notation and they must be of the form a.b.c.d[/n]
- Fixed SIGHUP always opening logfile(-L) - shouldn't without -d
- Fixed 'make install' problem under MacOS X and cygwin
- Client -l option totally broken in 7.0.3 - patch by Daniel E.
Singer <des@cs.duke.edu>
- Client now accepts IP addresses from server and server now sends
the IP of the socket instead of its hostname to the client,
fixing part of the multi-interface problem
- Client no longer passes hostname to server along with username
- Client now turns off IEXTEN so stuff like ^V passes through
- Server now pauses one second when reopening a TCP-based console
to give the terminal server a chance to clean up
- Master server process now fork()s when accepting clients
- timestamp-spec can be numeric only ('m' default)
- Ambiguous console name error now shows ambiguous list
- Console list in conserver.passwd can now have whitespace
- Access lists in conserver.cf can now use ',' as a separator
- Added special '*any*' username in conserver.passwd
- Username match (real or '*any*') now stops conserver.passwd file
processing - allowing you to lock out users
- Added -u flag to server to enable "unloved" output - this is the
opposite of the old -n flag, which now does nothing
- Added -7 flag to client and server for stripping the high bit
of data on either side (--disable-8bit removed)
- Added -b to server to specify the base port number for the
secondary communication channel - based on code from Enrik
Berkhan <Enrik.Berkhan@planb.de>
- Changed -d and -D flags to -r and -R in client - now -D enables
debugging mode in the client (and -d is unused)
- Changed -r to -G in client so -r could be used for the above
- Client now uses getpassphrase() (if available) for > 8 char
passwords - pointed out by Gregory Bond <gnb@itga.com.au>
- Improved signal handling
- Improved process handling (POSIX waitpid() now necessary)
- Significant rework of STREAMS-based pseudo-tty code
- TCP connections ('!' config syntax) now have some Telnet protocol
knowledge, removing the "noise" seen when connecting to a terminal
server - reported by Todd Stansell <todd@stansell.org>
- Various code and message "pretty-printing" done
- Client and server both run in Windows (tested with Windows
2000) under the cygwin environment thanks to a debug-fest with
Emmett Hogan <hogan@gnac.com>
- Using autoconf version 2.50
- Man pages reworked and conserver.passwd page created by Dave
Stuit <djs@gnac.com> - the pain he suffered documenting
the program (and pointing out many of the bugs fixed above)
should help endless others
version 7.0.3 (Jul 5, 2001):
- "Off by 1" bug in 7.0.2 line-oriented timestamp code fixed (extra
chars in logfile) reported by Matthew Cheek <cheek@mars-systems.com>
- TODO file added to distribution
- 'attached', 'detached', and 'bumped' actions now written to
console logs that have 'a' in timestamp-spec field
- Default timestamp specification with TIMESTAMP= in .cf file
- Config file much more forgiving about whitespace in fields
- gethostbyaddr() failures are no longer fatal
- Added -M to server to specify the address to listen on
based on code from Enrik Berkhan <Enrik.Berkhan@planb.de>
- Added -p option to client and server to specify the port to
connect to and listen on (--with-port still sets the default)
- Added logfile output when going into daemon mode
- Added --with-logfile to configure
- Added -L to override compile-time logfile location
- SIGHUP reopens this logfile as well as previous behavior
- Run as root only restriction removed - warning now (if necessary)
- More #defines for FreeBSD compatibility
- Using inet_ntoa() now instead of peeking at bytes
- Fixed up -V (and -Vv) output for client and server
- Increased conserver.passwd read buffer (CheckPasswd())
- Removed DO_VIRTUAL #if's - always build that code now
- Removed ORIGINAL_CODE #if's (old non-CIDR access list parsing)
- Changed undocumented -p option to -P in console client
- man pages updated to reflect a little more reality
version 7.0.2 (Jun 15, 2001):
- Bogus "ambiguous server abbreviation" with distributed server
setup fixed
- Hostname not passed with username from console client
- Fixed pseudo-terminal ('|' syntax in .cf file) bug with Solaris
and other STREAMS-based systems (actually works now in 7.X)
- Line-oriented timestamps in logfiles (see 'l' mark
specification) based on patch from Benn Oshrin
<benno@columbia.edu>
- Generalized debugging output, info messages and error messages
- Moved library search up in configure.in so function calls are
detected properly
- Permissions of install-sh were wrong
- Trimmed the README file and now distribute conserver.html
- Redhat RPM bundle (contrib/redhat-rpm) contributed by Paul
Heinlein <heinlein@measurecast.com>
- Cleaned up gcc warnings (for Solaris 7, at least)
- Makefiles now use .c.o: specification instead of %.o:
version 7.0.1 (May 3, 2001):
- 8bit on by default now (use --disable-8bit for old behavior)
- FreeBSD patches by Bill Fenner <fenner@research.att.com>
(hopefully *BSD systems will compile cleaner now)
- Bad error reporting on getsockopt() found by Bill Fenner
<fenner@research.att.com>
- PID file patch by Martin Andrews <mandrews@netgenics.com>
version 7.0.0 (Feb 18, 2001):
- GNU configure-based packaging!!!
All work done by Mark D. Roth <roth@feep.net>.
Thank you!
- Removed conserver/cons.h and moved options into --with
and --enable configure arguments
- ioctl() bug found by Ross Parker <parker@redback.com>
- Removed last of the "loopback preference" code in
console/console.c - should have been removed a long time ago
version 6.1.7 (Dec 14, 2000):
- Documented no parity option in conserver.cf.man
- Lowered default CONNECTTIMEOUT to 10 seconds
- Changed more internal references to GNAC
- Shell command support just plain broken (tracked down and
slain by Rob Joyce <robjoyce@ee.princeton.edu>)
- Added a -P option for specifying the password file
- CPARITY setting reflected in -V output
- New version numbering scheme and packaging
version 6.16 (Sep 8, 2000):
- Changed the main GNAC references to Certainty Solutions
- Made the comment blocks in conserver/cons.h a little less
confusing
- There are *NO* code changes to this version. If you have
version 6.15, you're good to go.
version 6.15 (Mar 6, 2000):
- Added debug flag (-D) and the beginning of debug output
- A timeout can now be set for TCP connect() calls. The
default is 30 seconds. Hosts not responding are only
tried once at startup (per child), lessening the impact
of a down terminal server. See CONNECTTIMEOUT in
conserver/cons.h.
version 6.14 (Jan 5, 2000):
- Determining if the local conserver controls a port (with
@conserver spec) we now compare ip addresses instead of
hostnames
- Invalid argument now shows -h output
version 6.13 (Dec 1, 1999):
- High-bit always stripped from network - now follows
CPARITY setting in cons.h (found by Daniel Andersson
<daniel@sto.sema.se>)
- New conserver -i flag for on-demand connects/disconnects
to console ports (contributed by Thomas E. Knowles
<tek@CS.Princeton.EDU>)
- Solaris, Linux, and others now use tcsendbreak()
version 6.12 (Aug 24, 1999):
- Blank line bug after '%%' in .cf file (found by Miss
Himali Patel <cpate03@dcs.bbk.ac.uk>)
Special thanks to Michael Sullivan <mike@trdlnk.com> for
the following improvements and fixes...
- Read result bug in group.c caused lock up
- Signal handling fixes and cleanup
- Several minor spelling errors in strings and comments
- Solaris package creation scripts (contrib/solaris-package)
- Extended syntax of the access restrictions to understand
network numbers with optional netmasks
version 6.11 (May 14, 1999):
- Added broadcast capability in client (-b option)
- Protected certain escape sequences from end-user use
- Added "console server shutting down" broadcast
- Improved local tty break code (thanks Craig and Brian!)
version 6.10 (Jan 26, 1999):
- Documentation fixes
- Web page up and running
version 6.09:
- Added more documentation (look for README and INSTALL files).
- Fixed up man pages so they are more accurate.
version 6.08:
- Added support for Linux 2.X and IRIX 6.X
- Fixed "suspend" code in client - it shouldn't have worked
before, but slow connections could explain it.
version 6.07:
- Porting infrastructure has been set up in ./port. Solaris
2.5.1 and BSD/OS 3.1 successfully built.
- Added CHANGES and README files. Wow, starting to document!
version 6.06:
- SIGUSR1 now tells the console server to try and reopen all
currently downed consoles.
- Cleaned up configuration file (cons.h) and Makefiles.
version 6.05:
- conserver.cf change: groups and their passwords have been
removed and timestamp specifications have been added.
before version 6.05:
- Many, many variations. Nothing was tracked well. Bug fixes
and enhancements of various types were applied.