mirror of
https://github.com/bstansell/conserver.git
synced 2025-04-24 21:09:44 +00:00
Imported from conserver-7.2.5.tar.gz
This commit is contained in:
parent
48556ace3a
commit
19eedadfe0
16
CHANGES
16
CHANGES
@ -1,6 +1,20 @@
|
|||||||
CHANGES
|
CHANGES
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
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):
|
version 7.2.4 (Oct 14, 2002):
|
||||||
- added --with-openssl for some client/server encryption
|
- added --with-openssl for some client/server encryption
|
||||||
- added -E option to client and server to allow for non-encrypted
|
- added -E option to client and server to allow for non-encrypted
|
||||||
@ -363,5 +377,5 @@ before version 6.05:
|
|||||||
and enhancements of various types were applied.
|
and enhancements of various types were applied.
|
||||||
|
|
||||||
#
|
#
|
||||||
# $Id: CHANGES,v 1.74 2002-10-14 12:18:54-07 bryan Exp $
|
# $Id: CHANGES,v 1.75 2003-01-27 17:47:59-08 bryan Exp $
|
||||||
#
|
#
|
||||||
|
6
TODO
6
TODO
@ -10,6 +10,10 @@ Bryan Stansell
|
|||||||
|
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- usleep() statements, can they be removed and mimiced with some sort
|
||||||
|
of console state thing and a timer? Aaron Burt <aaron@osdl.org>
|
||||||
|
users email.
|
||||||
|
|
||||||
- OpenSSL sockets have been make blocking instead of keeping the
|
- OpenSSL sockets have been make blocking instead of keeping the
|
||||||
underlying socket non-blocking. Why? It requires much more work to
|
underlying socket non-blocking. Why? It requires much more work to
|
||||||
deal with non-blocking sockets and OpenSSL. Not impossible, just have
|
deal with non-blocking sockets and OpenSSL. Not impossible, just have
|
||||||
@ -117,5 +121,5 @@ Bryan Stansell
|
|||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# $Id: TODO,v 1.26 2002-10-09 15:55:24-07 bryan Exp $
|
# $Id: TODO,v 1.27 2003-01-27 17:47:27-08 bryan Exp $
|
||||||
#
|
#
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.\" $Id: conserver.cf.man,v 1.25 2002-06-05 11:14:35-07 bryan Exp $
|
.\" $Id: conserver.cf.man,v 1.26 2003-01-08 17:11:55-08 bryan Exp $
|
||||||
.\" @(#)constab.5 01/06/91 OSU CIS; Thomas A. Fine
|
.\" @(#)constab.5 01/06/91 OSU CIS; Thomas A. Fine
|
||||||
.TH CONSERVER.CF 5 "Local"
|
.TH CONSERVER.CF 5 "Local"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
@ -34,7 +34,7 @@ previous line. This allows you to span one logical line over
|
|||||||
many physical lines and insert comments wherever appropriate.
|
many physical lines and insert comments wherever appropriate.
|
||||||
.PP
|
.PP
|
||||||
The first section of the file has logical lines that are separated into
|
The first section of the file has logical lines that are separated into
|
||||||
five colon-separated fields. Leading and trailing white space in each
|
six colon-separated fields. Leading and trailing white space in each
|
||||||
field is ignored.
|
field is ignored.
|
||||||
.TP
|
.TP
|
||||||
.I name
|
.I name
|
||||||
@ -77,7 +77,7 @@ this host is logged. Any occurrence of `&' will be replaced with
|
|||||||
\fIname\fP. Any path that doesn't begin with a `/' will
|
\fIname\fP. Any path that doesn't begin with a `/' will
|
||||||
have \fIlogdirectory\fP (as specified in the nearest preceding
|
have \fIlogdirectory\fP (as specified in the nearest preceding
|
||||||
\fB\s-1LOGDIR=\s0\fP
|
\fB\s-1LOGDIR=\s0\fP
|
||||||
line) prepended to it.
|
line) prepended to it. If the field is empty, no logging will occur.
|
||||||
.TP
|
.TP
|
||||||
.I timestamp-spec
|
.I timestamp-spec
|
||||||
specifies the time between
|
specifies the time between
|
||||||
|
@ -179,13 +179,13 @@
|
|||||||
|
|
||||||
<H3>Downloading</H3>
|
<H3>Downloading</H3>
|
||||||
|
|
||||||
<P>The current version, released on Oct 14, 2002, is <A
|
<P>The current version, released on Jan 27, 2003, is <A
|
||||||
href=
|
href=
|
||||||
"http://www.conserver.com/7.2.4.tar.gz">7.2.4.tar.gz</A>.
|
"http://www.conserver.com/7.2.5.tar.gz">7.2.5.tar.gz</A>.
|
||||||
You can get it via <A href=
|
You can get it via <A href=
|
||||||
"ftp://ftp.conserver.com/conserver/7.2.4.tar.gz">FTP</A>
|
"ftp://ftp.conserver.com/conserver/7.2.5.tar.gz">FTP</A>
|
||||||
or <A href=
|
or <A href=
|
||||||
"http://www.conserver.com/7.2.4.tar.gz">HTTP</A>. See the
|
"http://www.conserver.com/7.2.5.tar.gz">HTTP</A>. See the
|
||||||
<A href="http://www.conserver.com/CHANGES">CHANGES</A>
|
<A href="http://www.conserver.com/CHANGES">CHANGES</A>
|
||||||
file for information on the latest updates.</P>
|
file for information on the latest updates.</P>
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
.\" @(#)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.28 2002-10-09 13:26:31-07 bryan Exp $
|
.\" $Id: conserver.man,v 1.29 2003-01-08 17:17:25-08 bryan Exp $
|
||||||
.TH CONSERVER 8 "Local"
|
.TH CONSERVER 8 "Local"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
conserver \- console server daemon
|
conserver \- console server daemon
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fBconserver\fP [\fB\-7dDEFhinouvV\fP] [\fB\-a\fP \fItype\fP]
|
\fBconserver\fP [\fB\-7dDEFhinoRuvV\fP] [\fB\-a\fP \fItype\fP]
|
||||||
[\fB\-m\fP \fImax\fP]
|
[\fB\-m\fP \fImax\fP]
|
||||||
[\fB\-M\fP \fIaddr\fP] [\fB\-p\fP \fIport\fP] [\fB\-b\fP \fIport\fP]
|
[\fB\-M\fP \fIaddr\fP] [\fB\-p\fP \fIport\fP] [\fB\-b\fP \fIport\fP]
|
||||||
[\fB\-c\fP \fIcred\fP] [\fB\-C\fP \fIconfig\fP] [\fB\-P\fP \fIpasswd\fP]
|
[\fB\-c\fP \fIcred\fP] [\fB\-C\fP \fIconfig\fP] [\fB\-P\fP \fIpasswd\fP]
|
||||||
@ -79,15 +79,19 @@ forking off new childen, deleted consoles (and their clients) are dropped,
|
|||||||
and changes to consoles are done "in place", resetting the console
|
and changes to consoles are done "in place", resetting the console
|
||||||
port (bringing it down and up) only when necessary. the console name is
|
port (bringing it down and up) only when necessary. the console name is
|
||||||
used to determine when consoles have been added/removed/changed. all
|
used to determine when consoles have been added/removed/changed. all
|
||||||
console logfiles are closed and reopened
|
actions performed by SIGUSR2 are also performed.
|
||||||
and, if in daemon mode (\fB\-d\fP option),
|
|
||||||
the error logfile (see the \fB\-L\fP option).
|
|
||||||
.TP
|
.TP
|
||||||
SIGUSR1
|
SIGUSR1
|
||||||
try to connect to any consoles marked as
|
try to connect to any consoles marked as
|
||||||
down. This can come in handy if you had a terminal server (or more)
|
down. This can come in handy if you had a terminal server (or more)
|
||||||
that wasn't accepting connections at startup and you want
|
that wasn't accepting connections at startup and you want
|
||||||
\fBconserver\fP to try to reconnect to all those downed ports.
|
\fBconserver\fP to try to reconnect to all those downed ports.
|
||||||
|
.TP
|
||||||
|
SIGUSR2
|
||||||
|
all console logfiles are closed and reopened
|
||||||
|
and, if in daemon mode (\fB\-d\fP option),
|
||||||
|
the error logfile (see the \fB\-L\fP option). all actions performed by
|
||||||
|
SIGUSR1 are also performed.
|
||||||
.PP
|
.PP
|
||||||
Slave hosts which have no current
|
Slave hosts which have no current
|
||||||
.BR console (1)
|
.BR console (1)
|
||||||
@ -198,6 +202,12 @@ Normally, a client connecting to a ``downed'' console does just that.
|
|||||||
Using this option, the server will automatically attempt to open
|
Using this option, the server will automatically attempt to open
|
||||||
(``bring up'') the console when the client connects.
|
(``bring up'') the console when the client connects.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-R
|
||||||
|
Disable automatic client redirection to other conserver hosts. This
|
||||||
|
means informational commands like \fB-w\fP and \fB-i\fP will only show
|
||||||
|
the status of the local conserver host and attempts to connect to
|
||||||
|
remote consoles will result in an informative message to the user.
|
||||||
|
.TP
|
||||||
.BI \-O min
|
.BI \-O min
|
||||||
Enable periodic attempts (every \fImin\fP minutes) to open (``bring up'')
|
Enable periodic attempts (every \fImin\fP minutes) to open (``bring up'')
|
||||||
all downed consoles (similar to sending a SIGUSR1).
|
all downed consoles (similar to sending a SIGUSR1).
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: group.c,v 5.195 2002-10-12 20:07:43-07 bryan Exp $
|
* $Id: group.c,v 5.196 2003-01-08 17:18:03-08 bryan Exp $
|
||||||
*
|
*
|
||||||
* Copyright conserver.com, 2000
|
* Copyright conserver.com, 2000
|
||||||
*
|
*
|
||||||
@ -97,8 +97,8 @@
|
|||||||
|
|
||||||
|
|
||||||
/* flags that a signal has occurred */
|
/* flags that a signal has occurred */
|
||||||
static sig_atomic_t fSawReOpen = 0, fSawReUp = 0, fSawMark =
|
static sig_atomic_t fSawChldHUP = 0, fSawReUp = 0, fSawMark =
|
||||||
0, fSawGoAway = 0, fSawReapVirt = 0;
|
0, fSawGoAway = 0, fSawReapVirt = 0, fSawChldUSR2 = 0;
|
||||||
|
|
||||||
void
|
void
|
||||||
#if USE_ANSI_PROTO
|
#if USE_ANSI_PROTO
|
||||||
@ -552,19 +552,37 @@ strtime(ltime)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* on an HUP close and re-open log files so lop can trim them (ksb)
|
/* on an HUP close and re-open log files so lop can trim them (ksb)
|
||||||
|
* and reread the configuration file
|
||||||
* lucky for us: log file fd's can change async from the group driver!
|
* lucky for us: log file fd's can change async from the group driver!
|
||||||
*/
|
*/
|
||||||
static RETSIGTYPE
|
static RETSIGTYPE
|
||||||
#if USE_ANSI_PROTO
|
#if USE_ANSI_PROTO
|
||||||
FlagReOpen(int sig)
|
FlagSawChldHUP(int sig)
|
||||||
#else
|
#else
|
||||||
FlagReOpen(sig)
|
FlagSawChldHUP(sig)
|
||||||
int sig;
|
int sig;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
fSawReOpen = 1;
|
fSawChldHUP = 1;
|
||||||
#if !HAVE_SIGACTION
|
#if !HAVE_SIGACTION
|
||||||
simpleSignal(SIGHUP, FlagReOpen);
|
simpleSignal(SIGHUP, FlagSawChldHUP);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/* on an USR2 close and re-open log files so lop can trim them (ksb)
|
||||||
|
* lucky for us: log file fd's can change async from the group driver!
|
||||||
|
*/
|
||||||
|
static RETSIGTYPE
|
||||||
|
#if USE_ANSI_PROTO
|
||||||
|
FlagSawChldUSR2(int sig)
|
||||||
|
#else
|
||||||
|
FlagSawChldUSR2(sig)
|
||||||
|
int sig;
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
fSawChldUSR2 = 1;
|
||||||
|
#if !HAVE_SIGACTION
|
||||||
|
simpleSignal(SIGUSR2, FlagSawChldUSR2);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1607,9 +1625,14 @@ Kiddie(pGE, sfd)
|
|||||||
pGE->pCLfree[i].pCLnext = &pGE->pCLfree[i + 1];
|
pGE->pCLfree[i].pCLnext = &pGE->pCLfree[i + 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* on a SIGHUP we should close and reopen our log files
|
/* on a SIGHUP we should close and reopen our log files and
|
||||||
|
* reread the config file
|
||||||
*/
|
*/
|
||||||
simpleSignal(SIGHUP, FlagReOpen);
|
simpleSignal(SIGHUP, FlagSawChldHUP);
|
||||||
|
|
||||||
|
/* on a SIGUSR2 we should close and reopen our log files
|
||||||
|
*/
|
||||||
|
simpleSignal(SIGUSR2, FlagSawChldUSR2);
|
||||||
|
|
||||||
/* on a SIGUSR1 we try to bring up all downed consoles */
|
/* on a SIGUSR1 we try to bring up all downed consoles */
|
||||||
simpleSignal(SIGUSR1, FlagReUp);
|
simpleSignal(SIGUSR1, FlagReUp);
|
||||||
@ -1630,8 +1653,23 @@ Kiddie(pGE, sfd)
|
|||||||
fSawReapVirt = 0;
|
fSawReapVirt = 0;
|
||||||
ReapVirt(pGE);
|
ReapVirt(pGE);
|
||||||
}
|
}
|
||||||
if (fSawReOpen) {
|
if (fSawChldHUP) {
|
||||||
fSawReOpen = 0;
|
fSawChldHUP = 0;
|
||||||
|
reopenLogfile();
|
||||||
|
ReReadCfg();
|
||||||
|
pGE = pGroups;
|
||||||
|
FD_SET(fileFDNum(sfd), &pGE->rinit);
|
||||||
|
ReOpen(pGE);
|
||||||
|
ReUp(pGE, 0);
|
||||||
|
}
|
||||||
|
if (fSawChldUSR2) {
|
||||||
|
fSawChldUSR2 = 0;
|
||||||
|
reopenLogfile();
|
||||||
|
ReOpen(pGE);
|
||||||
|
ReUp(pGE, 0);
|
||||||
|
}
|
||||||
|
if (fSawChldHUP) {
|
||||||
|
fSawChldHUP = 0;
|
||||||
reopenLogfile();
|
reopenLogfile();
|
||||||
ReReadCfg();
|
ReReadCfg();
|
||||||
pGE = pGroups;
|
pGE = pGroups;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: main.c,v 5.105 2002-10-12 20:07:43-07 bryan Exp $
|
* $Id: main.c,v 5.106 2003-01-08 17:18:59-08 bryan Exp $
|
||||||
*
|
*
|
||||||
* Copyright conserver.com, 2000
|
* Copyright conserver.com, 2000
|
||||||
*
|
*
|
||||||
@ -55,7 +55,7 @@
|
|||||||
|
|
||||||
int fAll = 0, fVerbose = 0, fSoftcar = 0, fNoinit = 0, fVersion =
|
int fAll = 0, fVerbose = 0, fSoftcar = 0, fNoinit = 0, fVersion =
|
||||||
0, fStrip = 0, fDaemon = 0, fUseLogfile = 0, fReopen = 0, fReopenall =
|
0, fStrip = 0, fDaemon = 0, fUseLogfile = 0, fReopen = 0, fReopenall =
|
||||||
0, fNoautoreup = 0;
|
0, fNoautoreup = 0, fNoredir = 0;
|
||||||
|
|
||||||
char chDefAcc = 'r';
|
char chDefAcc = 'r';
|
||||||
|
|
||||||
@ -439,7 +439,7 @@ daemonize()
|
|||||||
|
|
||||||
|
|
||||||
static char u_terse[] =
|
static char u_terse[] =
|
||||||
" [-7dDEFhinouvV] [-a type] [-m max] [-M addr] [-p port] [-b port] [-c cred] [-C config] [-P passwd] [-L logfile] [-O min]";
|
" [-7dDEFhinRouvV] [-a type] [-m max] [-M addr] [-p port] [-b port] [-c cred] [-C config] [-P passwd] [-L logfile] [-O min]";
|
||||||
static char *apcLong[] = {
|
static char *apcLong[] = {
|
||||||
"7 strip the high bit of all console data",
|
"7 strip the high bit of all console data",
|
||||||
"a type set the default access type",
|
"a type set the default access type",
|
||||||
@ -468,6 +468,7 @@ static char *apcLong[] = {
|
|||||||
"O min reopen all downed consoles every <min> minutes",
|
"O min reopen all downed consoles every <min> minutes",
|
||||||
"p port port to listen on",
|
"p port port to listen on",
|
||||||
"P passwd give a new passwd file to the server process",
|
"P passwd give a new passwd file to the server process",
|
||||||
|
"R disable automatic client redirection",
|
||||||
"u copy \"unloved\" console data to stdout",
|
"u copy \"unloved\" console data to stdout",
|
||||||
"v be verbose on startup",
|
"v be verbose on startup",
|
||||||
"V output version info",
|
"V output version info",
|
||||||
@ -678,7 +679,7 @@ main(argc, argv)
|
|||||||
int i;
|
int i;
|
||||||
FILE *fpConfig;
|
FILE *fpConfig;
|
||||||
struct hostent *hpMe;
|
struct hostent *hpMe;
|
||||||
static char acOpts[] = "7a:b:c:C:dDEFhiL:m:M:noO:p:P:suVv";
|
static char acOpts[] = "7a:b:c:C:dDEFhiL:m:M:noO:p:P:RsuVv";
|
||||||
extern int optopt;
|
extern int optopt;
|
||||||
extern char *optarg;
|
extern char *optarg;
|
||||||
struct passwd *pwd;
|
struct passwd *pwd;
|
||||||
@ -804,6 +805,9 @@ main(argc, argv)
|
|||||||
case 'P':
|
case 'P':
|
||||||
pcPasswd = optarg;
|
pcPasswd = optarg;
|
||||||
break;
|
break;
|
||||||
|
case 'R':
|
||||||
|
fNoredir = 1;
|
||||||
|
break;
|
||||||
case 's':
|
case 's':
|
||||||
fSoftcar ^= 1;
|
fSoftcar ^= 1;
|
||||||
break;
|
break;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: main.h,v 5.38 2002-09-29 19:04:57-07 bryan Exp $
|
* $Id: main.h,v 5.39 2003-01-08 17:12:38-08 bryan Exp $
|
||||||
*
|
*
|
||||||
* Copyright conserver.com, 2000
|
* Copyright conserver.com, 2000
|
||||||
*
|
*
|
||||||
@ -38,7 +38,7 @@
|
|||||||
*/
|
*/
|
||||||
extern char rcsid[];
|
extern char rcsid[];
|
||||||
extern int fAll, fVerbose, fSoftcar, fNoinit, fInteractive, fStrip,
|
extern int fAll, fVerbose, fSoftcar, fNoinit, fInteractive, fStrip,
|
||||||
fDaemon, fReopen, fReopenall, fNoautoreup;
|
fDaemon, fReopen, fReopenall, fNoautoreup, fNoredir;
|
||||||
extern char chDefAcc;
|
extern char chDefAcc;
|
||||||
extern in_addr_t bindAddr;
|
extern in_addr_t bindAddr;
|
||||||
extern unsigned int bindPort, bindBasePort;
|
extern unsigned int bindPort, bindBasePort;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: master.c,v 5.81 2002-10-12 20:07:43-07 bryan Exp $
|
* $Id: master.c,v 5.82 2003-01-08 17:18:44-08 bryan Exp $
|
||||||
*
|
*
|
||||||
* Copyright conserver.com, 2000
|
* Copyright conserver.com, 2000
|
||||||
*
|
*
|
||||||
@ -61,7 +61,8 @@ int deny_severity = LOG_WARNING;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static sig_atomic_t fSawQuit, fSawHUP, fSawUSR1, fSawCHLD;
|
static sig_atomic_t fSawQuit = 0, fSawHUP = 0, fSawUSR2 = 0, fSawUSR1 =
|
||||||
|
0, fSawCHLD = 0;
|
||||||
|
|
||||||
|
|
||||||
static RETSIGTYPE
|
static RETSIGTYPE
|
||||||
@ -195,6 +196,20 @@ FlagSawHUP(arg)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static RETSIGTYPE
|
||||||
|
#if USE_ANSI_PROTO
|
||||||
|
FlagSawUSR2(int arg)
|
||||||
|
#else
|
||||||
|
FlagSawUSR2(arg)
|
||||||
|
int arg;
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
fSawUSR2 = 1;
|
||||||
|
#if !HAVE_SIGACTION
|
||||||
|
simpleSignal(SIGUSR2, FlagSawUSR2);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static RETSIGTYPE
|
static RETSIGTYPE
|
||||||
#if USE_ANSI_PROTO
|
#if USE_ANSI_PROTO
|
||||||
FlagSawUSR1(int arg)
|
FlagSawUSR1(int arg)
|
||||||
@ -277,6 +292,7 @@ Master()
|
|||||||
simpleSignal(SIGTERM, FlagQuitIt);
|
simpleSignal(SIGTERM, FlagQuitIt);
|
||||||
simpleSignal(SIGUSR1, FlagSawUSR1);
|
simpleSignal(SIGUSR1, FlagSawUSR1);
|
||||||
simpleSignal(SIGHUP, FlagSawHUP);
|
simpleSignal(SIGHUP, FlagSawHUP);
|
||||||
|
simpleSignal(SIGUSR2, FlagSawUSR2);
|
||||||
simpleSignal(SIGINT, FlagSawINT);
|
simpleSignal(SIGINT, FlagSawINT);
|
||||||
|
|
||||||
/* set up port for master to listen on
|
/* set up port for master to listen on
|
||||||
@ -340,6 +356,12 @@ Master()
|
|||||||
Info("Processing SIGUSR1 at %s", strtime(NULL));
|
Info("Processing SIGUSR1 at %s", strtime(NULL));
|
||||||
SignalKids(SIGUSR1);
|
SignalKids(SIGUSR1);
|
||||||
}
|
}
|
||||||
|
if (fSawUSR2) {
|
||||||
|
fSawUSR2 = 0;
|
||||||
|
Info("Processing SIGUSR2 at %s", strtime(NULL));
|
||||||
|
reopenLogfile();
|
||||||
|
SignalKids(SIGUSR2);
|
||||||
|
}
|
||||||
if (fSawQuit) { /* Something above set the quit flag */
|
if (fSawQuit) { /* Something above set the quit flag */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -535,9 +557,12 @@ Master()
|
|||||||
filePrint(csocket, "@%s", inet_ntoa(lcl.sin_addr));
|
filePrint(csocket, "@%s", inet_ntoa(lcl.sin_addr));
|
||||||
iSep = 0;
|
iSep = 0;
|
||||||
}
|
}
|
||||||
for (pRC = pRCUniq; (REMOTE *) 0 != pRC; pRC = pRC->pRCuniq) {
|
if (!fNoredir) {
|
||||||
filePrint(csocket, ":@%s" + iSep, pRC->rhost.string);
|
for (pRC = pRCUniq; (REMOTE *) 0 != pRC;
|
||||||
iSep = 0;
|
pRC = pRC->pRCuniq) {
|
||||||
|
filePrint(csocket, ":@%s" + iSep, pRC->rhost.string);
|
||||||
|
iSep = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
fileWrite(csocket, "\r\n", -1);
|
fileWrite(csocket, "\r\n", -1);
|
||||||
fileClose(&csocket);
|
fileClose(&csocket);
|
||||||
@ -628,7 +653,14 @@ Master()
|
|||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if ((REMOTE *) 0 != pRCFound) {
|
if ((REMOTE *) 0 != pRCFound) {
|
||||||
filePrint(csocket, "@%s\r\n", pRCFound->rhost.string);
|
if (fNoredir) {
|
||||||
|
filePrint(csocket,
|
||||||
|
"automatic redirection disabled - console on master `%s'\r\n",
|
||||||
|
pRCFound->rhost.string);
|
||||||
|
} else {
|
||||||
|
filePrint(csocket, "@%s\r\n",
|
||||||
|
pRCFound->rhost.string);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
filePrint(csocket, "%u\r\n", prnum);
|
filePrint(csocket, "%u\r\n", prnum);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: readcfg.c,v 5.89 2002-10-12 20:07:43-07 bryan Exp $
|
* $Id: readcfg.c,v 5.90 2003-01-08 17:12:21-08 bryan Exp $
|
||||||
*
|
*
|
||||||
* Copyright conserver.com, 2000
|
* Copyright conserver.com, 2000
|
||||||
*
|
*
|
||||||
@ -628,7 +628,7 @@ ReadCfg(pcFile, fp, master)
|
|||||||
pcStart = pcRem + 1;
|
pcStart = pcRem + 1;
|
||||||
}
|
}
|
||||||
buildMyString(pcStart, &pCE->lfile);
|
buildMyString(pcStart, &pCE->lfile);
|
||||||
if (LogDirectory.used && pCE->lfile.used &&
|
if (LogDirectory.used > 1 && pCE->lfile.used > 1 &&
|
||||||
*pCE->lfile.string != '/') {
|
*pCE->lfile.string != '/') {
|
||||||
char *p;
|
char *p;
|
||||||
buildString((char *)0);
|
buildString((char *)0);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: version.h,v 1.39 2002-10-14 12:19:27-07 bryan Exp $
|
* $Id: version.h,v 1.40 2003-01-27 17:47:53-08 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 7.2.4"
|
#define THIS_VERSION "conserver.com version 7.2.5"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: console.c,v 5.99 2002-10-12 20:06:57-07 bryan Exp $
|
* $Id: console.c,v 5.101 2003-01-27 17:46:05-08 bryan Exp $
|
||||||
*
|
*
|
||||||
* Copyright conserver.com, 2000
|
* Copyright conserver.com, 2000
|
||||||
*
|
*
|
||||||
@ -196,7 +196,7 @@ static char *apcLong[] = {
|
|||||||
#endif
|
#endif
|
||||||
"f(F) force read/write connection (and replay)",
|
"f(F) force read/write connection (and replay)",
|
||||||
"G connect to the console group only",
|
"G connect to the console group only",
|
||||||
"i display information in machine-parseable form",
|
"i(I) display information in machine-parseable form (on master)",
|
||||||
"h output this message",
|
"h output this message",
|
||||||
"l user use username instead of current username",
|
"l user use username instead of current username",
|
||||||
"M mach master server to poll first",
|
"M mach master server to poll first",
|
||||||
@ -1424,14 +1424,14 @@ main(argc, argv)
|
|||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
char *pcCmd, *pcTo;
|
char *pcCmd, *pcTo;
|
||||||
struct passwd *pwdMe;
|
struct passwd *pwdMe = (struct passwd *)0;
|
||||||
int opt;
|
int opt;
|
||||||
int fLocal;
|
int fLocal;
|
||||||
STRING acPorts = { (char *)0, 0, 0 };
|
STRING acPorts = { (char *)0, 0, 0 };
|
||||||
char *pcUser = (char *)0;
|
char *pcUser = (char *)0;
|
||||||
char *pcMsg = (char *)0;
|
char *pcMsg = (char *)0;
|
||||||
int (*pfiCall) ();
|
int (*pfiCall) ();
|
||||||
static char acOpts[] = "7aAb:c:De:EfFGhil:M:p:PqQrRsSuvVwWx";
|
static char acOpts[] = "7aAb:c:De:EfFGhiIl:M:p:PqQrRsSuvVwWx";
|
||||||
extern int optind;
|
extern int optind;
|
||||||
extern int optopt;
|
extern int optopt;
|
||||||
extern char *optarg;
|
extern char *optarg;
|
||||||
@ -1501,6 +1501,9 @@ main(argc, argv)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'I':
|
||||||
|
fLocal = 1;
|
||||||
|
/* fall through */
|
||||||
case 'i':
|
case 'i':
|
||||||
pcCmd = "info";
|
pcCmd = "info";
|
||||||
break;
|
break;
|
||||||
@ -1569,7 +1572,7 @@ main(argc, argv)
|
|||||||
Error
|
Error
|
||||||
("usage [-aAEfFGsS] [-7Dv] [-c cred] [-M mach] [-p port] [-e esc] [-l username] console");
|
("usage [-aAEfFGsS] [-7Dv] [-c cred] [-M mach] [-p port] [-e esc] [-l username] console");
|
||||||
Error
|
Error
|
||||||
("usage [-hPrRuVwWx] [-7Dv] [-M mach] [-p port] [-b message]");
|
("usage [-hiIPrRuVwWx] [-7Dv] [-M mach] [-p port] [-b message]");
|
||||||
Error("usage [-qQ] [-7Dv] [-M mach] [-p port]");
|
Error("usage [-qQ] [-7Dv] [-M mach] [-p port]");
|
||||||
Usage(apcLong);
|
Usage(apcLong);
|
||||||
exit(EX_OK);
|
exit(EX_OK);
|
||||||
@ -1678,7 +1681,7 @@ main(argc, argv)
|
|||||||
} else if ('a' == *pcCmd || 'f' == *pcCmd || 's' == *pcCmd) {
|
} else if ('a' == *pcCmd || 'f' == *pcCmd || 's' == *pcCmd) {
|
||||||
ValidateEsc();
|
ValidateEsc();
|
||||||
pfiCall = Indir;
|
pfiCall = Indir;
|
||||||
} else if ('g' == *pcCmd) {
|
} else if ('g' == *pcCmd || 'i' == *pcCmd) {
|
||||||
pfiCall = fLocal ? CmdGroup : CmdMaster;
|
pfiCall = fLocal ? CmdGroup : CmdMaster;
|
||||||
} else {
|
} else {
|
||||||
pfiCall = CmdMaster;
|
pfiCall = CmdMaster;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.\" $Id: console.man,v 1.23 2002-10-09 13:26:31-07 bryan Exp $
|
.\" $Id: console.man,v 1.24 2003-01-08 17:07:51-08 bryan Exp $
|
||||||
.TH CONSOLE 1 "Local"
|
.TH CONSOLE 1 "Local"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
console \- console server client program
|
console \- console server client program
|
||||||
@ -8,7 +8,7 @@ console \- console server client program
|
|||||||
[\fB\-p\fP \fIport\fP] [\fB\-e\fP \fIesc\fP] [\fB\-l\fP \fIuser\fP]
|
[\fB\-p\fP \fIport\fP] [\fB\-e\fP \fIesc\fP] [\fB\-l\fP \fIuser\fP]
|
||||||
\fIconsole\fP
|
\fIconsole\fP
|
||||||
.br
|
.br
|
||||||
\fBconsole\fP [\fB\-hPrRuVwx\fP] [\fB\-7Dv\fP] [\fB\-M\fP \fImach\fP]
|
\fBconsole\fP [\fB\-hiIPrRuVwWx\fP] [\fB\-7Dv\fP] [\fB\-M\fP \fImach\fP]
|
||||||
[\fB\-p\fP \fIport\fP] [\fB\-b\fP \fImessage\fP]
|
[\fB\-p\fP \fIport\fP] [\fB\-b\fP \fImessage\fP]
|
||||||
.br
|
.br
|
||||||
\fBconsole\fP [\fB\-qQ\fP] [\fB\-7Dv\fP] [\fB\-M\fP \fImach\fP]
|
\fBconsole\fP [\fB\-qQ\fP] [\fB\-7Dv\fP] [\fB\-M\fP \fImach\fP]
|
||||||
@ -106,6 +106,9 @@ Display a brief help message.
|
|||||||
.B \-i
|
.B \-i
|
||||||
Display information in a machine-parseable format (see below for the details).
|
Display information in a machine-parseable format (see below for the details).
|
||||||
.TP
|
.TP
|
||||||
|
.B \-I
|
||||||
|
Same as \fB\-i\fP but just acts on the primary server.
|
||||||
|
.TP
|
||||||
.BI \-l user
|
.BI \-l user
|
||||||
Set the login name used for authentication to \fIuser\fP.
|
Set the login name used for authentication to \fIuser\fP.
|
||||||
By default, \fBconsole\fP uses $USER if its uid matches the user's real uid,
|
By default, \fBconsole\fP uses $USER if its uid matches the user's real uid,
|
||||||
@ -169,6 +172,9 @@ and the idle times. This is useful to see if anybody is actively
|
|||||||
using the console system if it becomes necessary to shut down
|
using the console system if it becomes necessary to shut down
|
||||||
\fBconserver\fP.
|
\fBconserver\fP.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-W
|
||||||
|
Same as \fB\-w\fP but just acts on the primary server.
|
||||||
|
.TP
|
||||||
.B \-x
|
.B \-x
|
||||||
Show a list of consoles and devices.
|
Show a list of consoles and devices.
|
||||||
.PP
|
.PP
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
%define pkg conserver
|
%define pkg conserver
|
||||||
%define ver 7.2.4
|
%define ver 7.2.5
|
||||||
|
|
||||||
# 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
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
PKG="conserver"
|
PKG="conserver"
|
||||||
NAME="Console server and client"
|
NAME="Console server and client"
|
||||||
CATEGORY="system"
|
CATEGORY="system"
|
||||||
VERSION="7.2.4"
|
VERSION="7.2.5"
|
||||||
DESC="Console server and client"
|
DESC="Console server and client"
|
||||||
CLASSES=none
|
CLASSES=none
|
||||||
ARCH=sparc
|
ARCH=sparc
|
||||||
|
Loading…
x
Reference in New Issue
Block a user