Imported from conserver-8.0.4.tar.gz

This commit is contained in:
Bryan Stansell 2003-10-10 13:39:21 -07:00
parent aeb8ac0057
commit 1c188a41d6
14 changed files with 85 additions and 46 deletions

13
CHANGES
View File

@ -1,6 +1,17 @@
CHANGES CHANGES
======= =======
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): version 8.0.3 (Oct 6, 2003):
- the SIGHUP process fails to pick up changes to certain fields - the SIGHUP process fails to pick up changes to certain fields
because of a horribly broken SwapStr() function [broken in because of a horribly broken SwapStr() function [broken in
@ -562,5 +573,5 @@ before version 6.05:
and enhancements of various types were applied. and enhancements of various types were applied.
# #
# $Id: CHANGES,v 1.116 2003-10-06 10:05:23-07 bryan Exp $ # $Id: CHANGES,v 1.118 2003-10-10 09:02:38-07 bryan Exp $
# #

View File

@ -1,5 +1,5 @@
.\" $Id: conserver.cf.man,v 1.43 2003-10-02 19:01:05-07 bryan Exp $ .\" $Id: conserver.cf.man,v 1.43 2003-10-02 19:01:05-07 bryan Exp $
.TH CONSERVER.CF 5 "2003-10-02" "conserver-8.0.3" "conserver" .TH CONSERVER.CF 5 "2003-10-02" "conserver-8.0.4" "conserver"
.SH NAME .SH NAME
conserver.cf \- console configuration file for conserver.cf \- console configuration file for
.BR conserver (8) .BR conserver (8)

View File

@ -1,5 +1,5 @@
.\" $Id: conserver.passwd.man,v 1.9 2003-07-04 13:20:52-07 bryan Exp $ .\" $Id: conserver.passwd.man,v 1.9 2003-07-04 13:20:52-07 bryan Exp $
.TH CONSERVER.PASSWD 5 "2003-07-04" "conserver-8.0.3" "conserver" .TH CONSERVER.PASSWD 5 "2003-07-04" "conserver-8.0.4" "conserver"
.SH NAME .SH NAME
conserver.passwd \- user access information for conserver.passwd \- user access information for
.BR conserver (8) .BR conserver (8)

View File

@ -183,11 +183,11 @@
<H3>Downloading</H3> <H3>Downloading</H3>
<P>The current version, released on Oct 6, 2003, is <A <P>The current version, released on Oct 10, 2003, is <A
href="8.0.3.tar.gz">8.0.3.tar.gz</A>. You can get it via href="8.0.4.tar.gz">8.0.4.tar.gz</A>. You can get it via
<A href= <A href=
"ftp://ftp.conserver.com/conserver/8.0.3.tar.gz">FTP</A> "ftp://ftp.conserver.com/conserver/8.0.4.tar.gz">FTP</A>
or <A href="8.0.3.tar.gz">HTTP</A>. See the <A href= or <A href="8.0.4.tar.gz">HTTP</A>. See the <A href=
"CHANGES">CHANGES</A> file for information on the latest "CHANGES">CHANGES</A> file for information on the latest
updates.</P> updates.</P>

View File

@ -1,5 +1,5 @@
/* /*
* $Id: client.h,v 5.32 2003-09-28 08:41:20-07 bryan Exp $ * $Id: client.h,v 5.33 2003-10-10 03:28:49-07 bryan Exp $
* *
* Copyright conserver.com, 2000 * Copyright conserver.com, 2000
* *
@ -63,7 +63,6 @@ typedef struct client { /* Connection Information: */
time_t typetym; /* time of last keystroke */ time_t typetym; /* time of last keystroke */
char actym[32]; /* pre-formatted time */ char actym[32]; /* pre-formatted time */
struct consent struct consent
*pCEwant, /* what machine we would like to be on */
*pCEto; /* host a client gets output from */ *pCEto; /* host a client gets output from */
struct client struct client
**ppCLbscan, /* back link for scan ptr */ **ppCLbscan, /* back link for scan ptr */

View File

@ -1,6 +1,6 @@
.\" @(#)conserver.8 01/06/91 OSU CIS; Thomas A. Fine .\" @(#)conserver.8 01/06/91 OSU CIS; Thomas A. Fine
.\" $Id: conserver.man,v 1.38 2003-09-22 08:33:41-07 bryan Exp $ .\" $Id: conserver.man,v 1.38 2003-09-22 08:33:41-07 bryan Exp $
.TH CONSERVER 8 "2003-09-22" "conserver-8.0.3" "conserver" .TH CONSERVER 8 "2003-09-22" "conserver-8.0.4" "conserver"
.SH NAME .SH NAME
conserver \- console server daemon conserver \- console server daemon
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -1,5 +1,5 @@
/* /*
* $Id: group.c,v 5.262 2003-10-05 17:04:02-07 bryan Exp $ * $Id: group.c,v 5.264 2003-10-10 03:28:49-07 bryan Exp $
* *
* Copyright conserver.com, 2000 * Copyright conserver.com, 2000
* *
@ -2534,6 +2534,7 @@ DoClientRead(pGE, pCLServing)
FileWrite(pCLServing->fd, FLAGFALSE, FileWrite(pCLServing->fd, FLAGFALSE,
"call requires argument\r\n", -1); "call requires argument\r\n", -1);
else { else {
CONSENT *pCEwant = (CONSENT *)0;
/* try to move to the given console /* try to move to the given console
* we assume all the right checks for ambiguity * we assume all the right checks for ambiguity
* were already done by the master process, so * were already done by the master process, so
@ -2544,33 +2545,33 @@ DoClientRead(pGE, pCLServing)
NAMES *n = (NAMES *)0; NAMES *n = (NAMES *)0;
if (strcasecmp(pcArgs, pCE->server) if (strcasecmp(pcArgs, pCE->server)
== 0) { == 0) {
pCLServing->pCEwant = pCE; pCEwant = pCE;
break; break;
} }
for (n = pCE->aliases; n != (NAMES *)0; for (n = pCE->aliases; n != (NAMES *)0;
n = n->next) { n = n->next) {
if (strcasecmp(pcArgs, n->name) if (strcasecmp(pcArgs, n->name)
== 0) { == 0) {
pCLServing->pCEwant = pCE; pCEwant = pCE;
break; break;
} }
} }
if (n != (NAMES *)0) if (n != (NAMES *)0)
break; break;
} }
if (pCLServing->pCEwant == (CONSENT *)0) { if (pCEwant == (CONSENT *)0) {
NAMES *n = (NAMES *)0; NAMES *n = (NAMES *)0;
int len = strlen(pcArgs); int len = strlen(pcArgs);
for (pCE = pGE->pCElist; pCE != (CONSENT *)0; for (pCE = pGE->pCElist; pCE != (CONSENT *)0;
pCE = pCE->pCEnext) { pCE = pCE->pCEnext) {
if (strncasecmp(pcArgs, pCE->server, len) == 0) { if (strncasecmp(pcArgs, pCE->server, len) == 0) {
pCLServing->pCEwant = pCE; pCEwant = pCE;
break; break;
} }
for (n = pCE->aliases; n != (NAMES *)0; for (n = pCE->aliases; n != (NAMES *)0;
n = n->next) { n = n->next) {
if (strncasecmp(pcArgs, n->name, len) == 0) { if (strncasecmp(pcArgs, n->name, len) == 0) {
pCLServing->pCEwant = pCE; pCEwant = pCE;
break; break;
} }
} }
@ -2579,7 +2580,7 @@ DoClientRead(pGE, pCLServing)
} }
} }
if (pCLServing->pCEwant == (CONSENT *)0) { if (pCEwant == (CONSENT *)0) {
FilePrint(pCLServing->fd, FLAGFALSE, FilePrint(pCLServing->fd, FLAGFALSE,
"%s: no such console\r\n", pcArgs); "%s: no such console\r\n", pcArgs);
DisconnectClient(pGE, pCLServing, (char *)0, DisconnectClient(pGE, pCLServing, (char *)0,
@ -2588,7 +2589,7 @@ DoClientRead(pGE, pCLServing)
} }
pCLServing->fro = pCLServing->fro =
ClientAccess(pCLServing->pCEwant, ClientAccess(pCEwant,
pCLServing->username->string); pCLServing->username->string);
if (pCLServing->fro == -1) { if (pCLServing->fro == -1) {
FilePrint(pCLServing->fd, FLAGFALSE, FilePrint(pCLServing->fd, FLAGFALSE,
@ -2616,14 +2617,13 @@ DoClientRead(pGE, pCLServing)
/* inform operators of the change /* inform operators of the change
*/ */
Verbose("<group> attach %s to %s", Verbose("<group> attach %s to %s",
pCLServing->acid->string, pCLServing->acid->string, pCEwant->server);
pCLServing->pCEwant->server); Msg("[%s] login %s", pCEwant->server,
Msg("[%s] login %s", pCLServing->pCEwant->server,
pCLServing->acid->string); pCLServing->acid->string);
/* set new host and link into new host list /* set new host and link into new host list
*/ */
pCEServing = pCLServing->pCEwant; pCEServing = pCEwant;
pCLServing->pCEto = pCEServing; pCLServing->pCEto = pCEServing;
pCLServing->pCLnext = pCEServing->pCLon; pCLServing->pCLnext = pCEServing->pCLon;
pCLServing->ppCLbnext = &pCEServing->pCLon; pCLServing->ppCLbnext = &pCEServing->pCLon;
@ -4058,11 +4058,11 @@ Kiddie(pGE, sfd)
pCL->ioState = ISNORMAL; pCL->ioState = ISNORMAL;
/* say hi to start */ /* say hi to start */
FileWrite(pCL->fd, FLAGFALSE, "ok\r\n", -1); FileWrite(pCL->fd, FLAGFALSE, "ok\r\n", -1);
BuildString(pCL->peername->string, pCL->acid);
CONDDEBUG((1, "Kiddie(): client acid initialized to `%s'",
pCL->acid->string));
} else } else
DisconnectClient(pGE, pCLServing, (char *)0, FLAGFALSE); DisconnectClient(pGE, pCL, (char *)0, FLAGFALSE);
BuildString(pCL->peername->string, pCL->acid);
CONDDEBUG((1, "Kiddie(): client acid initialized to `%s'",
pCL->acid->string));
} }
} }

