Imported from conserver-7.2.2.tar.gz

This commit is contained in:
Bryan Stansell 2002-06-05 15:06:43 -07:00
parent 9617199b8c
commit 38ab668078
12 changed files with 171 additions and 78 deletions

16
CHANGES
View File

@ -1,6 +1,20 @@
CHANGES
=======
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 psuedo-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>
@ -307,5 +321,5 @@ before version 6.05:
and enhancements of various types were applied.
#
# $Id: CHANGES,v 1.58 2002-03-25 17:38:41-08 bryan Exp $
# $Id: CHANGES,v 1.60 2002-06-05 15:05:13-07 bryan Exp $
#

17
TODO
View File

@ -10,6 +10,10 @@ Bryan Stansell
---------------------------------------------------------------------------
- checks for EPIPE during write() should really be done, but, for the
most part, consoles and clients will come around and we'll see
problems on the read().
- Singular logging so that swatch/logsurfer can watch for errors across
the board - unloved output comes close
@ -98,6 +102,17 @@ Bryan Stansell
- support 2 stop bits (as well as other stty-type options in console
definitions) : Kelly Setzer <setzer@placemark.com>
- ability to configure strings to be sent to a console whenever it is
(re)opened (eg. a termserver login) : Greg A. Woods
<woods@planix.com>
- ability to configure strings to be sent to a console periodically :
Greg A. Woods <woods@planix.com>
- show attach/detach events to/of spy console clients : Greg A. Woods
<woods@planix.com>
#
# $Id: TODO,v 1.22 2002-03-11 18:11:48-08 bryan Exp $
# $Id: TODO,v 1.24 2002-06-05 12:00:35-07 bryan Exp $
#

View File

@ -1,4 +1,4 @@
.\" $Id: conserver.cf.man,v 1.24 2002-03-25 17:14:34-08 bryan Exp $
.\" $Id: conserver.cf.man,v 1.25 2002-06-05 11:14:35-07 bryan Exp $
.\" @(#)constab.5 01/06/91 OSU CIS; Thomas A. Fine
.TH CONSERVER.CF 5 "Local"
.SH NAME
@ -46,8 +46,8 @@ This is typically the name of the host whose console is being monitored.
the full path name of the device for this line.
The \fIbaud\fP rate is the speed and parity for this console.
Speed may be given as an integer,
parity only requires the first letter of any of: even, odd, mark, space.
For no parity, use the character `p'.
parity only requires the first letter of any of: even, odd, mark, space, none.
For historical reasons, `p' can also be used for no parity.
.TP
.BI ! termserver
the hostname of the terminal server to connect to.

View File

@ -2,7 +2,8 @@
<HTML>
<HEAD>
<META name="generator" content="HTML Tidy, see www.w3.org">
<META name="generator" content=
"HTML Tidy for Solaris (vers 1st May 2002), see www.w3.org">
<META name="keywords" content=
"conserver,serial,console,serial console,unix,tty,ttya,ttyb, rs-232,rs232,bryan stansell,stansell,console server,terminal server,headless">
<META name="author" content=
@ -11,19 +12,20 @@
"http://www.conserver.com/conserver.ico">
<TITLE>Conserver</TITLE>
<STYLE type="text/css">
<STYLE type="text/css">
body {
background-color: #EEEEEE;
color: black;
}
</STYLE>
</STYLE>
</HEAD>
<BODY>
<TABLE summary="Logo" bgcolor="black" width="100%" align=
"CENTER">
"center">
<TR>
<TD align="CENTER"><BR>
<TD align="center"><BR>
<IMG src="conserver.gif" alt="Conserver"><BR>
<BR>
</TD>
@ -32,7 +34,7 @@
<BR>
<TABLE summary="Conserver Page" width="80%" align="CENTER">
<TABLE summary="Conserver Page" width="80%" align="center">
<TR>
<TD>
<!-- empty cell here, then search box on right spans two rows,
@ -41,8 +43,8 @@
-->
</TD>
<TD rowspan="2" align="RIGHT">
<FORM method="POST" action=
<TD rowspan="2" align="right">
<FORM method="post" action=
"http://www.conserver.com/cgi-bin/htsearch">
<INPUT type="HIDDEN" name="method" value="and"> <INPUT
type="HIDDEN" name="format" value="builtin-long">
@ -173,13 +175,13 @@
<H3>Downloading</H3>
<P>The current version, released on Mar 25, 2002, is <A
<P>The current version, released on Jun 05, 2002, is <A
href=
"http://www.conserver.com/7.2.1.tar.gz">7.2.1.tar.gz</A>.
"http://www.conserver.com/7.2.2.tar.gz">7.2.2.tar.gz</A>.
You can get it via <A href=
"ftp://ftp.conserver.com/conserver/7.2.1.tar.gz">FTP</A>
"ftp://ftp.conserver.com/conserver/7.2.2.tar.gz">FTP</A>
or <A href=
"http://www.conserver.com/7.2.1.tar.gz">HTTP</A>. See the
"http://www.conserver.com/7.2.2.tar.gz">HTTP</A>. See the
<A href="http://www.conserver.com/CHANGES">CHANGES</A>
file for information on the latest updates.</P>

