Imported from conserver-8.1.15.tar.gz

This commit is contained in:
Bryan Stansell 2006-12-31 20:41:49 -08:00
parent ed79341c2c
commit a30e7d2289
20 changed files with 267 additions and 75 deletions

14
CHANGES
View File

@ -1,6 +1,18 @@
CHANGES
=======
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>
@ -853,5 +865,5 @@ before version 6.05:
and enhancements of various types were applied.
#
# $Id: CHANGES,v 1.215 2006/04/10 02:07:13 bryan Exp $
# $Id: CHANGES,v 1.217 2006/12/31 02:04:11 bryan Exp $
#

3
README
View File

@ -50,6 +50,7 @@ Systems Tested
MacOS X, native gcc
Solaris 2.5.1 thru 9 (sparc/x86), gcc
Solaris 7/8, native cc
Solaris 10 and Solaris Express (build 33) (x86), gcc and native cc
Contributions
@ -65,5 +66,5 @@ Contributions
http://www.columbia.edu/acis/sy/unixdev/zinc
#
# $Id: README,v 1.25 2006/03/20 16:48:37 bryan Exp $
# $Id: README,v 1.26 2006/04/16 17:45:08 bryan Exp $
#

27
config.guess vendored
View File

@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
# Inc.
timestamp='2006-03-13'
timestamp='2006-12-22'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -161,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
@ -211,7 +212,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
exit ;;
macppc:MirBSD:*:*)
echo powerppc-unknown-mirbsd${UNAME_RELEASE}
echo powerpc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
@ -771,6 +772,8 @@ EOF
case ${UNAME_MACHINE} in
pc98)
echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
amd64)
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
esac
@ -778,7 +781,7 @@ EOF
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
i*:MINGW*:*)
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
i*:windows32*:*)
@ -788,10 +791,10 @@ EOF
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
x86:Interix*:[345]*)
x86:Interix*:[3456]*)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
EM64T:Interix*:[345]*)
EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
@ -829,6 +832,9 @@ EOF
arm*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
exit ;;
@ -945,6 +951,9 @@ EOF
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit ;;
xtensa:Linux:*:*)
echo xtensa-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
@ -987,7 +996,7 @@ EOF
LIBC=gnulibc1
# endif
#else
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__sun)
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
LIBC=gnu
#else
LIBC=gnuaout
@ -1203,6 +1212,12 @@ EOF
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit ;;
SX-7:SUPER-UX:*:*)
echo sx7-nec-superux${UNAME_RELEASE}
exit ;;
SX-8:SUPER-UX:*:*)
echo sx8-nec-superux${UNAME_RELEASE}
exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;

View File

@ -18,6 +18,9 @@
/* Socket used to communicate */
#undef DEFPORT
/* Defined if building for a Cyclades TS */
#undef FOR_CYCLADES_TS
/* Define to 1 if you have the `bigcrypt' function. */
#undef HAVE_BIGCRYPT
@ -324,7 +327,7 @@
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
/* Define to 1 if the `setpgrp' function takes no argument. */
/* Define if setpgrp is POSIX */
#undef SETPGRP_VOID
/* Define to 1 if you have the ANSI C header files. */

48
config.sub vendored
View File

@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
# Inc.
timestamp='2006-03-07'
timestamp='2006-12-08'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@ -241,15 +241,16 @@ case $basic_machine in
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
| m32r | m32rle | m68000 | m68k | m88k | maxq | mb | microblaze | mcore \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@ -275,21 +276,19 @@ case $basic_machine in
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| score \
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
| strongarm \
| spu | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
m32c)
basic_machine=$basic_machine-unknown
;;
m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
@ -319,18 +318,18 @@ case $basic_machine in
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* \
| avr-* | avr32-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
| m32r-* | m32rle-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
@ -369,13 +368,11 @@ case $basic_machine in
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
m32c-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
@ -913,6 +910,10 @@ case $basic_machine in
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
sde)
basic_machine=mipsisa32-sde
os=-elf
;;
sei)
basic_machine=mips-sei
os=-seiux
@ -924,6 +925,9 @@ case $basic_machine in
basic_machine=sh-hitachi
os=-hms
;;
sh5el)
basic_machine=sh5le-unknown
;;
sh64)
basic_machine=sh64-unknown
;;
@ -1218,7 +1222,7 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos*)
| -skyos* | -haiku* | -rdos* | -toppers*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@ -1370,6 +1374,12 @@ else
# system, and we'll never get to this point.
case $basic_machine in
score-*)
os=-elf
;;
spu-*)
os=-elf
;;
*-acorn)
os=-riscix1.2
;;
@ -1379,9 +1389,9 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
c4x-* | tic4x-*)
os=-coff
;;
c4x-* | tic4x-*)
os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20

