mirror of
https://github.com/bstansell/conserver.git
synced 2025-01-18 02:29:45 +00:00
Imported from conserver-8.1.7.tar.gz
This commit is contained in:
parent
cf461c7ce8
commit
c0f8de9c24
24
CHANGES
24
CHANGES
@ -1,10 +1,26 @@
|
||||
CHANGES
|
||||
=======
|
||||
|
||||
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 sytem-wide console.cf
|
||||
file and per-user .consolerc - suggested by Erik Sjolund
|
||||
<erik.sjolund@sbc.su.se>
|
||||
- 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
|
||||
@ -738,5 +754,5 @@ before version 6.05:
|
||||
and enhancements of various types were applied.
|
||||
|
||||
#
|
||||
# $Id: CHANGES,v 1.179 2004/05/26 00:14:07 bryan Exp $
|
||||
# $Id: CHANGES,v 1.186 2004/05/28 18:01:10 bryan Exp $
|
||||
#
|
||||
|
8
README
8
README
@ -16,6 +16,12 @@ Documentation
|
||||
Downloading
|
||||
|
||||
The latest version can be found at http://www.conserver.com/
|
||||
(US-West).
|
||||
|
||||
Mirrors of the site are at:
|
||||
|
||||
Australia http://planetmirror.com/pub/conserver/
|
||||
US-East http://conserver.syr.edu/
|
||||
|
||||
|
||||
Systems Tested
|
||||
@ -55,5 +61,5 @@ Contributions
|
||||
http://www.columbia.edu/acis/sy/unixdev/zinc
|
||||
|
||||
#
|
||||
# $Id: README,v 1.22 2003/08/23 19:34:24 bryan Exp $
|
||||
# $Id: README,v 1.23 2004/05/27 23:39:29 bryan Exp $
|
||||
#
|
||||
|
5
TODO
5
TODO
@ -94,6 +94,9 @@ Bryan Stansell
|
||||
- strict file permission checks on conserver.passwd/conserver.cf : Erik
|
||||
Sjolund <erik.sjolund@sbc.su.se>
|
||||
|
||||
- netgroup support? : Nikolaos Papavassiliou
|
||||
<Nikolaos.Papavassiliou@reuters.com>
|
||||
|
||||
#
|
||||
# $Id: TODO,v 1.49 2004/05/25 00:38:11 bryan Exp $
|
||||
# $Id: TODO,v 1.50 2004/05/28 01:58:43 bryan Exp $
|
||||
#
|
||||
|
42
configure
vendored
42
configure
vendored
@ -862,6 +862,7 @@ Optional Packages:
|
||||
--with-uds[=DIR]
|
||||
Use Unix domain sockets for client/server
|
||||
communication [/tmp/conserver]
|
||||
--with-rpath Use -R as well as -L for libraries
|
||||
--with-libwrap[=PATH]
|
||||
Compile in libwrap (tcp_wrappers) support
|
||||
--with-openssl[=PATH]
|
||||
@ -1789,6 +1790,29 @@ else
|
||||
echo "${ECHO_T}no" >&6
|
||||
fi;
|
||||
|
||||
use_dash_r=no
|
||||
echo "$as_me:$LINENO: checking whether to use -R paths as well as -L" >&5
|
||||
echo $ECHO_N "checking whether to use -R paths as well as -L... $ECHO_C" >&6
|
||||
|
||||
# Check whether --with-rpath or --without-rpath was given.
|
||||
if test "${with_rpath+set}" = set; then
|
||||
withval="$with_rpath"
|
||||
case "$withval" in
|
||||
yes|no)
|
||||
echo "$as_me:$LINENO: result: $withval" >&5
|
||||
echo "${ECHO_T}$withval" >&6
|
||||
use_dash_r=$withval
|
||||
;;
|
||||
*)
|
||||
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'
|
||||
@ -5478,7 +5502,11 @@ if test "${with_libwrap+set}" = set; then
|
||||
if test "$withval" != "no"; then
|
||||
if test "$withval" != "yes"; then
|
||||
WRAPCPPFLAGS="-I$withval/include"
|
||||
WRAPLDFLAGS="-L$withval/lib"
|
||||
if test "$use_dash_r" != "yes"; then
|
||||
WRAPLDFLAGS="-L$withval/lib"
|
||||
else
|
||||
WRAPLDFLAGS="-L$withval/lib -R$withval/lib"
|
||||
fi
|
||||
else
|
||||
WRAPCPPFLAGS=""
|
||||
WRAPLDFLAGS=""
|
||||
@ -5771,7 +5799,11 @@ if test "${with_openssl+set}" = set; then
|
||||
if test "$withval" != "no"; then
|
||||
if test "$withval" != "yes"; then
|
||||
OPENSSLCPPFLAGS="-I$withval/include"
|
||||
OPENSSLLDFLAGS="-L$withval/lib"
|
||||
if test "$use_dash_r" != "yes"; then
|
||||
OPENSSLLDFLAGS="-L$withval/lib"
|
||||
else
|
||||
OPENSSLLDFLAGS="-L$withval/lib -R$withval/lib"
|
||||
fi
|
||||
else
|
||||
OPENSSLCPPFLAGS=""
|
||||
OPENSSLLDFLAGS=""
|
||||
@ -6002,7 +6034,11 @@ if test "${with_dmalloc+set}" = set; then
|
||||
if test "$withval" != "no"; then
|
||||
if test "$withval" != "yes"; then
|
||||
DMALLOCCPPFLAGS="-I$withval/include"
|
||||
DMALLOCLDFLAGS="-L$withval/lib"
|
||||
if test "$use_dash_r" != "yes"; then
|
||||
DMALLOCLDFLAGS="-L$withval/lib"
|
||||
else
|
||||
DMALLOCLDFLAGS="-L$withval/lib -R$withval/lib"
|
||||
fi
|
||||
else
|
||||
DMALLOCCPPFLAGS=""
|
||||
DMALLOCLDFLAGS=""
|
||||
|
33
configure.in
33
configure.in
@ -282,6 +282,21 @@ AC_ARG_WITH(uds,
|
||||
;;
|
||||
esac],[AC_MSG_RESULT(no)])
|
||||
|
||||
use_dash_r=no
|
||||
AC_MSG_CHECKING(whether to use -R paths as well as -L)
|
||||
AC_ARG_WITH(rpath,
|
||||
AS_HELP_STRING([--with-rpath],[Use -R as well as -L for libraries]),
|
||||
[case "$withval" in
|
||||
yes|no)
|
||||
AC_MSG_RESULT($withval)
|
||||
use_dash_r=$withval
|
||||
;;
|
||||
*)
|
||||
AC_MSG_RESULT(no)
|
||||
;;
|
||||
esac],
|
||||
[AC_MSG_RESULT(no)])
|
||||
|
||||
dnl ### Check for compiler et al. ###################################
|
||||
AC_PROG_CC
|
||||
AC_PROG_INSTALL
|
||||
@ -374,7 +389,11 @@ AC_ARG_WITH(libwrap,
|
||||
[if test "$withval" != "no"; then
|
||||
if test "$withval" != "yes"; then
|
||||
WRAPCPPFLAGS="-I$withval/include"
|
||||
WRAPLDFLAGS="-L$withval/lib"
|
||||
if test "$use_dash_r" != "yes"; then
|
||||
WRAPLDFLAGS="-L$withval/lib"
|
||||
else
|
||||
WRAPLDFLAGS="-L$withval/lib -R$withval/lib"
|
||||
fi
|
||||
else
|
||||
WRAPCPPFLAGS=""
|
||||
WRAPLDFLAGS=""
|
||||
@ -427,7 +446,11 @@ AC_ARG_WITH(openssl,
|
||||
[if test "$withval" != "no"; then
|
||||
if test "$withval" != "yes"; then
|
||||
OPENSSLCPPFLAGS="-I$withval/include"
|
||||
OPENSSLLDFLAGS="-L$withval/lib"
|
||||
if test "$use_dash_r" != "yes"; then
|
||||
OPENSSLLDFLAGS="-L$withval/lib"
|
||||
else
|
||||
OPENSSLLDFLAGS="-L$withval/lib -R$withval/lib"
|
||||
fi
|
||||
else
|
||||
OPENSSLCPPFLAGS=""
|
||||
OPENSSLLDFLAGS=""
|
||||
@ -467,7 +490,11 @@ AC_ARG_WITH(dmalloc,
|
||||
[if test "$withval" != "no"; then
|
||||
if test "$withval" != "yes"; then
|
||||
DMALLOCCPPFLAGS="-I$withval/include"
|
||||
DMALLOCLDFLAGS="-L$withval/lib"
|
||||
if test "$use_dash_r" != "yes"; then
|
||||
DMALLOCLDFLAGS="-L$withval/lib"
|
||||
else
|
||||
DMALLOCLDFLAGS="-L$withval/lib -R$withval/lib"
|
||||
fi
|
||||
else
|
||||
DMALLOCCPPFLAGS=""
|
||||
DMALLOCLDFLAGS=""
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\" $Id: conserver.cf.man,v 1.63 2004/05/07 03:42:51 bryan Exp $
|
||||
.TH CONSERVER.CF 5 "2004/05/07" "conserver-8.1.6" "conserver"
|
||||
.\" $Id: conserver.cf.man,v 1.65 2004/05/27 23:39:06 bryan Exp $
|
||||
.TH CONSERVER.CF 5 "2004/05/27" "conserver-8.1.7" "conserver"
|
||||
.SH NAME
|
||||
conserver.cf \- console configuration file for
|
||||
.BR conserver (8)
|
||||
@ -126,9 +126,8 @@ must begin in ``column 0'' - no whitespace is allowed between it and
|
||||
the start of the physical line.
|
||||
There is an include file depth limit of 10 to prevent infinite recursion.
|
||||
.SH BLOCKS
|
||||
.TP 8
|
||||
.B access
|
||||
.RI [ " hostname " | " ipaddr " ]
|
||||
.TP
|
||||
\f3access\fP \f2hostname\fP|\f2ipaddr\fP
|
||||
.br
|
||||
Define an access block for the host named
|
||||
.I hostname
|
||||
@ -139,10 +138,8 @@ all conserver hosts.
|
||||
Access lists are used in a first match
|
||||
fashion (top down), so order is important.
|
||||
.RS
|
||||
.TP 15
|
||||
.B admin
|
||||
.RI "[ [\f3!\fP]" username ,...
|
||||
| "" ]
|
||||
.TP
|
||||
\f3admin\fP [\f3!\fP]\f2username\fP[\f3,\fP...]|\f3""\fP
|
||||
.br
|
||||
Define a list of users making up the admin list for the console server.
|
||||
If
|
||||
@ -162,38 +159,33 @@ If
|
||||
.I username
|
||||
doesn't match a previous group and doesn't begin with `@', the users
|
||||
will be granted (or denied, if prefixed with `!') access.
|
||||
If the null string (``""'') is used, any
|
||||
If the null string (``\f3""\fP'') is used, any
|
||||
users previously defined for the console servers's admin list are removed.
|
||||
.TP
|
||||
.B allowed
|
||||
.IR hostname ", ..."
|
||||
\f3allowed\fP \f2hostname\fP[\f3,\fP...]
|
||||
.br
|
||||
The list of hostnames are added to the ``allowed'' list, which grants
|
||||
connections from the hosts but requires username authentication.
|
||||
.TP
|
||||
.B include
|
||||
.I accessgroup
|
||||
\f3include\fP \f2accessgroup\fP
|
||||
.br
|
||||
The access lists defined using the name
|
||||
.I accessgroup
|
||||
are applied to the current access block.
|
||||
The included access block must be previously defined.
|
||||
.TP
|
||||
.B rejected
|
||||
.IR hostname ", ..."
|
||||
\f3rejected\fP \f2hostname\fP[\f3,\fP...]
|
||||
.br
|
||||
The list of hostnames are added to the ``rejected'' list, which rejects
|
||||
connections from the hosts.
|
||||
.TP
|
||||
.B trusted
|
||||
.IR hostname ", ..."
|
||||
\f3trusted\fP \f2hostname\fP[\f3,\fP...]
|
||||
.br
|
||||
The list of hostnames are added to the ``trusted'' list, which grants
|
||||
connections from the hosts without username authentication.
|
||||
.RE
|
||||
.TP 8
|
||||
.B break
|
||||
.I n
|
||||
.TP
|
||||
\f3break\fP \f2n\fP
|
||||
.br
|
||||
Define a break sequence where 0 <
|
||||
.I n
|
||||
@ -202,9 +194,8 @@ Break sequences are accessed via the
|
||||
.RI ``^El n ''
|
||||
client escape sequence.
|
||||
.RS
|
||||
.TP 15
|
||||
.B delay
|
||||
.I n
|
||||
.TP
|
||||
\f3delay\fP \f2n\fP
|
||||
.br
|
||||
Set the time delay for the
|
||||
.B \ed
|
||||
@ -213,8 +204,7 @@ sequence to
|
||||
milliseconds.
|
||||
The default time delay is 250ms.
|
||||
.TP
|
||||
.B string
|
||||
.I breakseq
|
||||
\f3string\fP \f2breakseq\fP
|
||||
.br
|
||||
Assign the string
|
||||
.IR breakseq
|
||||
@ -223,6 +213,7 @@ to the specified slot
|
||||
A break sequence is a simple character string with the exception of `\e'
|
||||
and `^':
|
||||
.RS
|
||||
.RS
|
||||
.sp
|
||||
.PD 0
|
||||
.TP 6
|
||||
@ -280,9 +271,9 @@ is ``and''ed with 0x1f)
|
||||
.PD
|
||||
.RE
|
||||
.RE
|
||||
.TP 8
|
||||
.B config
|
||||
.RI [ " hostname " | " ipaddr " ]
|
||||
.RE
|
||||
.TP
|
||||
\f3config\fP \f2hostname\fP|\f2ipaddr\fP
|
||||
.br
|
||||
Define a configuration block for the host named
|
||||
.I hostname
|
||||
@ -291,27 +282,21 @@ or using the address
|
||||
If the value of ``*'' is used, the configuration block will be applied to
|
||||
all conserver hosts.
|
||||
.RS
|
||||
.TP 15
|
||||
.B defaultaccess
|
||||
.RB [ " rejected " | " trusted "
|
||||
.RB | " allowed " ]
|
||||
.TP
|
||||
\f3defaultaccess\fP \f3rejected\fP|\f3trusted\fP|\f3allowed\fP
|
||||
.br
|
||||
Set the default access permission for all hosts not matched by
|
||||
an access list (see the
|
||||
.B \-a
|
||||
command-line flag).
|
||||
.TP
|
||||
.B daemonmode
|
||||
.RB [ " yes " | " true "
|
||||
.RB | " on " | " no "
|
||||
.RB | " false " | " off " ]
|
||||
\f3daemonmode\fP \f3yes\fP|\f3true\fP|\f3on\fP|\f3no\fP|\f3false\fP|\f3off
|
||||
.br
|
||||
Set whether or not to become a daemon when run (see the
|
||||
.B \-d
|
||||
command-line flag).
|
||||
.TP
|
||||
.B initdelay
|
||||
.I number
|
||||
\f3initdelay\fP \f2number\fP
|
||||
.br
|
||||
Set the number of seconds between console initializations.
|
||||
All consoles with the same
|
||||
@ -337,54 +322,43 @@ If
|
||||
.I number
|
||||
is zero, all consoles are initialized without delay.
|
||||
.TP
|
||||
.B logfile
|
||||
.I filename
|
||||
\f3logfile\fP \f2filename\fP
|
||||
.br
|
||||
Set the logfile to write to when in daemon mode (see the
|
||||
.B \-L
|
||||
command-line flag).
|
||||
.TP
|
||||
.B passwdfile
|
||||
.I filename
|
||||
\f3passwdfile\fP \f2filename\fP
|
||||
.br
|
||||
Set the password file location used for authentication (see the
|
||||
.B \-P
|
||||
command-line flag).
|
||||
.TP
|
||||
.B primaryport
|
||||
.RI [ " number " | " name " ]
|
||||
\f3primaryport\fP \f2number\fP|\f2name\fP
|
||||
.br
|
||||
Set the port used by the master conserver process (see the
|
||||
.B \-p
|
||||
command-line flag).
|
||||
.TP
|
||||
.B redirect
|
||||
.RB [ " yes " | " true "
|
||||
.RB | " on " | " no "
|
||||
.RB | " false " | " off " ]
|
||||
\f3redirect\fP \f3yes\fP|\f3true\fP|\f3on\fP|\f3no\fP|\f3false\fP|\f3off
|
||||
.br
|
||||
Turn redirection on or off (see the
|
||||
.B \-R
|
||||
command-line flag).
|
||||
.TP
|
||||
.B reinitcheck
|
||||
.I number
|
||||
\f3reinitcheck\fP \f2number\fP
|
||||
.br
|
||||
Set the number of minutes used between reinitialization checks (see the
|
||||
.B \-O
|
||||
command-line flag).
|
||||
.TP
|
||||
.B secondaryport
|
||||
.RI [ " number " | " name " ]
|
||||
\f3secondaryport\fP \f2number\fP|\f2name\fP
|
||||
.br
|
||||
Set the base port number used by child processes (see the
|
||||
.B \-b
|
||||
command-line flag).
|
||||
.TP
|
||||
.B setproctitle
|
||||
.RB [ " yes " | " true "
|
||||
.RB | " on " | " no "
|
||||
.RB | " false " | " off " ]
|
||||
\f3setproctitle\fP \f3yes\fP|\f3true\fP|\f3on\fP|\f3no\fP|\f3false\fP|\f3off
|
||||
.br
|
||||
Set whether or not the process title shows master/group functionality
|
||||
as well as the port number the process is listening on and how many
|
||||
@ -393,8 +367,7 @@ The operating system must support the
|
||||
.BR setproctitle ()
|
||||
call.
|
||||
.TP
|
||||
.B sslcredentials
|
||||
.I filename
|
||||
\f3sslcredentials\fP \f2filename\fP
|
||||
.br
|
||||
Set the
|
||||
.SM SSL
|
||||
@ -402,17 +375,13 @@ credentials file location (see the
|
||||
.B \-c
|
||||
command-line flag).
|
||||
.TP
|
||||
.B sslrequired
|
||||
.RB [ " yes " | " true "
|
||||
.RB | " on " | " no "
|
||||
.RB | " false " | " off " ]
|
||||
\f3sslrequired\fP \f3yes\fP|\f3true\fP|\f3on\fP|\f3no\fP|\f3false\fP|\f3off
|
||||
.br
|
||||
Set whether or not encryption is required when talking to clients (see the
|
||||
.B \-E
|
||||
command-line flag).
|
||||
.TP
|
||||
.B unifiedlog
|
||||
.I filename
|
||||
\f3unifiedlog\fP \f2filename\fP
|
||||
.br
|
||||
Set the location of the unified log to
|
||||
.IR filename .
|
||||
@ -420,9 +389,8 @@ See the
|
||||
.B \-U
|
||||
command-line flag for details.
|
||||
.RE
|
||||
.TP 8
|
||||
.B console
|
||||
.I name
|
||||
.TP
|
||||
\f3console\fP \f2name\fP
|
||||
.br
|
||||
Define a console identified as
|
||||
.IR name .
|
||||
@ -430,18 +398,15 @@ The keywords are the same as the
|
||||
.B default
|
||||
block with the following addition.
|
||||
.RS
|
||||
.TP 15
|
||||
.B aliases
|
||||
.RI [ " name" ", ..."
|
||||
| "" ]
|
||||
.TP
|
||||
\f3aliases\fP \f2name\fP[\f3,\fP...]|\f3""\fP
|
||||
.br
|
||||
Define a list of console aliases.
|
||||
If the null string (``""'') is used, any
|
||||
If the null string (``\f3""\fP'') is used, any
|
||||
aliases previously defined for the console are removed.
|
||||
.RE
|
||||
.TP 8
|
||||
.B default
|
||||
.I name
|
||||
.TP
|
||||
\f3default\fP \f2name\fP
|
||||
.br
|
||||
Define a block of defaults identified as
|
||||
.IR name .
|
||||
@ -451,36 +416,27 @@ is ``*'', the automatically applied default block is defined (basically
|
||||
all consoles have an implicit ``include "*";'' at the beginning
|
||||
of their definition).
|
||||
.RS
|
||||
.TP 15
|
||||
.B baud
|
||||
.RB [ " 300 " | " 600 "
|
||||
.RB | " 1800 " | " 2400 "
|
||||
.RB | " 4800 " | " 9600 "
|
||||
.RB | " 19200 " | " 38400 "
|
||||
.RB | " 57600 " | " 115200 " ]
|
||||
.TP
|
||||
\f3baud\fP \f3300\fP|\f3600\fP|\f31800\fP|\f32400\fP|\f34800\fP|\f39600\fP|\f319200\fP|\f338400\fP|\f357600\fP|\f3115200\fP
|
||||
.br
|
||||
Assign the baud rate to the console.
|
||||
Only consoles of type ``device'' will use this value.
|
||||
.TP
|
||||
.B break
|
||||
.I n
|
||||
\f3break\fP \f2n\fP
|
||||
.br
|
||||
Assign the break sequence
|
||||
.I n
|
||||
as the default for the console, which is used by
|
||||
the ``^Ecl0'' client escape sequence.
|
||||
.TP
|
||||
.B device
|
||||
.I filename
|
||||
\f3device\fP \f2filename\fP
|
||||
.br
|
||||
Assign the serial device
|
||||
.I filename
|
||||
as the access to the console.
|
||||
Only consoles of type ``device'' will use this value.
|
||||
.TP
|
||||
.B devicesubst
|
||||
[\f2c\fP=\f2t\fP[\f2n\fP]\f2f\fP[,...]
|
||||
| "" ]
|
||||
\f3devicesubst\fP \f2c\fP\f3=\fP\f2t\fP[\f2n\fP]\f2f\fP[\f3,\fP...]|\f3""\fP
|
||||
.br
|
||||
Perform character substitutions on the
|
||||
.B device
|
||||
@ -546,25 +502,21 @@ begins with a 0, and space characters otherwise.
|
||||
.I f
|
||||
must be either `d', `x' or `X', specifying a decimal, lower-case
|
||||
hexadecimal, or an uppercase hexadecimal conversion.
|
||||
If the null string (``""'') is used, no replacements will be done.
|
||||
If the null string (``\f3""\fP'') is used, no replacements will be done.
|
||||
.TP
|
||||
.B exec
|
||||
.RI [ " command "
|
||||
| "" ]
|
||||
\f3exec\fP \f2command|\f3""\fP
|
||||
.br
|
||||
Assign the string
|
||||
.I command
|
||||
as the command to access the console.
|
||||
Conserver will run the command by
|
||||
invoking ``/bin/sh -ce "\f2command\fP"''.
|
||||
If the null string (``""'') is used or no
|
||||
If the null string (``\f3""\fP'') is used or no
|
||||
.B exec
|
||||
keyword is specified, conserver will use the command ``/bin/sh -i''.
|
||||
Only consoles of type ``exec'' will use this value.
|
||||
.TP
|
||||
.B execsubst
|
||||
[\f2c\fP=\f2t\fP[\f2n\fP]\f2f\fP[,...]
|
||||
| "" ]
|
||||
\f3execsubst\fP \f2c\fP\f3=\fP\f2t\fP[\f2n\fP]\f2f\fP[\f3,\fP...]|\f3""\fP
|
||||
.br
|
||||
Perform character substitutions on the
|
||||
.B exec
|
||||
@ -572,10 +524,9 @@ value.
|
||||
See the
|
||||
.B devicesubst
|
||||
option for an explanation of the format string.
|
||||
If the null string (``""'') is used, no replacements will be done.
|
||||
If the null string (``\f3""\fP'') is used, no replacements will be done.
|
||||
.TP
|
||||
.B host
|
||||
.I hostname
|
||||
\f3host\fP \f2hostname\fP
|
||||
.br
|
||||
Assign
|
||||
.I hostname
|
||||
@ -591,16 +542,14 @@ or
|
||||
.B initsubst
|
||||
keywords are used in any console type, this value is used.
|
||||
.TP
|
||||
.B idlestring
|
||||
.RI [ " string "
|
||||
| "" ]
|
||||
\f3idlestring\fP \f2string\fP|\f3""\fP
|
||||
.br
|
||||
Assign the
|
||||
.I string
|
||||
that is sent to the console once the console is idle for an
|
||||
.I idletimeout
|
||||
amount of time.
|
||||
If the null string (``""'') is used, the string is unset and
|
||||
If the null string (``\f3""\fP'') is used, the string is unset and
|
||||
the default is used.
|
||||
The string is interpreted just as a
|
||||
.B break
|
||||
@ -610,8 +559,7 @@ configuration items for details) where all delays specified (via ``\ed'')
|
||||
use the default delay time.
|
||||
The default string is ``\en''.
|
||||
.TP
|
||||
.B idletimeout
|
||||
\f2number\fP[\f3s\fP|\f3m\fP|\f3h\fP]
|
||||
\f3idletimeout\fP \f2number\fP[\f3s\fP|\f3m\fP|\f3h\fP]
|
||||
.br
|
||||
Set the idle timeout of the console to
|
||||
.I number
|
||||
@ -621,17 +569,14 @@ If an `s', `m', or `h' is used after
|
||||
the specified time is interpreted as seconds, minutes, or hours.
|
||||
Set the timeout to zero to disable the idle timeout (the default).
|
||||
.TP
|
||||
.B include
|
||||
.I default
|
||||
\f3include\fP \f2default\fP
|
||||
.br
|
||||
The default block defined using the name
|
||||
.I default
|
||||
is applied to the current console or default block.
|
||||
The included default block must be previously defined.
|
||||
.TP
|
||||
.B initcmd
|
||||
.RI [ " command "
|
||||
| "" ]
|
||||
\f3initcmd\fP \f3command\fP|\f3""\fP
|
||||
.br
|
||||
Invoke
|
||||
.I command
|
||||
@ -641,12 +586,10 @@ to stdin, stdout, and stderr of
|
||||
The
|
||||
.I command
|
||||
is passed as an argument to ``/bin/sh -ce''.
|
||||
If the null string (``""'') is used, the command is unset and
|
||||
If the null string (``\f3""\fP'') is used, the command is unset and
|
||||
nothing is invoked.
|
||||
.TP
|
||||
.B initsubst
|
||||
[\f2c\fP=\f2t\fP[\f2n\fP]\f2f\fP[,...]
|
||||
| "" ]
|
||||
\f3initsubst\fP \f2c\fP\f3=\fP\f2t\fP[\f2n\fP]\f2f\fP[\f3,\fP...]|\f3""\fP
|
||||
.br
|
||||
Perform character substitutions on the
|
||||
.B initcmd
|
||||
@ -654,11 +597,9 @@ value.
|
||||
See the
|
||||
.B devicesubst
|
||||
option for an explanation of the format string.
|
||||
If the null string (``""'') is used, no replacements will be done.
|
||||
If the null string (``\f3""\fP'') is used, no replacements will be done.
|
||||
.TP
|
||||
.B logfile
|
||||
.RI [ " filename "
|
||||
| "" ]
|
||||
\f3logfile\fP \f2filename\fP|\f3""\fP
|
||||
.br
|
||||
Assign the logfile specified by
|
||||
.I filename
|
||||
@ -666,11 +607,10 @@ to the console.
|
||||
Any occurrence of ``&'' in
|
||||
.I filename
|
||||
will be replaced with the name of the console.
|
||||
If the null string (``""'') is used, the logfile name is unset and
|
||||
If the null string (``\f3""\fP'') is used, the logfile name is unset and
|
||||
no logging will occur.
|
||||
.TP
|
||||
.B logfilemax
|
||||
\f2number\fP[\f3k\fP|\f3m\fP]
|
||||
\f3logfilemax\fP \f2number\fP[\f3k\fP|\f3m\fP]
|
||||
.br
|
||||
Enable automatic rotation of
|
||||
.B logfile
|
||||
@ -703,8 +643,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
|
||||
.B master
|
||||
.RI [ " hostname " | " ipaddr " ]
|
||||
\f3master\fP \f2hostname\fP|\f3ipaddr\fP
|
||||
.br
|
||||
Define which conserver host manages the console.
|
||||
The host may be specified by
|
||||
@ -712,19 +651,15 @@ The host may be specified by
|
||||
or using the address
|
||||
.IR ipaddr .
|
||||
.TP
|
||||
.B motd
|
||||
.RI [ " message "
|
||||
| "" ]
|
||||
\f3motd\fP \f2message\fP|\f3""\fP
|
||||
.br
|
||||
Set the "message of the day" for the console to
|
||||
.IR message ,
|
||||
which gets displayed when a client attaches to the console.
|
||||
If the null string (``""'') is used, the MOTD is unset and
|
||||
If the null string (``\f3""\fP'') is used, the MOTD is unset and
|
||||
no message will occur.
|
||||
.TP
|
||||
.B options
|
||||
.RI [ " option" ,...
|
||||
| "" ]
|
||||
\f3options\fP [\f3!\fP]option[\f3,\fP...]|\f3""\fP
|
||||
.br
|
||||
You can negate the option by prefixing it with a
|
||||
.RB `` ! ''
|
||||
@ -839,16 +774,12 @@ Default is
|
||||
.PD
|
||||
.RE
|
||||
.TP
|
||||
.B parity
|
||||
.RB [ " even " | " mark "
|
||||
.RB | " none " | " odd "
|
||||
.RB | " space " ]
|
||||
\f3parity\fP \f3even\fP|\f3mark\fP|\f3none\fP|\f3odd\fP|\f3space\fP
|
||||
.br
|
||||
Set the parity option for the console.
|
||||
Only consoles of type ``device'' will use this value.
|
||||
.TP
|
||||
.B port
|
||||
.RI [ " number " | " name " ]
|
||||
\f3port\fP \f2number\fP|\f2name\fP
|
||||
.br
|
||||
Set the port used to access the console.
|
||||
The port may be specified as a
|
||||
@ -890,8 +821,7 @@ or
|
||||
.B initsubst
|
||||
keywords are used in any console type, this value is used.
|
||||
.TP
|
||||
.B portbase
|
||||
.I number
|
||||
\f3portbase\fP \f2number\fP
|
||||
.br
|
||||
Set the base value for the port calculation formula.
|
||||
.I number
|
||||
@ -901,8 +831,7 @@ See
|
||||
.B port
|
||||
for the details of the formula.
|
||||
.TP
|
||||
.B portinc
|
||||
.I number
|
||||
\f3portinc\fP \f2number\fP
|
||||
.br
|
||||
Set the increment value for the port calculation formula.
|
||||
.I number
|
||||
@ -912,8 +841,7 @@ See
|
||||
.B port
|
||||
for the details of the formula.
|
||||
.TP
|
||||
.B protocol
|
||||
.RB [ " telnet " | " raw " ]
|
||||
\f3protocol\fP \f3telnet\fP|\f3raw\fP
|
||||
.br
|
||||
Set the protocol used to send and receive data from the console.
|
||||
If
|
||||
@ -927,9 +855,7 @@ The
|
||||
console option still applies when data is read by the server, and if enabled,
|
||||
can impact the encapsulation process.
|
||||
.TP
|
||||
.B ro
|
||||
.RI "[ [\f3!\fP]" username ,...
|
||||
| "" ]
|
||||
\f3ro\fP [\f3!\fP]\f2username\fP[\f3,\fP...]|\f3""\fP
|
||||
.br
|
||||
Define a list of users making up the read-only access list
|
||||
for the console.
|
||||
@ -950,12 +876,10 @@ If
|
||||
.I username
|
||||
doesn't match a previous group and doesn't begin with `@', the users
|
||||
will be granted (or denied, if prefixed with `!') read-only access.
|
||||
If the null string (``""'') is used, any
|
||||
If the null string (``\f3""\fP'') is used, any
|
||||
users previously defined for the console's read-only list are removed.
|
||||
.TP
|
||||
.B rw
|
||||
.RI "[ [\f3!\fP]" username ,...
|
||||
| "" ]
|
||||
\f3rw\fP [\f3!\fP]\f2username\fP[\f3,\fP...]|\f3""\fP
|
||||
.br
|
||||
Define a list of users making up the read-write access list
|
||||
for the console.
|
||||
@ -976,13 +900,10 @@ If
|
||||
.I username
|
||||
doesn't match a previous group and doesn't begin with `@', the users
|
||||
will be granted (or denied, if prefixed with `!') read-write access.
|
||||
If the null string (``""'') is used, any
|
||||
If the null string (``\f3""\fP'') is used, any
|
||||
users previously defined for the console's read-write list are removed.
|
||||
.TP
|
||||
.B timestamp
|
||||
[
|
||||
[\f2number\fP[\f3m\fP|\f3h\fP|\f3d\fP|\f3l\fP]][\f3a\fP][\f3b\fP]
|
||||
| "" ]
|
||||
\f3timestamp\fP [\f2number\fP[\f3m\fP|\f3h\fP|\f3d\fP|\f3l\fP]][\f3a\fP][\f3b\fP]|\f3""\fP
|
||||
.br
|
||||
Specifies the time between timestamps applied to the console
|
||||
log file and whether to log read/write connection actions.
|
||||
@ -1011,9 +932,7 @@ A
|
||||
.RB ` b '
|
||||
can be specified to add logging of break sequences sent to the console.
|
||||
.TP
|
||||
.B type
|
||||
.RB [ " device " | " exec "
|
||||
.RB | " host " ]
|
||||
\f3type\fP \f3device\fP|\f3exec\fP|\f3host\fP
|
||||
.br
|
||||
Set the type of console.
|
||||
The type
|
||||
@ -1033,17 +952,14 @@ and
|
||||
.B port
|
||||
options).
|
||||
.RE
|
||||
.TP 8
|
||||
.B group
|
||||
.I name
|
||||
.TP
|
||||
\f3group\fP \f2name\fP
|
||||
.br
|
||||
Define a user group identified as
|
||||
.I name
|
||||
.RS
|
||||
.TP 15
|
||||
.B users
|
||||
.RI "[ [\f3!\fP]" username ,...
|
||||
| "" ]
|
||||
.TP
|
||||
\f3users\fP [\f3!\fP]\f2username\fP[\f3,\fP...]|\f3""\fP
|
||||
.br
|
||||
Define a list of users making up the group
|
||||
.IR name .
|
||||
@ -1064,7 +980,7 @@ If
|
||||
.I username
|
||||
doesn't match a previous group and doesn't begin with `@', the users
|
||||
will be recorded with (or without, if prefixed with `!') access.
|
||||
If the null string (``""'') is used, any
|
||||
If the null string (``\f3""\fP'') is used, any
|
||||
users previously defined for this group are removed.
|
||||
.RE
|
||||
.SH AUTHORS
|
||||
|
@ -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.6" "conserver"
|
||||
.TH CONSERVER.PASSWD 5 "2004/01/08" "conserver-8.1.7" "conserver"
|
||||
.SH NAME
|
||||
conserver.passwd \- user access information for
|
||||
.BR conserver (8)
|
||||
|
@ -36,7 +36,8 @@
|
||||
<TD colspan="2" align="center">Please pick your closest
|
||||
mirror: <A href=
|
||||
"http://planetmirror.com/pub/conserver/">Australia</A>
|
||||
<A href="http://www.conserver.com/">US
|
||||
<A href="http://conserver.syr.edu/">US-East</A>
|
||||
<A href="http://www.conserver.com/">US-West
|
||||
(Primary)</A><BR>
|
||||
<BR>
|
||||
</TD>
|
||||
@ -181,11 +182,11 @@
|
||||
|
||||
<H3>Downloading</H3>
|
||||
|
||||
<P>The current version, released on May 25, 2004, is <A
|
||||
href="8.1.6.tar.gz">8.1.6.tar.gz</A>. You can get it via
|
||||
<P>The current version, released on May 28, 2004, is <A
|
||||
href="8.1.7.tar.gz">8.1.7.tar.gz</A>. You can get it via
|
||||
<A href=
|
||||
"ftp://ftp.conserver.com/conserver/8.1.6.tar.gz">FTP</A>
|
||||
or <A href="8.1.6.tar.gz">HTTP</A>. See the <A href=
|
||||
"ftp://ftp.conserver.com/conserver/8.1.7.tar.gz">FTP</A>
|
||||
or <A href="8.1.7.tar.gz">HTTP</A>. See the <A href=
|
||||
"CHANGES">CHANGES</A> file for information on the latest
|
||||
updates.</P>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: client.c,v 5.83 2004/04/13 18:12:00 bryan Exp $
|
||||
* $Id: client.c,v 5.84 2004/05/28 16:39:51 bryan Exp $
|
||||
*
|
||||
* Copyright conserver.com, 2000
|
||||
*
|
||||
@ -514,6 +514,7 @@ ClientAccessOk(pCL)
|
||||
# if defined(USE_LIBWRAP)
|
||||
{
|
||||
struct request_info request;
|
||||
CONDDEBUG((1, "ClientAccessOk(): doing tcpwrappers check"));
|
||||
request_init(&request, RQ_DAEMON, progname, RQ_FILE, cfd, 0);
|
||||
fromhost(&request);
|
||||
if (!hosts_access(&request)) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" @(#)conserver.8 01/06/91 OSU CIS; Thomas A. Fine
|
||||
.\" $Id: conserver.man,v 1.47 2004/05/21 04:15:17 bryan Exp $
|
||||
.TH CONSERVER 8 "2004/05/21" "conserver-8.1.6" "conserver"
|
||||
.\" $Id: conserver.man,v 1.48 2004/05/28 02:02:36 bryan Exp $
|
||||
.TH CONSERVER 8 "2004/05/28" "conserver-8.1.7" "conserver"
|
||||
.SH NAME
|
||||
conserver \- console server daemon
|
||||
.SH SYNOPSIS
|
||||
@ -448,7 +448,9 @@ any interaction with the server is done with the default escape sequence.
|
||||
This is, by no means, a complete description of the entire client/server
|
||||
interaction.
|
||||
It is, however, a brief explanation in order to give a idea of
|
||||
what the program does.
|
||||
what the program does. See the
|
||||
.B \s-1PROTOCOLS\s0
|
||||
file in the distribution for further details.
|
||||
.SH FILES
|
||||
.PP
|
||||
The following default file locations may be overridden
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: convert.c,v 1.9 2004/05/21 04:15:17 bryan Exp $
|
||||
* $Id: convert.c,v 1.10 2004/05/28 01:08:28 bryan Exp $
|
||||
*
|
||||
* Copyright conserver.com, 2000
|
||||
*
|
||||
@ -41,6 +41,12 @@
|
||||
#include <master.h>
|
||||
#include <main.h>
|
||||
|
||||
#if defined(USE_LIBWRAP)
|
||||
/* we don't use it...but we link to it */
|
||||
int allow_severity;
|
||||
int deny_severity;
|
||||
#endif
|
||||
|
||||
|
||||
SECTION sections[] = {
|
||||
{(char *)0, (void *)0, (void *)0, (void *)0, (void *)0}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: group.c,v 5.301 2004/05/25 00:38:15 bryan Exp $
|
||||
* $Id: group.c,v 5.302 2004/05/27 23:40:35 bryan Exp $
|
||||
*
|
||||
* Copyright conserver.com, 2000
|
||||
*
|
||||
@ -55,6 +55,7 @@
|
||||
#include <compat.h>
|
||||
|
||||
#include <pwd.h>
|
||||
#include <grp.h>
|
||||
#if PROTOTYPES
|
||||
#include <stdarg.h>
|
||||
#else
|
||||
@ -393,11 +394,40 @@ ConsentFindUser(pCU, id)
|
||||
char *id;
|
||||
#endif
|
||||
{
|
||||
short close = 0;
|
||||
struct group *g = (struct group *)0;
|
||||
struct passwd *pwd = (struct passwd *)0;
|
||||
|
||||
for (; pCU != (CONSENTUSERS *)0; pCU = pCU->next) {
|
||||
if (strcmp(pCU->user->name, id) == 0) {
|
||||
return pCU;
|
||||
if (pCU->user->name[0] == '@' && pCU->user->name[1] != '\000') {
|
||||
if (close == 0) {
|
||||
close = 1;
|
||||
/* try to grab the primary group */
|
||||
pwd = getpwnam(id);
|
||||
}
|
||||
|
||||
/* grab the group info */
|
||||
if ((g = getgrnam(pCU->user->name + 1)) == (struct group *)0) {
|
||||
Error("ConsentFindUser(): unknown group name `%s'",
|
||||
pCU->user->name + 1);
|
||||
} else if (pwd != (struct passwd *)0 &&
|
||||
pwd->pw_gid == g->gr_gid) {
|
||||
goto donehunting;
|
||||
} else if (g->gr_mem != (char **)0) {
|
||||
char **m;
|
||||
for (m = g->gr_mem; *m != (char *)0; m++)
|
||||
if (strcmp(*m, id) == 0)
|
||||
goto donehunting;
|
||||
}
|
||||
} else if (strcmp(pCU->user->name, id) == 0) {
|
||||
goto donehunting;
|
||||
}
|
||||
}
|
||||
donehunting:
|
||||
if (close) {
|
||||
endgrent();
|
||||
endpwent();
|
||||
}
|
||||
return pCU;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: readcfg.c,v 5.176 2004/05/25 00:38:15 bryan Exp $
|
||||
* $Id: readcfg.c,v 5.177 2004/05/27 23:40:36 bryan Exp $
|
||||
*
|
||||
* Copyright conserver.com, 2000
|
||||
*
|
||||
@ -25,8 +25,6 @@
|
||||
|
||||
#include <compat.h>
|
||||
|
||||
#include <grp.h>
|
||||
|
||||
#include <cutil.h>
|
||||
#include <consent.h>
|
||||
#include <client.h>
|
||||
@ -148,17 +146,30 @@ ConsentAddUser(ppCU, id, not)
|
||||
#endif
|
||||
{
|
||||
CONSENTUSERS *u = (CONSENTUSERS *)0;
|
||||
CONSENTUSERS *p = (CONSENTUSERS *)0;
|
||||
|
||||
if ((u = ConsentFindUser(*ppCU, id)) == (CONSENTUSERS *)0) {
|
||||
if ((u = (CONSENTUSERS *)calloc(1, sizeof(CONSENTUSERS)))
|
||||
== (CONSENTUSERS *)0)
|
||||
OutOfMem();
|
||||
u->user = AddUserList(id);
|
||||
u->not = not;
|
||||
u->next = *ppCU;
|
||||
*ppCU = u;
|
||||
} else
|
||||
u->not = not;
|
||||
for (u = *ppCU; u != (CONSENTUSERS *)0; u = u->next) {
|
||||
if (strcmp(u->user->name, id) == 0) {
|
||||
u->not = not;
|
||||
/* at head of list already? */
|
||||
if (p != (CONSENTUSERS *)0) {
|
||||
/* move it */
|
||||
p->next = u->next;
|
||||
u->next = *ppCU;
|
||||
*ppCU = u;
|
||||
}
|
||||
return u;
|
||||
}
|
||||
p = u;
|
||||
}
|
||||
|
||||
if ((u = (CONSENTUSERS *)calloc(1, sizeof(CONSENTUSERS)))
|
||||
== (CONSENTUSERS *)0)
|
||||
OutOfMem();
|
||||
u->user = AddUserList(id);
|
||||
u->not = not;
|
||||
u->next = *ppCU;
|
||||
*ppCU = u;
|
||||
return u;
|
||||
}
|
||||
|
||||
@ -284,15 +295,9 @@ BreakItemDelay(id)
|
||||
}
|
||||
|
||||
/* 'group' handling */
|
||||
typedef struct parserGroupUsers {
|
||||
NAMES *user;
|
||||
short not;
|
||||
struct parserGroupUsers *next;
|
||||
} PARSERGROUPUSERS;
|
||||
|
||||
typedef struct parserGroup {
|
||||
STRING *name;
|
||||
PARSERGROUPUSERS *users;
|
||||
CONSENTUSERS *users;
|
||||
struct parserGroup *next;
|
||||
} PARSERGROUP;
|
||||
|
||||
@ -308,11 +313,12 @@ DestroyParserGroup(pg)
|
||||
#endif
|
||||
{
|
||||
PARSERGROUP **ppg = &parserGroups;
|
||||
PARSERGROUPUSERS *u = (PARSERGROUPUSERS *)0;
|
||||
char *m = (char *)0;
|
||||
|
||||
if (pg == (PARSERGROUP *)0)
|
||||
return;
|
||||
|
||||
CONDDEBUG((2, "DestroyParserGroup(): %s", pg->name->string));
|
||||
|
||||
while (*ppg != (PARSERGROUP *)0) {
|
||||
if (*ppg == pg) {
|
||||
break;
|
||||
@ -321,20 +327,14 @@ DestroyParserGroup(pg)
|
||||
}
|
||||
}
|
||||
|
||||
BuildTmpString((char *)0);
|
||||
m = BuildTmpString(pg->name->string);
|
||||
if (*ppg != (PARSERGROUP *)0)
|
||||
*ppg = pg->next;
|
||||
|
||||
DestroyString(pg->name);
|
||||
for (u = pg->users; u != (PARSERGROUPUSERS *)0;) {
|
||||
PARSERGROUPUSERS *n = u->next;
|
||||
BuildTmpStringChar(',');
|
||||
m = BuildTmpString(u->user->name);
|
||||
free(u);
|
||||
u = n;
|
||||
}
|
||||
|
||||
DestroyConsentUsers(&(pg->users));
|
||||
|
||||
free(pg);
|
||||
CONDDEBUG((2, "DestroyParserGroup(): %s", m));
|
||||
}
|
||||
|
||||
PARSERGROUP *
|
||||
@ -429,11 +429,11 @@ GroupDestroy()
|
||||
PARSERGROUP *pg;
|
||||
NAMES *u;
|
||||
for (pg = parserGroups; pg != (PARSERGROUP *)0; pg = pg->next) {
|
||||
PARSERGROUPUSERS *pgu;
|
||||
CONSENTUSERS *pcu;
|
||||
Msg("Group = %s", pg->name->string);
|
||||
for (pgu = pg->users; pgu != (PARSERGROUPUSERS *)0;
|
||||
pgu = pgu->next) {
|
||||
Msg(" User = %s", pgu->user->name);
|
||||
for (pcu = pg->users; pcu != (CONSENTUSERS *)0;
|
||||
pcu = pcu->next) {
|
||||
Msg(" User = %s", pcu->user->name);
|
||||
}
|
||||
}
|
||||
Msg("UserList...");
|
||||
@ -448,25 +448,7 @@ GroupDestroy()
|
||||
parserGroups = parserGroupTemp = (PARSERGROUP *)0;
|
||||
}
|
||||
|
||||
PARSERGROUPUSERS *
|
||||
#if PROTOTYPES
|
||||
GroupFindUser(PARSERGROUP *pg, char *id)
|
||||
#else
|
||||
GroupFindUser(pg, id)
|
||||
PARSERGROUP *pg;
|
||||
char *id;
|
||||
#endif
|
||||
{
|
||||
PARSERGROUPUSERS *pgu;
|
||||
for (pgu = pg->users; pgu != (PARSERGROUPUSERS *)0; pgu = pgu->next) {
|
||||
if (strcmp(pgu->user->name, id) == 0) {
|
||||
return pgu;
|
||||
}
|
||||
}
|
||||
return pgu;
|
||||
}
|
||||
|
||||
PARSERGROUPUSERS *
|
||||
CONSENTUSERS *
|
||||
#if PROTOTYPES
|
||||
GroupAddUser(PARSERGROUP *pg, char *id, short not)
|
||||
#else
|
||||
@ -476,21 +458,28 @@ GroupAddUser(pg, id, not)
|
||||
short not;
|
||||
#endif
|
||||
{
|
||||
PARSERGROUPUSERS *pgu = (PARSERGROUPUSERS *)0;
|
||||
|
||||
if ((pgu = GroupFindUser(pg, id)) == (PARSERGROUPUSERS *)0) {
|
||||
if ((pgu = (PARSERGROUPUSERS *)calloc(1, sizeof(PARSERGROUPUSERS)))
|
||||
== (PARSERGROUPUSERS *)0)
|
||||
OutOfMem();
|
||||
pgu->user = AddUserList(id);
|
||||
pgu->next = pg->users;
|
||||
pgu->not = not;
|
||||
pg->users = pgu;
|
||||
} else
|
||||
pgu->not = not;
|
||||
return pgu;
|
||||
return ConsentAddUser(&(pg->users), id, not);
|
||||
}
|
||||
|
||||
void
|
||||
#if PROTOTYPES
|
||||
CopyConsentUserList(CONSENTUSERS *s, CONSENTUSERS **d)
|
||||
#else
|
||||
CopyConsentUserList(CONSENTUSERS *s, CONSENTUSERS **d)
|
||||
CONSENTUSERS *s;
|
||||
CONSENTUSERS **d;
|
||||
#endif
|
||||
{
|
||||
/* we have to add things backwards, since it's an ordered list */
|
||||
if (s == (CONSENTUSERS *)0 || d == (CONSENTUSERS **)0)
|
||||
return;
|
||||
|
||||
CopyConsentUserList(s->next, d);
|
||||
|
||||
ConsentAddUser(d, s->user->name, s->not);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
#if PROTOTYPES
|
||||
GroupItemUsers(char *id)
|
||||
@ -505,12 +494,7 @@ GroupItemUsers(id)
|
||||
CONDDEBUG((1, "GroupItemUsers(%s) [%s:%d]", id, file, line));
|
||||
|
||||
if ((id == (char *)0) || (*id == '\000')) {
|
||||
PARSERGROUPUSERS *u;
|
||||
for (u = parserGroupTemp->users; u != (PARSERGROUPUSERS *)0;) {
|
||||
PARSERGROUPUSERS *n = u->next;
|
||||
free(u);
|
||||
u = n;
|
||||
}
|
||||
DestroyConsentUsers(&(parserGroupTemp->users));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -522,28 +506,10 @@ GroupItemUsers(id)
|
||||
not = 1;
|
||||
} else
|
||||
not = 0;
|
||||
if ((pg = GroupFind(token)) == (PARSERGROUP *)0) {
|
||||
if (token[0] == '@' && token[1] != '\000') {
|
||||
struct group *g;
|
||||
if ((g = getgrnam(token + 1)) == (struct group *)0) {
|
||||
if (isMaster)
|
||||
Error("unknown group name `%s': %s [%s:%d]",
|
||||
token + 1, strerror(errno), file, line);
|
||||
} else if (g->gr_mem != (char **)0) {
|
||||
char **m;
|
||||
for (m = g->gr_mem; *m != (char *)0; m++)
|
||||
GroupAddUser(parserGroupTemp, *m, not);
|
||||
}
|
||||
} else
|
||||
GroupAddUser(parserGroupTemp, token, not);
|
||||
} else {
|
||||
PARSERGROUPUSERS *pgu;
|
||||
for (pgu = pg->users; pgu != (PARSERGROUPUSERS *)0;
|
||||
pgu = pgu->next) {
|
||||
GroupAddUser(parserGroupTemp, pgu->user->name,
|
||||
(not ? !pgu->not : pgu->not));
|
||||
}
|
||||
}
|
||||
if ((pg = GroupFind(token)) == (PARSERGROUP *)0)
|
||||
GroupAddUser(parserGroupTemp, token, not);
|
||||
else
|
||||
CopyConsentUserList(pg->users, &(parserGroupTemp->users));
|
||||
}
|
||||
}
|
||||
|
||||
@ -773,18 +739,8 @@ ApplyDefault(d, c)
|
||||
if ((c->idlestring = StrDup(d->idlestring)) == (char *)0)
|
||||
OutOfMem();
|
||||
}
|
||||
if (d->ro != (CONSENTUSERS *)0) {
|
||||
CONSENTUSERS *u;
|
||||
for (u = d->ro; u != (CONSENTUSERS *)0; u = u->next) {
|
||||
ConsentAddUser(&(c->ro), u->user->name, u->not);
|
||||
}
|
||||
}
|
||||
if (d->rw != (CONSENTUSERS *)0) {
|
||||
CONSENTUSERS *u;
|
||||
for (u = d->rw; u != (CONSENTUSERS *)0; u = u->next) {
|
||||
ConsentAddUser(&(c->rw), u->user->name, u->not);
|
||||
}
|
||||
}
|
||||
CopyConsentUserList(d->ro, &(c->ro));
|
||||
CopyConsentUserList(d->rw, &(c->rw));
|
||||
}
|
||||
|
||||
void
|
||||
@ -1772,28 +1728,10 @@ ProcessRoRw(ppCU, id)
|
||||
not = 1;
|
||||
} else
|
||||
not = 0;
|
||||
if ((pg = GroupFind(token)) == (PARSERGROUP *)0) {
|
||||
if (token[0] == '@' && token[1] != '\000') {
|
||||
struct group *g;
|
||||
if ((g = getgrnam(token + 1)) == (struct group *)0) {
|
||||
if (isMaster)
|
||||
Error("unknown group name `%s': %s [%s:%d]",
|
||||
token + 1, strerror(errno), file, line);
|
||||
} else if (g->gr_mem != (char **)0) {
|
||||
char **m;
|
||||
for (m = g->gr_mem; *m != (char *)0; m++)
|
||||
ConsentAddUser(ppCU, *m, not);
|
||||
}
|
||||
} else
|
||||
ConsentAddUser(ppCU, token, not);
|
||||
} else {
|
||||
PARSERGROUPUSERS *pgu;
|
||||
for (pgu = pg->users; pgu != (PARSERGROUPUSERS *)0;
|
||||
pgu = pgu->next) {
|
||||
ConsentAddUser(ppCU, pgu->user->name,
|
||||
(not ? !pgu->not : pgu->not));
|
||||
}
|
||||
}
|
||||
if ((pg = GroupFind(token)) == (PARSERGROUP *)0)
|
||||
ConsentAddUser(ppCU, token, not);
|
||||
else
|
||||
CopyConsentUserList(pg->users, ppCU);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2275,7 +2213,6 @@ ConsoleAdd(c)
|
||||
CONSENT *pCEmatch = (CONSENT *)0;
|
||||
GRPENT *pGEmatch = (GRPENT *)0, *pGEtmp = (GRPENT *)0;
|
||||
CONSCLIENT *pCLtmp = (CONSCLIENT *)0;
|
||||
CONSENTUSERS *u;
|
||||
|
||||
/* check for remote consoles */
|
||||
if (!IsMe(c->master)) {
|
||||
@ -2688,12 +2625,8 @@ ConsoleAdd(c)
|
||||
DestroyConsentUsers(&(pCEmatch->ro));
|
||||
DestroyConsentUsers(&(pCEmatch->rw));
|
||||
/* now copy over the new stuff */
|
||||
for (u = c->ro; u != (CONSENTUSERS *)0; u = u->next) {
|
||||
ConsentAddUser(&(pCEmatch->ro), u->user->name, u->not);
|
||||
}
|
||||
for (u = c->rw; u != (CONSENTUSERS *)0; u = u->next) {
|
||||
ConsentAddUser(&(pCEmatch->rw), u->user->name, u->not);
|
||||
}
|
||||
CopyConsentUserList(c->ro, &(pCEmatch->ro));
|
||||
CopyConsentUserList(c->rw, &(pCEmatch->rw));
|
||||
|
||||
/* the code above shouldn't touch any of the "runtime" members
|
||||
* 'cause the ConsDown() code needs to be able to rely on those
|
||||
@ -3658,13 +3591,8 @@ AccessItemInclude(id)
|
||||
for (a = pa->access; a != (ACCESS *)0; a = a->pACnext) {
|
||||
AccessAddACL(parserAccessTemp, a);
|
||||
}
|
||||
if (pa->admin != (CONSENTUSERS *)0) {
|
||||
CONSENTUSERS *u;
|
||||
for (u = pa->admin; u != (CONSENTUSERS *)0; u = u->next) {
|
||||
ConsentAddUser(&(parserAccessTemp->admin),
|
||||
u->user->name, u->not);
|
||||
}
|
||||
}
|
||||
if (pa->admin != (CONSENTUSERS *)0)
|
||||
CopyConsentUserList(pa->admin, &(parserAccessTemp->admin));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: version.h,v 1.62 2004/05/23 16:44:45 bryan Exp $
|
||||
* $Id: version.h,v 1.63 2004/05/28 17:59:37 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 8.1.6"
|
||||
#define THIS_VERSION "conserver.com version 8.1.7"
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\" $Id: console.man,v 1.51 2004/05/25 00:38:15 bryan Exp $
|
||||
.TH CONSOLE 1 "2004/05/25" "conserver-8.1.6" "conserver"
|
||||
.\" $Id: console.man,v 1.54 2004/05/28 00:02:16 bryan Exp $
|
||||
.TH CONSOLE 1 "2004/05/28" "conserver-8.1.7" "conserver"
|
||||
.SH NAME
|
||||
console \- console server client program
|
||||
.SH SYNOPSIS
|
||||
@ -441,27 +441,24 @@ The configuration file is read using the same parser as
|
||||
and you should check that manpage for parser details.
|
||||
.B Console
|
||||
recognizes the following configuration blocks.
|
||||
.TP 8
|
||||
.B config
|
||||
.RI [ " hostname " | " ipaddr " ]
|
||||
.TP
|
||||
\f3config\fP \f2hostname\fP|\f2ipaddr\fP
|
||||
.br
|
||||
Define a configuration block for the host named
|
||||
Define a configuration block for the client host named
|
||||
.I hostname
|
||||
or using the address
|
||||
.IR ipaddr .
|
||||
If the value of ``*'' is used, the configuration block will be applied to
|
||||
all hosts.
|
||||
all client hosts.
|
||||
.RS
|
||||
.TP 15
|
||||
.B escape
|
||||
.I esc
|
||||
.TP
|
||||
\f3escape\fP \f2esc\fP
|
||||
.br
|
||||
Set the escape sequence (see the
|
||||
.B \-e
|
||||
command-line flag).
|
||||
.TP
|
||||
.B master
|
||||
.I master
|
||||
\f3master\fP \f2master\fP
|
||||
.br
|
||||
Set the default master to
|
||||
.I master
|
||||
@ -469,8 +466,7 @@ Set the default master to
|
||||
.B \-M
|
||||
command-line flag).
|
||||
.TP
|
||||
.B port
|
||||
.I port
|
||||
\f3port\fP \f2port\fP
|
||||
.br
|
||||
Set the default port to
|
||||
.I port
|
||||
@ -478,8 +474,7 @@ Set the default port to
|
||||
.B \-p
|
||||
command-line flag).
|
||||
.TP
|
||||
.B sslcredentials
|
||||
.I filename
|
||||
\f3sslcredentials\fP \f2filename\fP
|
||||
.br
|
||||
Set the
|
||||
.SM SSL
|
||||
@ -487,36 +482,26 @@ credentials file location (see the
|
||||
.B \-c
|
||||
command-line flag).
|
||||
.TP
|
||||
.B sslenabled
|
||||
.RB [ " yes " | " true "
|
||||
.RB | " on " | " no "
|
||||
.RB | " false " | " off " ]
|
||||
\f3sslenabled\fP \f3yes\fP|\f3true\fP|\f3on\fP|\f3no\fP|\f3false\fP|\f3off\fP
|
||||
.br
|
||||
Set whether or not encryption is attempted when talking to servers (see the
|
||||
.B \-E
|
||||
command-line flag).
|
||||
.TP
|
||||
.B sslrequired
|
||||
.RB [ " yes " | " true "
|
||||
.RB | " on " | " no "
|
||||
.RB | " false " | " off " ]
|
||||
\f3sslrequired\fP \f3yes\fP|\f3true\fP|\f3on\fP|\f3no\fP|\f3false\fP|\f3off\fP
|
||||
.br
|
||||
Set whether or not encryption is required when talking to servers (see the
|
||||
.B \-U
|
||||
command-line flag).
|
||||
.TP
|
||||
.B striphigh
|
||||
.RB [ " yes " | " true "
|
||||
.RB | " on " | " no "
|
||||
.RB | " false " | " off " ]
|
||||
\f3striphigh\fP \f3yes\fP|\f3true\fP|\f3on\fP|\f3no\fP|\f3false\fP|\f3off\fP
|
||||
.br
|
||||
Set whether or not to strip the high bit off all data received
|
||||
(see the
|
||||
.B \-7
|
||||
command-line flag).
|
||||
.TP
|
||||
.B username
|
||||
.I user
|
||||
\f3username\fP \f2user\fP
|
||||
.br
|
||||
Set the username passed to the server to
|
||||
.I user
|
||||
@ -524,19 +509,16 @@ Set the username passed to the server to
|
||||
.B \-l
|
||||
command-line flag).
|
||||
.RE
|
||||
.TP 8
|
||||
.B terminal
|
||||
.I type
|
||||
.TP
|
||||
\f3terminal\fP \f2type\fP
|
||||
.br
|
||||
Define a configuration block when using a terminal of type
|
||||
.IR type .
|
||||
If the value of ``*'' is used, the configuration block will be applied to
|
||||
all terminal types.
|
||||
.RS
|
||||
.TP 15
|
||||
.B attach
|
||||
.RI [ " string "
|
||||
| "" ]
|
||||
.TP
|
||||
\f3attach\fP \f2string\fP|\f3""\fP
|
||||
.br
|
||||
Set a
|
||||
.I string
|
||||
@ -546,7 +528,7 @@ Character substitions will be performed based on the
|
||||
value and occur
|
||||
.I before
|
||||
interpretation of the special characters below.
|
||||
If the null string (``""'') is used, no string will be printed.
|
||||
If the null string (``\f3""\fP'') is used, no string will be printed.
|
||||
.I string
|
||||
is a simple character string with the exception of `\e'
|
||||
and `^':
|
||||
@ -619,16 +601,14 @@ terminal xterm {
|
||||
.ft
|
||||
.RE
|
||||
.TP
|
||||
.B attachsubst
|
||||
[\f2c\fP=\f2t\fP[\f2n\fP]\f2f\fP[,...]
|
||||
| "" ]
|
||||
\f3attachsubst\fP \f2c\fP\f3=\fP\f2t\fP[\f2n\fP]\f2f\fP[\f3,\fP...]|\f3""\fP
|
||||
.br
|
||||
Perform character substitutions on the
|
||||
.B attach
|
||||
value.
|
||||
A series of replacements can be defined by specifying a
|
||||
comma-separated list of
|
||||
\f2c\fP=\f2t\fP[\f2n\fP]\f2f\fP
|
||||
\f2c\fP\f3=\fP\f2t\fP[\f2n\fP]\f2f\fP
|
||||
sequences where
|
||||
.I c
|
||||
is any printable character,
|
||||
@ -680,11 +660,9 @@ begins with a 0, and space characters otherwise.
|
||||
.I f
|
||||
must be either `d', `x' or `X', specifying a decimal, lower-case
|
||||
hexadecimal, or an uppercase hexadecimal conversion.
|
||||
If the null string (``""'') is used, no replacements will be done.
|
||||
.TP 15
|
||||
.B detach
|
||||
.RI [ " string "
|
||||
| "" ]
|
||||
If the null string (``\f3""\fP'') is used, no replacements will be done.
|
||||
.TP
|
||||
\f3detach\fP \f2string\fP|\f3""\fP
|
||||
.br
|
||||
Set a
|
||||
.I string
|
||||
@ -696,11 +674,9 @@ See the
|
||||
.B attach
|
||||
option for an explanation of
|
||||
.IR string .
|
||||
If the null string (``""'') is used, no string will be printed.
|
||||
If the null string (``\f3""\fP'') is used, no string will be printed.
|
||||
.TP
|
||||
.B detachsubst
|
||||
[\f2c\fP=\f2t\fP[\f2n\fP]\f2f\fP[,...]
|
||||
| "" ]
|
||||
\f3detachsubst\fP \f2c\fP\f3=\fP\f2t\fP[\f2n\fP]\f2f\fP[\f3,\fP...]|\f3""\fP
|
||||
.br
|
||||
Perform character substitutions on the
|
||||
.B detach
|
||||
@ -834,7 +810,7 @@ specify three octal digits)
|
||||
If any other character is hit after the escape sequence, all three characters
|
||||
will be discarded.
|
||||
Note that a line break or a down command
|
||||
can only be sent from a full two-way attachment.
|
||||
can only be sent from a read-write connection.
|
||||
To send the escape sequence through the connection one must redefine
|
||||
the outer escape sequence, or use
|
||||
.BI ^Ec\e ooo
|
||||
@ -845,16 +821,16 @@ In the
|
||||
.B \-u
|
||||
output, the login ``<none>'' indicates no one is
|
||||
viewing that console, and the login ``<spies>'' indicates that
|
||||
no one has a full two-way attachment.
|
||||
no one has a read-write connection (only read-only).
|
||||
.PP
|
||||
When running a local command via
|
||||
.RB `` ^Ec| '',
|
||||
you can type
|
||||
.B ^C
|
||||
.RB ` ^C '
|
||||
to send the command a SIGHUP,
|
||||
.B ^\e
|
||||
.RB ` ^\e '
|
||||
to send the command a SIGKILL, and
|
||||
.B o
|
||||
.RB ` o '
|
||||
to toggle the display of the console data.
|
||||
.SH EXAMPLES
|
||||
.TP 15
|
||||
@ -920,7 +896,7 @@ to see the defaults set at compile time.
|
||||
.B /etc/console.cf
|
||||
system-wide configuration file
|
||||
.TP
|
||||
.B $HOME/.consolerc
|
||||
.B \s-1$HOME\s0/.consolerc
|
||||
per-user configuration file
|
||||
.PD
|
||||
.SH BUGS
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
|
||||
%define pkg conserver
|
||||
%define ver 8.1.6
|
||||
%define ver 8.1.7
|
||||
|
||||
# define the name of the machine on which the main conserver
|
||||
# daemon will be running if you don't want to use the default
|
||||
|
@ -1,7 +1,7 @@
|
||||
PKG="conserver"
|
||||
NAME="Console server and client"
|
||||
CATEGORY="system"
|
||||
VERSION="8.1.6"
|
||||
VERSION="8.1.7"
|
||||
DESC="Console server and client"
|
||||
CLASSES=none
|
||||
ARCH=sparc
|
||||
|
Loading…
Reference in New Issue
Block a user