View File

@ -1,5 +1,5 @@
/*
* $Id: consent.c,v 5.86 2002-03-25 17:26:28-08 bryan Exp $
* $Id: consent.c,v 5.88 2002-06-05 15:05:00-07 bryan Exp $
*
* Copyright conserver.com, 2000
*
@ -124,6 +124,8 @@ PARITY parity[] = {
, /* even */
{'m', PARENB | CS7 | PARODD | PAREXT, 0}
, /* mark */
{'n', CS8, 0}
, /* pass 8 bits, no parity */
{'o', PARENB | CS7 | PARODD, 0}
, /* odd */
{'p', CS8, 0}
@ -138,6 +140,8 @@ PARITY parity[] = {
{'o', ODDP, EVENP}
, /* odd */
# if defined(PASS8)
{'n', PASS8, EVENP | ODDP}
, /* pass 8 bits, no parity */
{'p', PASS8, EVENP | ODDP}
, /* pass 8 bits, no parity */
# endif
@ -400,16 +404,28 @@ VirtDev(pCE)
return 0;
}
/* put the signals back that we trap
/* put the signals back that we ignore (trapped auto-reset to default)
*/
simpleSignal(SIGINT, SIG_DFL);
simpleSignal(SIGQUIT, SIG_DFL);
simpleSignal(SIGINT, SIG_DFL);
simpleSignal(SIGPIPE, SIG_DFL);
#if defined(SIGTTOU)
simpleSignal(SIGTTOU, SIG_DFL);
#endif
#if defined(SIGTTIN)
simpleSignal(SIGTTIN, SIG_DFL);
#endif
#if defined(SIGTSTP)
simpleSignal(SIGTSTP, SIG_DFL);
#endif
#if defined(SIGPOLL)
simpleSignal(SIGPOLL, SIG_DFL);
#endif
/* setup new process with clean filew descriptors
*/
i = cmaxfiles();
for ( /* i above */ ; i-- > 2;) {
for ( /* i above */ ; --i > 2;) {
close(i);
}
/* leave 2 until we *have to close it*
@ -431,14 +447,18 @@ VirtDev(pCE)
Error("%s: fd sync error", pCE->server.string);
exit(EX_UNAVAILABLE);
}
# if HAVE_STROPTS_H
# if HAVE_STROPTS_H && !defined(_AIX)
/* SYSVr4 semantics for opening stream ptys (gregf)
* under PTX (others?) we have to push the compatibility
* streams modules `ptem', `ld', and `ttcompat'
*/
Debug(1, "Pushing ptemp onto pseudo-terminal");
(void)ioctl(0, I_PUSH, "ptem");
Debug(1, "Pushing ldterm onto pseudo-terminal");
(void)ioctl(0, I_PUSH, "ldterm");
Debug(1, "Pushing ttcompat onto pseudo-terminal");
(void)ioctl(0, I_PUSH, "ttcompat");
Debug(1, "Done pushing modules onto pseudo-terminal");
# endif
# if HAVE_TERMIOS_H
@ -680,6 +700,7 @@ ConsInit(pCE, pfdSet, useHostCache)
int useHostCache;
#endif
{
time_t tyme;
#if USE_ANSI_PROTO
extern int FallBack(STRING *, STRING *);
#else
@ -858,4 +879,16 @@ ConsInit(pCE, pfdSet, useHostCache)
} else {
TtyDev(pCE);
}
/* If we have marks, adjust the next one so that it's in the future */
if (pCE->nextMark > 0) {
tyme = time((time_t *) 0);
if (tyme >= pCE->nextMark) {
/* Add as many pCE->mark values as necessary so that we move
* beyond the current time.
*/
pCE->nextMark +=
(((tyme - pCE->nextMark) / pCE->mark) + 1) * pCE->mark;
}
}
}