40
configure vendored
View File

@ -863,6 +863,7 @@ Optional Packages:
Use Unix domain sockets for client/server
communication [/tmp/conserver]
--with-rpath Use -R as well as -L for libraries
--with-cycladests Build for a Cyclades TS
--with-libwrap[=PATH]
Compile in libwrap (tcp_wrappers) support
--with-openssl[=PATH]
@ -1813,6 +1814,32 @@ else
echo "${ECHO_T}no" >&6
fi;
echo "$as_me:$LINENO: checking whether we are building for a Cyclades TS" >&5
echo $ECHO_N "checking whether we are building for a Cyclades TS... $ECHO_C" >&6
# Check whether --with-cycladests or --without-cycladests was given.
if test "${with_cycladests+set}" = set; then
withval="$with_cycladests"
case "$withval" in
yes)
cat >>confdefs.h <<\_ACEOF
#define FOR_CYCLADES_TS 1
_ACEOF
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
;;
*)
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
;;
esac
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi;
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@ -7058,7 +7085,8 @@ _ACEOF
fi
done
echo "$as_me:$LINENO: checking whether setpgrp takes no argument" >&5
if test "$with_cycladests" != "yes"; then
echo "$as_me:$LINENO: checking whether setpgrp takes no argument" >&5
echo $ECHO_N "checking whether setpgrp takes no argument... $ECHO_C" >&6
if test "${ac_cv_func_setpgrp_void+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@ -7122,6 +7150,16 @@ _ACEOF
fi
else
cat >>confdefs.h <<\_ACEOF
#define SETPGRP_VOID 1
_ACEOF
{ echo "$as_me:$LINENO: Building for a Cyclades-TS: setting SETPGRP_VOID because we cannot test this in cross-compilation" >&5
echo "$as_me: Building for a Cyclades-TS: setting SETPGRP_VOID because we cannot test this in cross-compilation" >&6;}
fi
echo "$as_me:$LINENO: checking for strcasecmp" >&5
echo $ECHO_N "checking for strcasecmp... $ECHO_C" >&6
if test "${ac_cv_func_strcasecmp+set}" = set; then

View File