View File

@ -1,5 +1,5 @@
/* /*
* $Id: master.c,v 5.117 2003-10-03 07:23:37-07 bryan Exp $ * $Id: master.c,v 5.118 2003-10-10 03:29:21-07 bryan Exp $
* *
* Copyright conserver.com, 2000 * Copyright conserver.com, 2000
* *
@ -231,6 +231,28 @@ SignalKids(arg)
} }
} }
REMOTE *
#if PROTOTYPES
FindRemoteConsole(char *args)
#else
FindRemoteConsole(args)
char *args;
#endif
{
REMOTE *pRC;
NAMES *name;
for (pRC = pRCList; (REMOTE *)0 != pRC; pRC = pRC->pRCnext) {
if (strcasecmp(args, pRC->rserver) == 0)
return pRC;
for (name = pRC->aliases; name != (NAMES *)0; name = name->next) {
if (strcasecmp(args, name->name) == 0)
return pRC;
}
}
return pRC;
}
void void
#if PROTOTYPES #if PROTOTYPES
CommandCall(CONSCLIENT *pCL, char *args) CommandCall(CONSCLIENT *pCL, char *args)
@ -263,9 +285,7 @@ CommandCall(pCL, args)
} }
if (config->redirect == FLAGTRUE || if (config->redirect == FLAGTRUE ||
(config->redirect != FLAGTRUE && found == 0)) { (config->redirect != FLAGTRUE && found == 0)) {
for (pRC = pRCList; (REMOTE *)0 != pRC; pRC = pRC->pRCnext) { if ((pRC = FindRemoteConsole(args)) != (REMOTE *)0) {
if (strcasecmp(args, pRC->rserver) != 0)
continue;
ambiguous = BuildTmpString(pRC->rserver); ambiguous = BuildTmpString(pRC->rserver);
ambiguous = BuildTmpString(", "); ambiguous = BuildTmpString(", ");
++found; ++found;

View File

@ -1,5 +1,5 @@
/* /*
* $Id: readcfg.c,v 5.145 2003-10-06 10:07:26-07 bryan Exp $ * $Id: readcfg.c,v 5.146 2003-10-10 08:58:12-07 bryan Exp $
* *
* Copyright conserver.com, 2000 * Copyright conserver.com, 2000
* *
@ -629,6 +629,14 @@ DestroyParserDefaultOrConsole(c, ph, pt)
free(c->motd); free(c->motd);
if (c->execSlave != (char *)0) if (c->execSlave != (char *)0)
free(c->execSlave); free(c->execSlave);
while (c->aliases != (NAMES *)0) {
NAMES *name;
name = c->aliases->next;
if (c->aliases->name != (char *)0)
free(c->aliases->name);
free(c->aliases);
c->aliases = name;
}
if (c->wbuf != (STRING *)0) if (c->wbuf != (STRING *)0)
DestroyString(c->wbuf); DestroyString(c->wbuf);
free(c); free(c);
@ -2179,6 +2187,16 @@ ConsoleAdd(c)
pCEmatch->reinitoncc = c->reinitoncc; pCEmatch->reinitoncc = c->reinitoncc;
pCEmatch->autoreinit = c->autoreinit; pCEmatch->autoreinit = c->autoreinit;
pCEmatch->unloved = c->unloved; pCEmatch->unloved = c->unloved;
while (pCEmatch->aliases != (NAMES *)0) {
NAMES *name;
name = pCEmatch->aliases->next;
if (pCEmatch->aliases->name != (char *)0)
free(pCEmatch->aliases->name);
free(pCEmatch->aliases);
pCEmatch->aliases = name;
}
pCEmatch->aliases = c->aliases;
c->aliases = (NAMES *)0;
/* we have to override the ro/rw lists... */ /* we have to override the ro/rw lists... */
/* so first destroy the existing (which point to freed space anyway) */ /* so first destroy the existing (which point to freed space anyway) */
@ -3132,8 +3150,6 @@ DestroyConfig(c)
free(c->logfile); free(c->logfile);
if (c->initcmd != (char *)0) if (c->initcmd != (char *)0)
free(c->initcmd); free(c->initcmd);
if (c->motd != (char *)0)
free(c->motd);
if (c->passwdfile != (char *)0) if (c->passwdfile != (char *)0)
free(c->passwdfile); free(c->passwdfile);
if (c->primaryport != (char *)0) if (c->primaryport != (char *)0)
@ -3199,12 +3215,6 @@ ConfigEnd()
pConfig->initcmd = parserConfigTemp->initcmd; pConfig->initcmd = parserConfigTemp->initcmd;
parserConfigTemp->initcmd = (char *)0; parserConfigTemp->initcmd = (char *)0;
} }
if (parserConfigTemp->motd != (char *)0) {
if (pConfig->motd != (char *)0)
free(pConfig->motd);
pConfig->motd = parserConfigTemp->motd;
parserConfigTemp->motd = (char *)0;
}
if (parserConfigTemp->passwdfile != (char *)0) { if (parserConfigTemp->passwdfile != (char *)0) {
if (pConfig->passwdfile != (char *)0) if (pConfig->passwdfile != (char *)0)
free(pConfig->passwdfile); free(pConfig->passwdfile);

View File

@ -1,5 +1,5 @@
/* /*
* $Id: readcfg.h,v 5.33 2003-10-02 18:53:48-07 bryan Exp $ * $Id: readcfg.h,v 5.34 2003-10-10 08:57:17-07 bryan Exp $
* *
* Copyright conserver.com, 2000 * Copyright conserver.com, 2000
* *
@ -12,7 +12,6 @@ typedef struct config {
FLAG daemonmode; FLAG daemonmode;
char *logfile; char *logfile;
char *initcmd; char *initcmd;
char *motd;
char *passwdfile; char *passwdfile;
char *primaryport; char *primaryport;
FLAG redirect; FLAG redirect;

View File

@ -1,5 +1,5 @@
/* /*
* $Id: version.h,v 1.49 2003-10-06 10:07:59-07 bryan Exp $ * $Id: version.h,v 1.50 2003-10-10 09:02:08-07 bryan Exp $
* *
* Copyright conserver.com, 2000 * Copyright conserver.com, 2000
* *
@ -14,4 +14,4 @@
@(#) Copyright 2000 conserver.com.\n\ @(#) Copyright 2000 conserver.com.\n\
All rights reserved.\n" All rights reserved.\n"
#define THIS_VERSION "conserver.com version 8.0.3" #define THIS_VERSION "conserver.com version 8.0.4"

View File

@ -1,5 +1,5 @@
.\" $Id: console.man,v 1.37 2003-10-02 19:00:45-07 bryan Exp $ .\" $Id: console.man,v 1.37 2003-10-02 19:00:45-07 bryan Exp $
.TH CONSOLE 1 "2003-10-02" "conserver-8.0.3" "conserver" .TH CONSOLE 1 "2003-10-02" "conserver-8.0.4" "conserver"
.SH NAME .SH NAME
console \- console server client program console \- console server client program
.SH SYNOPSIS .SH SYNOPSIS

View File

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

View File

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