View File

@ -1,5 +1,5 @@
/*
* $Id: fallback.c,v 5.44 2002-02-12 20:28:14-08 bryan Exp $
* $Id: fallback.c,v 5.45 2002-06-05 11:12:24-07 bryan Exp $
*
* Copyright conserver.com, 2000
*
@ -33,6 +33,40 @@
#include <port.h>
#include <util.h>
#if defined(_AIX)
/*
* get a pty for the user (emulate the neato sequent call) (mm)
*/
static int
#if USE_ANSI_PROTO
getpseudotty(STRING * slave, STRING * master)
#else
getpseudotty(slave, master)
STRING *slave;
STRING *master;
#endif
{
int fd;
char *pcName;
if (0 > (fd = open("/dev/ptc", O_RDWR | O_NDELAY, 0))) {
return -1;
}
if ((char *)0 == (pcName = ttyname(fd))) {
return -1;
}
buildMyString((char *)0, slave);
buildMyString(pcName, slave);
buildMyString((char *)0, master);
buildMyString(pcName, master);
master->string[7] = 'c';
return fd;
}
#else
#if defined(HAVE_PTSNAME) && defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT)
#if defined(linux)
extern char *ptsname();
@ -111,38 +145,6 @@ static char charone[] = "prstuvwxyzPQRSTUVWq";
static char chartwo[] =
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
# if defined(_AIX)
/*
* get a pty for the user (emulate the neato sequent call) (mm)
*/
static int
#if USE_ANSI_PROTO
getpseudotty(STRING * slave, STRING * master)
#else
getpseudotty(slave, master)
STRING *slave;
STRING *master;
#endif
{
int fd;
char *pcName;
if (0 > (fd = open("/dev/ptc", O_RDWR | O_NDELAY, 0))) {
return -1;
}
if ((char *)0 == (pcName = ttyname(fd))) {
return -1;
}
buildMyString((char *)0, slave);
buildMyString(pcName, slave);
buildMyString((char *)0, master);
buildMyString(pcName, master);
master->string[7] = 'c';
return fd;
}
# else
/*
* get a pty for the user (emulate the neato sequent call) (ksb)
*/
@ -206,8 +208,8 @@ getpseudotty(slave, master)
buildMyString(acSlave, slave);
return fd;
}
# endif /* _AIX */
#endif
#endif /* _AIX */
/*
* get a Joe pty bacause the daemon is not with us, sadly. (ksb)

View File

@ -1,5 +1,5 @@
/*
* $Id: group.c,v 5.176 2002-03-25 17:46:04-08 bryan Exp $
* $Id: group.c,v 5.178 2002-06-05 15:05:00-07 bryan Exp $
*
* Copyright conserver.com, 2000
*
@ -485,7 +485,11 @@ Mark(pGE)
if ((pCE->nextMark > 0) && (tyme >= pCE->nextMark)) {
Debug(1, "[-- MARK --] stamp added to %s", pCE->lfile.string);
(void)fileWrite(pCE->fdlog, acOut, -1);
pCE->nextMark += pCE->mark;
/* Add as many pCE->mark values as necessary so that we move
* beyond the current time.
*/
pCE->nextMark +=
(((tyme - pCE->nextMark) / pCE->mark) + 1) * pCE->mark;
}
}
if ((i = (ALARMTIME - (tyme % 60))) <= 0) {
@ -1279,11 +1283,20 @@ Kiddie(pGE, sfd)
/* turn off signals that master() might have turned on
* (only matters if respawned)
*/
simpleSignal(SIGURG, SIG_DFL);
simpleSignal(SIGQUIT, SIG_IGN);
simpleSignal(SIGPIPE, SIG_IGN);
#if defined(SIGTTOU)
simpleSignal(SIGTTOU, SIG_IGN);
#endif
#if defined(SIGTTIN)
simpleSignal(SIGTTIN, SIG_IGN);
#endif
#if defined(SIGPOLL)
simpleSignal(SIGPOLL, SIG_IGN);
#endif
simpleSignal(SIGTERM, FlagGoAway);
simpleSignal(SIGCHLD, FlagReapVirt);
if (!fDaemon)
simpleSignal(SIGINT, FlagGoAwayAlso);
simpleSignal(SIGINT, FlagGoAwayAlso);
sprintf(acOut, "ctl_%d", pGE->port);
buildMyString(acOut, &pGE->pCEctl->server);

View File

@ -1,5 +1,5 @@
/*
* $Id: main.c,v 5.90 2002-03-25 17:08:35-08 bryan Exp $
* $Id: main.c,v 5.94 2002-06-05 15:05:00-07 bryan Exp $
*
* Copyright conserver.com, 2000
*
@ -115,7 +115,6 @@ daemonize()
#endif
{
int res;
FILE *fp;
#if !HAVE_SETSID
int td;
#endif
@ -125,6 +124,9 @@ daemonize()
#if defined(SIGTTOU)
simpleSignal(SIGTTOU, SIG_IGN);
#endif
#if defined(SIGTTIN)
simpleSignal(SIGTTIN, SIG_IGN);
#endif
#if defined(SIGTSTP)
simpleSignal(SIGTSTP, SIG_IGN);
#endif
@ -161,14 +163,6 @@ daemonize()
close(td);
}
#endif
fp = fopen(PIDFILE, "w");
if (fp) {
fprintf(fp, "%d\n", (int)getpid());
fclose(fp);
} else {
Error("can't write pid to %s", PIDFILE);
}
}

View File

@ -1,5 +1,5 @@
/*
* $Id: master.c,v 5.73 2002-02-25 14:00:38-08 bryan Exp $
* $Id: master.c,v 5.76 2002-06-05 15:05:00-07 bryan Exp $
*
* Copyright conserver.com, 2000
*
@ -260,8 +260,18 @@ Master()
char *ambiguous = (char *)0;
GRPENT *pGE;
CONSENT *pCE;
FILE *fp;
/* set up signal handler */
simpleSignal(SIGPIPE, SIG_IGN);
simpleSignal(SIGQUIT, SIG_IGN);
#if defined(SIGTTOU)
simpleSignal(SIGTTOU, SIG_IGN);
#endif
#if defined(SIGTTIN)
simpleSignal(SIGTTIN, SIG_IGN);
#endif
#if defined(SIGPOLL)
simpleSignal(SIGPOLL, SIG_IGN);
#endif
@ -269,8 +279,7 @@ Master()
simpleSignal(SIGTERM, FlagQuitIt);
simpleSignal(SIGUSR1, FlagSawUSR1);
simpleSignal(SIGHUP, FlagSawHUP);
if (!fDaemon)
simpleSignal(SIGINT, FlagSawINT);
simpleSignal(SIGINT, FlagSawINT);
/* set up port for master to listen on
*/
@ -305,8 +314,17 @@ Master()
return;
}
fp = fopen(PIDFILE, "w");
if (fp) {
fprintf(fp, "%d\n", (int)getpid());
fclose(fp);
} else {
Error("can't write pid to %s", PIDFILE);
}
FD_ZERO(&rmaster);
FD_SET(msfd, &rmaster);
for (fSawQuit = 0; !fSawQuit; /* can't close here :-( */ ) {
if (fSawCHLD) {
fSawCHLD = 0;
@ -634,4 +652,6 @@ Master()
fileClose(&csocket);
exit(EX_OK);
}
(void)unlink(PIDFILE);
}

View File

@ -1,5 +1,5 @@
/*
* $Id: version.h,v 1.35 2002-03-25 16:18:03-08 bryan Exp $
* $Id: version.h,v 1.36 2002-06-05 11:16:02-07 bryan Exp $
*
* Copyright conserver.com, 2000
*
@ -14,4 +14,4 @@
@(#) Copyright 2000 conserver.com.\n\
All rights reserved.\n"
#define THIS_VERSION "conserver.com version 7.2.1"
#define THIS_VERSION "conserver.com version 7.2.2"

View File

@ -4,7 +4,7 @@
#
%define pkg conserver
%define ver 7.2.1
%define ver 7.2.2
# 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="7.2.1"
VERSION="7.2.2"
DESC="Console server and client"
CLASSES=none
ARCH=sparc