@ -20,6 +20,7 @@ AH_TEMPLATE([TRUST_REVERSE_DNS],[Defined if we trust reverse DNS])
AH_TEMPLATE([USE_EXTENDED_MESSAGES],[Defined if we produce extended messages])
AH_TEMPLATE([USE_UNIX_DOMAIN_SOCKETS],[Defined if we use Unix domain sockets])
AH_TEMPLATE([UDSDIR], [Directory for Unix domain sockets])
AH_TEMPLATE([FOR_CYCLADES_TS], [Defined if building for a Cyclades TS])
dnl ### Normal initialization. ######################################
AC_INIT
@ -297,6 +298,20 @@ AC_ARG_WITH(rpath,
esac],
[AC_MSG_RESULT(no)])
AC_MSG_CHECKING(whether we are building for a Cyclades TS)
AC_ARG_WITH(cycladests,
AS_HELP_STRING([--with-cycladests],[Build for a Cyclades TS]),
[case "$withval" in
yes)
AC_DEFINE(FOR_CYCLADES_TS)
AC_MSG_RESULT(yes)
;;
*)
AC_MSG_RESULT(no)
;;
esac],[AC_MSG_RESULT(no)])
dnl ### Check for compiler et al. ###################################
AC_PROG_CC
AC_PROG_INSTALL
@ -611,7 +626,13 @@ AC_CHECK_LIB(util, openpty)
AC_CHECK_FUNCS(openpty)
AC_CHECK_FUNCS(getopt strerror getrlimit getsid setsid getuserattr setgroups tcgetpgrp tcsetpgrp tcgetattr tcsetattr tcsendbreak setpgrp getutent setttyent getspnam setlinebuf setvbuf ptsname grantpt unlockpt sigaction setsockopt getdtablesize putenv memset memcpy memcmp memmove sysconf getlogin inet_aton setproctitle gettimeofday strlcpy)
AC_FUNC_SETPGRP
if test "$with_cycladests" != "yes"; then
AC_FUNC_SETPGRP
else
AC_DEFINE(SETPGRP_VOID, 1, [Define if setpgrp is POSIX])
AC_MSG_NOTICE([Building for a Cyclades-TS: setting SETPGRP_VOID because we cannot test this in cross-compilation])
fi
AC_CHECK_FUNC(strcasecmp,
[AC_DEFINE(HAVE_STRCASECMP, 1, [Define if strcasecmp is available])],
[AC_CHECK_FUNC(stricmp,

View File

@ -1,5 +1,5 @@
.\" $Id: conserver.cf.man,v 1.76 2006/03/20 16:47:03 bryan Exp $
.TH CONSERVER.CF 5 "2006/03/20" "conserver-8.1.14" "conserver"
.\" $Id: conserver.cf.man,v 1.77 2006/12/31 02:03:03 bryan Exp $
.TH CONSERVER.CF 5 "2006/12/31" "conserver-8.1.15" "conserver"
.SH NAME
conserver.cf \- console configuration file for
.BR conserver (8)
@ -757,7 +757,7 @@ logfile is read from the end of the file.
All data past the first newline is moved (not copied) to the new logfile
so that a replay of the console works and starts on a line boundary.
.TP
\f3master\fP \f2hostname\fP|\f3ipaddr\fP
\f3master\fP \f2hostname\fP|\f2ipaddr\fP
.br
Define which conserver host manages the console.
The host may be specified by

View File

@ -1,5 +1,5 @@
.\" $Id: conserver.passwd.man,v 1.10 2004/01/08 16:12:33 bryan Exp $
.TH CONSERVER.PASSWD 5 "2004/01/08" "conserver-8.1.14" "conserver"
.TH CONSERVER.PASSWD 5 "2004/01/08" "conserver-8.1.15" "conserver"
.SH NAME
conserver.passwd \- user access information for
.BR conserver (8)

View File

@ -39,6 +39,8 @@
&nbsp;&nbsp;<A href=
"http://conserver.linux-mirror.org/">Germany</A>
&nbsp;&nbsp;<A href=
"http://conserver.webdesign-zdg.de/">Germany</A>
&nbsp;&nbsp;<A href=
"http://conserver.oss-mirror.org/">Ireland</A>
&nbsp;&nbsp;<A href="http://conserver.rinet.ru/">Russia</A>
&nbsp;&nbsp;<A href="http://www.conserver.com/">US-West
@ -186,11 +188,11 @@
<H3>Downloading</H3>
<P>The current version, released on Apr 9, 2006, is <A
href="8.1.14.tar.gz">8.1.14.tar.gz</A>. You can get it
<P>The current version, released on Dec 31, 2006, is <A
href="8.1.15.tar.gz">8.1.15.tar.gz</A>. You can get it
via <A href=
"ftp://ftp.conserver.com/conserver/8.1.14.tar.gz">FTP</A>
or <A href="8.1.14.tar.gz">HTTP</A>. See the <A href=
"ftp://ftp.conserver.com/conserver/8.1.15.tar.gz">FTP</A>
or <A href="8.1.15.tar.gz">HTTP</A>. See the <A href=
"CHANGES">CHANGES</A> file for information on the latest
updates.</P>
@ -259,6 +261,9 @@
<LI>Solaris 2.5.1 thru 9 (sparc/x86), gcc</LI>
<LI>Solaris 7/8, native cc</LI>
<LI>Solaris 10 and Solaris Express (build 33) (x86),
gcc and native cc</LI>
</UL>
<H3>Other Good Information</H3>

View File

@ -1,5 +1,5 @@
/*
* $Id: consent.c,v 5.149 2006/04/07 15:47:20 bryan Exp $
* $Id: consent.c,v 5.150 2006/06/17 02:03:15 bryan Exp $
*
* Copyright conserver.com, 2000
*
@ -52,6 +52,42 @@
BAUD baud[] = {
#if defined(FOR_CYCLADES_TS)
{"0", 0},
{"50", 1},
{"75", 2},
{"110", 3},
{"134", 4},
{"150", 5},
{"200", 6},
{"300", 7},
{"600", 8},
{"1200", 9},
{"1800", 10},
{"2400", 11},
{"4800", 12},
{"9600", 13},
{"14400", 14},
{"19200", 15},
{"28800", 16},
{"38400", 17},
{"57600", 18},
{"76800", 19},
{"115200", 20},
{"230400", 21},
{"460800", 22},
{"500000", 23},
{"576000", 24},
{"921600", 25},
{"1000000", 26},
{"1152000", 27},
{"1500000", 28},
{"2000000", 29},
{"2500000", 30},
{"3000000", 31},
{"3500000", 32},
{"4000000", 33},
#else /* FOR_CYCLADES_TS */
#if defined(B115200)
{"115200", B115200},
#endif
@ -83,6 +119,7 @@ BAUD baud[] = {
#if defined(B300)
{"300", B300},
#endif
#endif /* FOR_CYCLADES_TS */
};
@ -701,6 +738,9 @@ ConsDown(pCE, downHard, force)
pCE->autoReUp = 0;
pCE->downHard = downHard;
pCE->ioState = ISDISCONNECTED;
pCE->telnetState = 0;
pCE->sentDoEcho = FLAGFALSE;
pCE->sentDoSGA = FLAGFALSE;
}
/* set up a console the way it should be for use to work with it (ksb)

View File

@ -1,5 +1,5 @@
/*
* $Id: consent.h,v 5.66 2006/03/20 16:47:03 bryan Exp $
* $Id: consent.h,v 5.67 2006/05/28 17:27:14 bryan Exp $
*
* Copyright conserver.com, 2000
*
@ -158,6 +158,8 @@ typedef struct consent { /* console information */
char acline[132 * 2 + 2]; /* max chars we will call a line */
int iend; /* length of data stored in acline */
int telnetState; /* state for telnet negotiations */
FLAG sentDoEcho; /* have we sent telnet DO ECHO cmd? */
FLAG sentDoSGA; /* have we sent telnet DO SGA cmd? */
unsigned short autoReUp; /* is it coming back up automatically? */
FLAG downHard; /* did it go down unexpectedly? */
unsigned short nolog; /* don't log output */

View File

@ -1,6 +1,6 @@
.\" @(#)conserver.8 01/06/91 OSU CIS; Thomas A. Fine
.\" $Id: conserver.man,v 1.53 2006/03/20 16:47:03 bryan Exp $
.TH CONSERVER 8 "2006/03/20" "conserver-8.1.14" "conserver"
.\" $Id: conserver.man,v 1.54 2006/12/31 02:02:48 bryan Exp $
.TH CONSERVER 8 "2006/12/31" "conserver-8.1.15" "conserver"
.SH NAME
conserver \- console server daemon
.SH SYNOPSIS
@ -33,20 +33,32 @@ conserver \- console server daemon
is the daemon that manages
remote access to system consoles by multiple users via the
.BR console (1)
client program and logs all console output.
It can connect to consoles via local serial ports, terminal
servers that allow network access, or to any external program.
client program and (optionally) log the console output.
It can connect to consoles via local serial ports, Unix domain sockets, TCP
sockets (for terminal servers and the like), or any external program.
.PP
When started,
.B conserver
reads its
reads the
.BR conserver.cf (5)
file for details of each console it should manage,
including serial port or network parameters and logging options.
(Also, in environments where multiple servers share a cf file,
any server is able to refer clients to the particular server
managing a requested console, so that the client need not have
knowledge of the distribution of consoles among servers.)
file for details of each console.
The console type, logging options, serial or network parameters, and user access
levels are just a few of the things that can be specified.
Command-line options are then applied, possibly overriding
.BR conserver.cf (5)
settings.
.B Conserver
categorizes consoles into two types: those it should actively manage, and
those it should just know about, so it can refer clients to other
.B conserver
instances.
If the
.B master
value of a console matches the hostname or ip address of the local machine,
.B conserver
will actively manage the console.
Otherwise, it's considered a ``remote'' console and managed by a different
server.
.B Conserver
forks a child for each group of consoles it must manage
and assigns each process a port number to listen on.

View File

@ -1,5 +1,5 @@
/*
* $Id: cutil.c,v 1.130 2006/04/07 15:47:20 bryan Exp $
* $Id: cutil.c,v 1.131 2006/12/26 07:27:34 bryan Exp $
*
* Copyright conserver.com, 2000
*
@ -2636,19 +2636,12 @@ ParseIACBuf(cfp, msg, len)
if (b[l] == OB_IAC) {
if (l + 1 == *len)
return l;
else if (b[l + 1] == OB_SUSP)
return l;
else if (b[l + 1] == OB_EXEC)
return l;
else if (b[l + 1] == OB_ABRT)
return l;
else {
if (b[l + 1] != OB_IAC)
Error
("ParseIACBuf(): fd %d: unrecognized quoted-OB_IAC char",
cfp->fd, strerror(errno));
if (b[l + 1] == OB_IAC) {
--(*len);
MemMove(b + l, b + l + 1, *len - l);
} else {
return l;
}
}
}

View File

@ -1,5 +1,5 @@
/*
* $Id: group.c,v 5.325 2006/04/07 15:47:20 bryan Exp $
* $Id: group.c,v 5.327 2006/06/17 02:02:00 bryan Exp $
*
* Copyright conserver.com, 2000
*
@ -2073,12 +2073,11 @@ CommandExamine(pGE, pCLServing, pCEServing, tyme, args)
p = ' ';
break;
case DEVICE:
d = pCE->device;
d = BuildTmpStringPrint("%s@%s", pCE->device, pCE->master);
b = pCE->baud->acrate;
p = pCE->parity->key[0];
break;
case HOST:
BuildTmpString((char *)0);
d = BuildTmpStringPrint("%s/%hu", pCE->host, pCE->netport);
b = "Netwk";
p = ' ';
@ -2600,14 +2599,21 @@ DoConsoleRead(pCEServing)
CONDDEBUG((1,
"DoConsoleRead(): [%s] got telnet option `%s'",
pCEServing->server, TelOpt(acInOrig[i])));
if (acInOrig[i] == TELOPT_ECHO ||
acInOrig[i] == TELOPT_SGA) {
if ((acInOrig[i] == TELOPT_ECHO &&
pCEServing->sentDoEcho != FLAGTRUE) ||
(acInOrig[i] == TELOPT_SGA &&
pCEServing->sentDoSGA != FLAGTRUE)) {
PutConsole(pCEServing, IAC, 2);
PutConsole(pCEServing, DO, 2);
PutConsole(pCEServing, acInOrig[i], 2);
CONDDEBUG((1,
"DoConsoleRead(): [%s] sent telnet DO `%s'",
pCEServing->server, TelOpt(acInOrig[i])));
if (acInOrig[i] == TELOPT_ECHO) {
pCEServing->sentDoEcho = FLAGTRUE;
} else {
pCEServing->sentDoSGA = FLAGTRUE;
}
}
state = 0;
} else if (state == 4) {

View File

@ -1,5 +1,5 @@
/*
* $Id: version.h,v 1.73 2006/04/03 13:32:08 bryan Exp $
* $Id: version.h,v 1.74 2007/01/01 04:41:08 bryan Exp $
*
* Copyright conserver.com, 2000
*
@ -16,6 +16,6 @@ All rights reserved.\n"
#define VERSION_MAJOR 8
#define VERSION_MINOR 1
#define VERSION_REV 14
#define VERSION_REV 15
#define VERSION_TEXT "conserver.com version"
#define VERSION_UINT (VERSION_MAJOR * 1000000 + VERSION_MINOR * 1000 + VERSION_REV)

View File

@ -1,5 +1,5 @@
/*
* $Id: console.c,v 5.179 2006/04/07 15:47:20 bryan Exp $
* $Id: console.c,v 5.182 2006/06/15 03:01:05 bryan Exp $
*
* Copyright conserver.com, 2000
*
@ -1205,7 +1205,11 @@ Interact(pcf, pcMach)
#if defined(SIGSTOP)
FileWrite(cfstdout, FLAGFALSE, "stop]", 5);
C2Cooked();
PrintSubst(cfstdout, pcMach, pTerm->detach,
pTerm->detachsubst);
kill(thepid, SIGSTOP);
PrintSubst(cfstdout, pcMach, pTerm->attach,
pTerm->attachsubst);
C2Raw();
FileWrite(cfstdout, FLAGFALSE,
"[press any character to continue",
@ -1477,6 +1481,17 @@ CallUp(pcf, pcMaster, pcMach, pcHow, result)
/* shouldn't need more than 3 levels of commands (but alloc 4 just 'cause)
* worst case so far: master, groups, broadcast
* (cmdarg == broadcast msg)
*
* some sample "stacks" of commands:
*
* console -q: master, quit
* console -Q: quit
* console foo: call, attach (interact==FLAGTRUE)
* console -f foo: call, force (interact==FLAGTRUE)
* console -w: master, groups, group
* console -I: groups, info
* console -i foo: call, info (interact==FLAGFALSE)
*
*/
char *cmds[4] = { (char *)0, (char *)0, (char *)0, (char *)0 };
char *cmdarg = (char *)0;
@ -1679,9 +1694,21 @@ DoCmds(master, pports, cmdi)
continue;
}
if (result[0] != '[') { /* did we not get a connection? */
int len;
limit = 0;
FilePrint(cfstdout, FLAGFALSE, "%s: %s", serverName,
result);
FileWrite(pcf, FLAGFALSE, "exit\r\n", 6);
t = ReadReply(pcf, FLAGTRUE);
/* strip off the goodbye from the tail of the result */
len = strlen(t);
if (len > 8 && strcmp("goodbye\r\n", t + len - 9) == 0) {
*(t + len - 9) = '\000';
}
FileWrite(cfstdout, FLAGFALSE, t, -1);
FileClose(&pcf);
continue;
} else {
@ -2339,6 +2366,13 @@ main(argc, argv)
}
#endif
if (fDebug) {
int i;
for (i=cmdi;i>=0;i--) {
CONDDEBUG((1, "cmds[%d] = %s", i, cmds[i]));
}
}
for (;;) {
if (gotoConsole == (CONSFILE *)0)
DoCmds(config->master, acPorts->string, cmdi);

View File

@ -1,5 +1,5 @@
.\" $Id: console.man,v 1.61 2006/04/03 13:32:12 bryan Exp $
.TH CONSOLE 1 "2006/04/03" "conserver-8.1.14" "conserver"
.TH CONSOLE 1 "2006/04/03" "conserver-8.1.15" "conserver"
.SH NAME
console \- console server client program
.SH SYNOPSIS

View File

@ -4,7 +4,7 @@
#
%define pkg conserver
%define ver 8.1.14
%define ver 8.1.15
# define the name of the machine on which the main conserver
# daemon will be running if you don't want to use the default

View File

@ -1,7 +1,7 @@
PKG="conserver"
NAME="Console server and client"
CATEGORY="system"
VERSION="8.1.14"
VERSION="8.1.15"
DESC="Console server and client"
CLASSES=none
ARCH=sparc