1
0
mirror of https://github.com/openbsd/src.git synced 2025-01-10 06:47:55 -08:00

The troll strikes.. The troll strikes.. The dungeon master dies.distrib/sets/lists

This commit is contained in:
deraadt 2002-05-23 18:42:59 +00:00
parent d7b6bc7b56
commit f53dc9f68f
39 changed files with 35 additions and 726 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: 4.4BSD.dist,v 1.126 2002/05/21 07:44:34 deraadt Exp $
# $OpenBSD: 4.4BSD.dist,v 1.127 2002/05/23 18:43:00 deraadt Exp $
/set type=dir uname=root gname=wheel mode=0755
# .
@ -179,11 +179,6 @@ bin
# ./usr/games
games
# ./usr/games/hide
hide gname=games uname=root mode=0550
# ./usr/games/hide
..
# ./usr/games
..

View File

@ -1,4 +1,4 @@
# $OpenBSD: 4.4BSD.usr,v 1.15 1999/01/18 19:06:46 millert Exp $
# $OpenBSD: 4.4BSD.usr,v 1.16 2002/05/23 18:43:00 deraadt Exp $
# $NetBSD: 4.4BSD.usr,v 1.3 1996/05/12 23:30:37 thorpej Exp $
#
# user: bostic
@ -239,13 +239,6 @@ rnews type=dir
# ./games
/set type=file gname=wheel uname=root mode=0755
games type=dir
# ./games/hide
/set type=file gname=bin uname=games mode=04700
hide type=dir gname=games mode=0700
# ./games/hide
..
# ./games
..

View File

@ -1,4 +1,4 @@
# $OpenBSD: special,v 1.42 2002/05/16 17:42:09 millert Exp $
# $OpenBSD: special,v 1.43 2002/05/23 18:43:00 deraadt Exp $
# $NetBSD: special,v 1.4 1996/05/08 21:30:18 pk Exp $
# @(#)special 8.2 (Berkeley) 1/23/94
#
@ -104,8 +104,6 @@ usr type=dir mode=0755 uname=root gname=wheel
bin type=dir mode=0755 uname=root gname=wheel ignore
.. #usr/bin
games type=dir mode=0755 uname=root gname=wheel optional
hide type=dir mode=0550 uname=root gname=games optional ignore
.. #usr/games/hide
.. #usr/games
include type=dir mode=0755 uname=root gname=bin ignore
.. #usr/include

View File

@ -1,11 +1,11 @@
# $OpenBSD: Makefile,v 1.8 1999/02/01 06:58:25 d Exp $
# $OpenBSD: Makefile,v 1.9 2002/05/23 18:42:59 deraadt Exp $
# Missing: ching dungeon warp
# Moved: chess
# Don't belong: xneko xroach
SUBDIR= adventure arithmetic atc backgammon banner battlestar bcd boggle \
bs caesar canfield cribbage dm factor fish fortune gomoku grdc hack \
bs caesar canfield cribbage factor fish fortune gomoku grdc hack \
hangman hunt larn mille monop morse number phantasia pig pom ppt \
primes quiz rain random robots rogue sail snake tetris trek wargames \
worm worms wump

View File

@ -1,9 +1,4 @@
# $OpenBSD: Makefile.inc,v 1.4 1997/09/21 11:35:10 deraadt Exp $
# $OpenBSD: Makefile.inc,v 1.5 2002/05/23 18:42:59 deraadt Exp $
BINGRP?= games
.if defined(HIDEGAME)
BINDIR?= /usr/games/hide
BINMODE?= 550
.else
BINDIR?= /usr/games
.endif

View File

@ -1,9 +1,8 @@
# $OpenBSD: Makefile,v 1.4 2001/02/04 06:07:20 pjanzen Exp $
# $OpenBSD: Makefile,v 1.5 2002/05/23 18:42:59 deraadt Exp $
PROG= adventure
SRCS= main.c init.c done.c save.c subr.c vocab.c wizard.c io.c data.c crc.c
MAN= adventure.6
HIDEGAME=hidegame
CLEANFILES+=setup data.c
data.c: glorkz setup

View File

@ -1,7 +1,6 @@
# $OpenBSD: Makefile,v 1.2 1997/09/21 11:35:16 deraadt Exp $
# $OpenBSD: Makefile,v 1.3 2002/05/23 18:43:00 deraadt Exp $
PROG= arithmetic
MAN= arithmetic.6
HIDEGAME=hidegame
.include <bsd.prog.mk>

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.10 2001/02/04 02:15:28 pjanzen Exp $
# $OpenBSD: Makefile,v 1.11 2002/05/23 18:43:00 deraadt Exp $
PROG= atc
CFLAGS+=-I${.CURDIR} -I.
@ -11,7 +11,6 @@ GAMES= Game_List Killer crossover default easy game_2 \
Atlantis OHare Tic-Tac-Toe airports box crosshatch game_3 \
game_4 novice two-corners
CLEANFILES=grammar.c y.tab.h lex.c
HIDEGAME=hidegame
beforeinstall:
@if [ ! -d ${DESTDIR}/usr/share/games/atc ]; then \

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.7 1998/07/24 00:10:16 millert Exp $
# $OpenBSD: Makefile,v 1.8 2002/05/23 18:43:00 deraadt Exp $
# @(#)Makefile 8.1 (Berkeley) 5/31/93
PROG= backgammon
@ -9,7 +9,6 @@ MAN= backgammon.6
DPADD= ${LIBCURSES}
LDADD= -lcurses
.PATH: ${.CURDIR}/../common_source
HIDEGAME=hidegame
.include "../../Makefile.inc"
.include <bsd.prog.mk>

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.8 2001/01/28 23:41:40 niklas Exp $
# $OpenBSD: Makefile,v 1.9 2002/05/23 18:43:00 deraadt Exp $
# $NetBSD: Makefile,v 1.5 1995/03/21 15:06:07 cgd Exp $
PROG= teachgammon
@ -7,7 +7,6 @@ SRCS= allow.c board.c check.c data.c fancy.c init.c odds.c one.c save.c \
subs.c table.c teach.c ttext1.c ttext2.c tutor.c
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
NOMAN= noman
.PATH: ${.CURDIR}/../common_source

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.6 1998/07/24 00:10:19 millert Exp $
# $OpenBSD: Makefile,v 1.7 2002/05/23 18:43:00 deraadt Exp $
PROG= battlestar
SRCS= battlestar.c com1.c com2.c com3.c com4.c com5.c com6.c com7.c \
@ -7,7 +7,6 @@ SRCS= battlestar.c com1.c com2.c com3.c com4.c com5.c com6.c com7.c \
MAN= battlestar.6
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
BINGRP= games
beforeinstall:

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.4 1998/07/24 00:10:20 millert Exp $
# $OpenBSD: Makefile,v 1.5 2002/05/23 18:43:00 deraadt Exp $
# $NetBSD: Makefile,v 1.3 1995/03/21 12:14:28 cgd Exp $
# @(#)Makefile 8.1 (Berkeley) 6/11/93
@ -6,7 +6,6 @@ PROG= boggle
SRCS= bog.c help.c mach.c prtable.c timer.c word.c
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
MAN= boggle.6
beforeinstall:

View File

@ -1,9 +1,8 @@
# $OpenBSD: Makefile,v 1.7 1999/09/25 16:20:37 pjanzen Exp $
# $OpenBSD: Makefile,v 1.8 2002/05/23 18:43:00 deraadt Exp $
PROG= bs
MAN= bs.6
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
.include <bsd.prog.mk>

View File

@ -1,11 +1,10 @@
# $OpenBSD: Makefile,v 1.6 2000/07/23 21:53:45 pjanzen Exp $
# $OpenBSD: Makefile,v 1.7 2002/05/23 18:43:00 deraadt Exp $
# @(#)Makefile 8.1 (Berkeley) 5/31/93
PROG= canfield
MAN= canfield.6
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
MLINKS= canfield.6 cfscores.6
beforeinstall:

View File

@ -1,10 +1,9 @@
# $OpenBSD: Makefile,v 1.2 2000/07/23 21:49:07 pjanzen Exp $
# $OpenBSD: Makefile,v 1.3 2002/05/23 18:43:00 deraadt Exp $
# @(#)Makefile 8.1 (Berkeley) 5/31/93
PROG= cfscores
CFLAGS+=-I${.CURDIR}/../canfield
NOMAN= noman
HIDEGAME=hidegame
.include "../../Makefile.inc"
.include <bsd.prog.mk>

View File

@ -1,11 +1,10 @@
# $OpenBSD: Makefile,v 1.6 1998/07/24 00:10:25 millert Exp $
# $OpenBSD: Makefile,v 1.7 2002/05/23 18:43:00 deraadt Exp $
PROG= cribbage
DPADD= ${LIBCURSES}
LDADD= -lcurses
SRCS= extern.c crib.c cards.c instr.c io.c score.c support.c
MAN= cribbage.6
HIDEGAME=hidegame
beforeinstall:
${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 \

View File

@ -1,10 +0,0 @@
# $OpenBSD: Makefile,v 1.3 1997/09/21 11:35:48 deraadt Exp $
# -DLOG log games
PROG= dm
MAN= dm.8 dm.conf.5
# shouldn't be necessary; just in case.
BINGRP= games
BINMODE=2555
.include <bsd.prog.mk>

View File

@ -1,111 +0,0 @@
.\" $OpenBSD: dm.8,v 1.2 1998/09/06 12:14:04 pjanzen Exp $
.\"
.\" Copyright (c) 1987, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)dm.8 8.1 (Berkeley) 5/31/93
.\"
.Dd May 31, 1993
.Dt DM 8
.Os
.Sh NAME
.Nm dm
.Nd dungeon master
.Sh SYNOPSIS
.Nm ln
.Fl s Cm dm Ar game
.Sh DESCRIPTION
.Nm Dm
is a program used to regulate game playing.
.Nm Dm
expects to be invoked with the name of a game that a user wishes to play.
This is done by creating symbolic links to
.Nm dm
in the directory
.Pa /usr/games
for all of the regulated games.
The actual binaries for these games should be placed in a
.Dq hidden
directory,
.Pa /usr/games/hide ,
that may only be accessed by the
.Nm
program.
.Nm Dm
determines if the requested game is available and, if so, runs it.
The file
.Pa /etc/dm.conf
controls the conditions under which games may
be run.
.Pp
The file
.Pa /etc/nogames
may be used to
.Dq turn off
game playing.
If the file exists, no game playing is allowed; the contents of the file
will be displayed to any user requesting a game.
.Sh FILES
.Bl -tag -width /var/log/games.log -compact
.It Pa /etc/dm.conf
configuration file
.It Pa /etc/nogames
turns off game playing
.It Pa /usr/games/hide
directory of actual binaries
.It Pa /var/log/games.log
game logging file (if logging was compiled in)
.El
.Sh SEE ALSO
.Xr dm.conf 5
.Sh HISTORY
The
.Nm
command appeared in
.Bx 4.3 tahoe .
.Sh SECURITY CONSIDERATIONS
Some issues arise from
.Nm
running the games setgid
.Dq games .
All games that allow users to run
.Ux
commands should carefully
set both the real and effective group id's before executing
those commands.
Probably more important is that
.Nm
never be setgid anything but
.Dq games
so that compromising a game will result only in
the user's ability to play games at will.
Also, games which previously had no reason to run setgid and which
accessed user files may have to be modified.

View File

@ -1,358 +0,0 @@
/* $OpenBSD: dm.c,v 1.14 2002/02/16 21:27:09 millert Exp $ */
/* $NetBSD: dm.c,v 1.5 1996/02/06 22:47:20 jtc Exp $ */
/*
* Copyright (c) 1987, 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef lint
static char copyright[] =
"@(#) Copyright (c) 1987, 1993\n\
The Regents of the University of California. All rights reserved.\n";
#endif /* not lint */
#ifndef lint
#if 0
static char sccsid[] = "@(#)dm.c 8.1 (Berkeley) 5/31/93";
#else
static char rcsid[] = "$OpenBSD: dm.c,v 1.14 2002/02/16 21:27:09 millert Exp $";
#endif
#endif /* not lint */
#include <sys/param.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <ctype.h>
#include <err.h>
#include <errno.h>
#include <fcntl.h>
#include <pwd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <utmp.h>
#include "pathnames.h"
static time_t now; /* current time value */
static int priority = 0; /* priority game runs at */
static char *game, /* requested game */
*gametty; /* from tty? */
void c_day(const char *, const char *, const char *);
void c_game(const char *, const char *, const char *, const char *);
void c_tty(const char *);
const char *hour(int);
double load(void);
int main(int, char *[]);
void nogamefile(void);
void play(char **);
void read_config(void);
int users(void);
#ifdef LOG
void logfile(void);
#endif
int
main(argc, argv)
int argc;
char *argv[];
{
char *cp;
nogamefile();
game = (cp = strrchr(*argv, '/')) ? ++cp : *argv;
if (!strcmp(game, "dm"))
exit(0);
gametty = ttyname(0);
unsetenv("TZ");
(void)time(&now);
read_config();
#ifdef LOG
logfile();
#endif
play(argv);
/*NOTREACHED*/
}
/*
* play --
* play the game
*/
void
play(args)
char **args;
{
char pbuf[MAXPATHLEN];
if (sizeof(_PATH_HIDE) + strlen(game) > sizeof(pbuf)) {
(void)fprintf(stderr, "dm: %s/%s: %s\n", _PATH_HIDE, game,
strerror(ENAMETOOLONG));
exit(1);
}
(void)strcpy(pbuf, _PATH_HIDE);
(void)strcpy(pbuf + sizeof(_PATH_HIDE) - 1, game);
if (priority > 0) /* < 0 requires root */
(void)setpriority(PRIO_PROCESS, 0, priority);
execv(pbuf, args);
(void)fprintf(stderr, "dm: %s: %s\n", pbuf, strerror(errno));
/* use fprintf(stderr, "dm: ...) for error conditions in dm.
* use err() and family for denied games, since then you get
* the actual name of the game in the output message.
*/
exit(1);
}
/*
* read_config --
* read through config file, looking for key words.
*/
void
read_config()
{
FILE *cfp;
char lbuf[BUFSIZ], f1[41], f2[41], f3[41], f4[41], f5[41];
if (!(cfp = fopen(_PATH_CONFIG, "r")))
return;
while (fgets(lbuf, sizeof(lbuf), cfp))
switch (*lbuf) {
case 'b': /* badtty */
if (sscanf(lbuf, "%40s%40s", f1, f2) != 2 ||
strcasecmp(f1, "badtty"))
break;
c_tty(f2);
break;
case 'g': /* game */
if (sscanf(lbuf, "%40s%40s%40s%40s%40s",
f1, f2, f3, f4, f5) != 5 || strcasecmp(f1, "game"))
break;
c_game(f2, f3, f4, f5);
break;
case 't': /* time */
if (sscanf(lbuf, "%40s%40s%40s%40s", f1, f2, f3, f4) != 4 ||
strcasecmp(f1, "time"))
break;
c_day(f2, f3, f4);
}
(void)fclose(cfp);
}
/*
* c_day --
* if day is today, see if okay to play
*/
void
c_day(s_day, s_start, s_stop)
const char *s_day, *s_start, *s_stop;
{
static const char *const days[] = {
"sunday", "monday", "tuesday", "wednesday",
"thursday", "friday", "saturday",
};
static struct tm *ct;
int start, stop;
if (!ct)
ct = localtime(&now);
if (strcasecmp(s_day, days[ct->tm_wday]))
return;
if (!isdigit(*s_start) || !isdigit(*s_stop))
return;
start = atoi(s_start);
stop = atoi(s_stop);
if (ct->tm_hour >= start && ct->tm_hour < stop) {
if (start == 0 && stop == 24)
errx(0, "Sorry, games are not available today.");
else
errx(0, "Sorry, games are not available from %s to %s today.",
hour(start), hour(stop));
}
}
/*
* c_tty --
* decide if this tty can be used for games.
*/
void
c_tty(tty)
const char *tty;
{
static int first = 1;
static char *p_tty;
if (first) {
p_tty = strrchr(gametty, '/');
first = 0;
}
if (!strcmp(gametty, tty) || (p_tty && !strcmp(p_tty, tty)))
errx(0, "Sorry, you may not play games on %s.", gametty);
}
/*
* c_game --
* see if game can be played now.
*/
void
c_game(s_game, s_load, s_users, s_priority)
const char *s_game, *s_load, *s_users, *s_priority;
{
static int found;
if (found)
return;
if (strcmp(game, s_game) && strcasecmp("default", s_game))
return;
++found;
if (isdigit(*s_load) && atoi(s_load) < load())
errx(0, "Sorry, the load average is too high right now.");
if (isdigit(*s_users) && atoi(s_users) <= users())
errx(0, "Sorry, there are too many users logged on right now.");
if (isdigit(*s_priority))
priority = atoi(s_priority);
}
/*
* load --
* return 15 minute load average
*/
double
load()
{
double avenrun[3];
if (getloadavg(avenrun, sizeof(avenrun)/sizeof(avenrun[0])) < 0) {
(void)fputs("dm: getloadavg() failed.\n", stderr);
exit(1);
}
return (avenrun[2]);
}
/*
* users --
* return current number of users
* todo: check idle time; if idle more than X minutes, don't
* count them.
*/
int
users()
{
int nusers, utmp;
struct utmp buf;
if ((utmp = open(_PATH_UTMP, O_RDONLY, 0)) < 0) {
(void)fprintf(stderr, "dm: %s: %s\n",
_PATH_UTMP, strerror(errno));
exit(1);
}
for (nusers = 0; read(utmp, (char *)&buf, sizeof(struct utmp)) > 0;)
if (buf.ut_name[0] != '\0')
++nusers;
return (nusers);
}
void
nogamefile()
{
int fd, n;
char buf[BUFSIZ];
if ((fd = open(_PATH_NOGAMES, O_RDONLY, 0)) >= 0) {
#define MESG "Sorry, no games right now.\n\n"
(void)write(2, MESG, sizeof(MESG) - 1);
while ((n = read(fd, buf, sizeof(buf))) > 0)
(void)write(2, buf, n);
exit(1);
}
}
/*
* hour --
* print out the hour in human form
*/
const char *
hour(h)
int h;
{
static const char *const hours[] = {
"midnight", "1am", "2am", "3am", "4am", "5am",
"6am", "7am", "8am", "9am", "10am", "11am",
"noon", "1pm", "2pm", "3pm", "4pm", "5pm",
"6pm", "7pm", "8pm", "9pm", "10pm", "11pm", "midnight" };
if (h < 0 || h > 24)
return ("BAD TIME");
else
return (hours[h]);
}
#ifdef LOG
/*
* logfile --
* log play of game
*/
void
logfile()
{
struct passwd *pw;
FILE *lp;
uid_t uid;
int lock_cnt;
if (lp = fopen(_PATH_LOG, "a")) {
for (lock_cnt = 0;; ++lock_cnt) {
if (!flock(fileno(lp), LOCK_EX))
break;
if (lock_cnt == 4) {
perror("dm: log lock");
(void)fclose(lp);
return;
}
sleep((u_int)1);
}
if (pw = getpwuid(uid = getuid()))
(void)fputs(pw->pw_name, lp);
else
(void)fprintf(lp, "%u", uid);
(void)fprintf(lp, "\t%s\t%s\t%s", game, gametty, ctime(&now));
(void)flock(fileno(lp), LOCK_UN);
(void)fclose(lp);
}
}
#endif /* LOG */

View File

@ -1,121 +0,0 @@
.\" $OpenBSD: dm.conf.5,v 1.4 1999/05/23 14:11:04 aaron Exp $
.\"
.\" Copyright (c) 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)dm.conf.5 8.1 (Berkeley) 5/31/93
.\"
.Dd May 31, 1993
.Dt DM.CONF 5
.Os
.Sh NAME
.Nm dm.conf
.Nd dungeon master configuration file
.Sh DESCRIPTION
The
.Nm
file is the configuration file for
.Xr dm 8 .
It consists of lines beginning with one of three keywords,
.Em badtty ,
.Em game ,
and
.Em time .
All other lines are ignored.
.Pp
Any tty listed after the keyword
.Em badtty
may not have games played on it.
Entries consist of two white-space separated fields: the string
.Em badtty
and the ttyname as returned by
.Xr ttyname 3 .
For example,
to keep the uucp dialout,
.Dq tty19 ,
from being used for games, the entry would be:
.Bd -literal -offset indent
badtty /dev/tty19
.Ed
.Pp
Any day/hour combination listed after the keyword
.Em time
will disallow games during those hours.
Entries consist of four white-space separated fields: the string
.Em time ,
the unabbreviated day of the week, and the beginning and ending times
of a period of the day when games may not be played.
The time fields are in a 0 based, 24-hour clock.
For example, the following entry allows games playing before 8AM
and after 5PM on Mondays.
.Bd -literal -offset indent
time Monday 8 17
.Ed
.Pp
Any game listed after the keyword
.Em game
will set parameters for a specific game.
Entries consist of five white-space separated fields: the keyword
.Em game ,
the name of a game, the highest system load average at which the
game may be played, the maximum users allowed if the game is to be
played, and the priority at which the game is to be run.
Any of these fields may start with a non-numeric character, resulting
in no game limitation or priority based on that field.
.Pp
The game
.Em default
controls the settings for
any game not otherwise listed, and must be the last
.Em game
entry in the file.
Priorities may not be negative.
For example, the following entries
limit the game
.Xr hack 6
to running only when the system has 10 or fewer users
and a load average of 5 or less; all other games may be run any time
the system has 15 or fewer users.
.Bd -literal -offset indent
game hack 5 10 *
game default * 15 *
.Ed
.Sh FILES
.Bl -tag -width /etc/dm.conf -compact
.It Pa /etc/dm.conf
The
.Xr dm 8
configuration file.
.El
.Sh SEE ALSO
.Xr setpriority 2 ,
.Xr ttyname 3 ,
.Xr dm 8

View File

@ -1,42 +0,0 @@
/* $OpenBSD: pathnames.h,v 1.2 1998/09/06 12:14:05 pjanzen Exp $ */
/* $NetBSD: pathnames.h,v 1.3 1995/03/21 15:09:08 cgd Exp $ */
/*
* Copyright (c) 1989, 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)pathnames.h 8.1 (Berkeley) 5/31/93
*/
#define _PATH_CONFIG "/etc/dm.conf"
#define _PATH_HIDE "/usr/games/hide/"
#define _PATH_LOG "/var/log/games.log"
#define _PATH_NOGAMES "/etc/nogames"

View File

@ -1,8 +1,7 @@
# $OpenBSD: Makefile,v 1.4 1997/09/21 11:35:54 deraadt Exp $
# $OpenBSD: Makefile,v 1.5 2002/05/23 18:43:00 deraadt Exp $
PROG= fish
MAN= fish.6
HIDEGAME=hidegame
beforeinstall:
${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 \

View File

@ -1,10 +1,9 @@
# $OpenBSD: Makefile,v 1.4 1998/07/24 00:10:26 millert Exp $
# $OpenBSD: Makefile,v 1.5 2002/05/23 18:43:00 deraadt Exp $
PROG= gomoku
SRCS= bdinit.c bdisp.c main.c makemove.c pickmove.c stoc.c
MAN= gomoku.6
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
.include <bsd.prog.mk>

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.11 2002/05/11 00:20:18 espie Exp $
# $OpenBSD: Makefile,v 1.12 2002/05/23 18:43:00 deraadt Exp $
PROG= hack
CFLAGS+=-I.
@ -17,7 +17,6 @@ SRCS+= alloc.c hack.Decl.c hack.apply.c hack.bones.c hack.c hack.cmd.c \
MAN= hack.6
DPADD+= ${LIBCURSES}
LDADD+= -lcurses
HIDEGAME=hidegame
CLEANFILES+=hack.onames.h makedefs
${PROG}: hack.onames.h

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.4 1998/07/24 00:10:32 millert Exp $
# $OpenBSD: Makefile,v 1.5 2002/05/23 18:43:00 deraadt Exp $
PROG= hangman
SRCS= endgame.c extern.c getguess.c getword.c main.c playgame.c \
@ -6,7 +6,6 @@ SRCS= endgame.c extern.c getguess.c getword.c main.c playgame.c \
MAN= hangman.6
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
.include <bsd.prog.mk>

View File

@ -1,12 +1,11 @@
# $NetBSD: Makefile,v 1.5 1998/02/18 22:37:31 jtc Exp $
# $OpenBSD: Makefile,v 1.6 1999/12/12 14:53:02 d Exp $
# $OpenBSD: Makefile,v 1.7 2002/05/23 18:43:00 deraadt Exp $
PROG= hunt
SRCS= connect.c hunt.c otto.c playit.c display.c list.c
MAN= hunt.6
LDADD= -lcurses
DPADD= ${LIBCURSES}
HIDEGAME=hidegame
CPPFLAGS+=-I${.CURDIR}/../huntd

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.12 2000/06/29 07:55:39 pjanzen Exp $
# $OpenBSD: Makefile,v 1.13 2002/05/23 18:43:00 deraadt Exp $
# EXTRA
# Incorporates code to gather additional performance statistics
@ -48,7 +48,6 @@ SRCS= main.c object.c create.c tok.c display.c global.c data.c io.c \
signal.c moreobj.c movem.c regen.c fortune.c savelev.c
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
beforeinstall:
(cd ${.CURDIR}/datfiles; ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} \

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.5 1998/07/24 00:10:34 millert Exp $
# $OpenBSD: Makefile,v 1.6 2002/05/23 18:43:00 deraadt Exp $
PROG= mille
SRCS= comp.c end.c extern.c init.c mille.c misc.c move.c print.c \
@ -6,6 +6,5 @@ SRCS= comp.c end.c extern.c init.c mille.c misc.c move.c print.c \
DPADD= ${LIBCURSES}
LDADD= -lcurses
MAN= mille.6
HIDEGAME=hidegame
.include <bsd.prog.mk>

View File

@ -1,10 +1,9 @@
# $OpenBSD: Makefile,v 1.6 1998/09/20 23:36:48 pjanzen Exp $
# $OpenBSD: Makefile,v 1.7 2002/05/23 18:43:00 deraadt Exp $
PROG= monop
SRCS= monop.c cards.c execute.c getinp.c houses.c jail.c misc.c morg.c \
print.c prop.c rent.c roll.c spec.c trade.c
MAN= monop.6
HIDEGAME=hidegame
CLEANFILES+=initdeck cards.pck
monop: cards.pck

View File

@ -1,11 +1,10 @@
# $OpenBSD: Makefile,v 1.13 1998/11/29 19:56:54 pjanzen Exp $
# $OpenBSD: Makefile,v 1.14 2002/05/23 18:43:00 deraadt Exp $
PROG= phantasia
SRCS= main.c fight.c io.c interplayer.c gamesupport.c misc.c phantglobs.c
CFLAGS+=-DTERMIOS
DPADD= ${LIBM} ${LIBCURSES}
LDADD= -lm -lcurses
HIDEGAME=hidegame
MAN= phantasia.6
CLEANFILES+=map setup setup.o phantglobs.o.bld

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.4 1997/09/21 11:36:46 deraadt Exp $
# $OpenBSD: Makefile,v 1.5 2002/05/23 18:43:00 deraadt Exp $
PROG= quiz
MAN= quiz.6
@ -7,7 +7,6 @@ CATS= africa america areas arith asia babies bard chinese collectives \
ed elements europe flowers greek inca index latin locomotive \
midearth morse mult murders poetry posneg pres province seq-easy \
seq-hard sexes sov spell state trek ucc
HIDEGAME=hidegame
beforeinstall:
(cd ${.CURDIR}/datfiles; ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} \

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.8 1999/12/18 11:18:11 pjanzen Exp $
# $OpenBSD: Makefile,v 1.9 2002/05/23 18:43:00 deraadt Exp $
PROG= robots
CFLAGS+=-DMAX_PER_UID=5
@ -7,7 +7,6 @@ SRCS= extern.c init_field.c main.c make_level.c move.c move_robs.c \
MAN= robots.6
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
beforeinstall:
${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.6 2000/07/23 21:58:27 pjanzen Exp $
# $OpenBSD: Makefile,v 1.7 2002/05/23 18:43:00 deraadt Exp $
# @(#)Makefile 8.1 (Berkeley) 5/31/93
PROG= rogue
@ -8,7 +8,6 @@ SRCS= hit.c init.c inventory.c level.c machdep.c main.c \
room.c save.c score.c spec_hit.c throw.c trap.c use.c zap.c
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
MAN= rogue.6
.if make(install)

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.4 1998/07/24 00:10:41 millert Exp $
# $OpenBSD: Makefile,v 1.5 2002/05/23 18:43:00 deraadt Exp $
PROG= sail
SRCS= main.c pl_main.c pl_1.c pl_2.c pl_3.c pl_4.c pl_5.c pl_6.c pl_7.c \
@ -7,6 +7,5 @@ SRCS= main.c pl_main.c pl_1.c pl_2.c pl_3.c pl_4.c pl_5.c pl_6.c pl_7.c \
MAN= sail.6
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
.include <bsd.prog.mk>

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.5 2001/02/18 16:03:01 pjanzen Exp $
# $OpenBSD: Makefile,v 1.6 2002/05/23 18:43:00 deraadt Exp $
# @(#)Makefile 8.1 (Berkeley) 5/31/93
PROG= snake
@ -6,13 +6,11 @@ SRCS= snake.c snscore.c
MAN= snake.6
DPADD= ${LIBM} ${LIBCURSES}
LDADD= -lm -lcurses
HIDEGAME=hidegame
MLINKS=snake.6 snscore.6
beforeinstall:
${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
${DESTDIR}/var/games/snakerawscores
(cd ${DESTDIR}/usr/games; rm -f snscore; ln -s dm snscore)
(cd ${DESTDIR}/usr/games/hide; rm -f snscore; ln -s snake snscore)
.include <bsd.prog.mk>

View File

@ -1,11 +1,10 @@
# $OpenBSD: Makefile,v 1.5 1998/09/24 06:45:07 pjanzen Exp $
# $OpenBSD: Makefile,v 1.6 2002/05/23 18:43:00 deraadt Exp $
PROG= tetris
SRCS= input.c screen.c shapes.c scores.c tetris.c
MAN= tetris.6
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
beforeinstall:
@if [ ! -f ${DESTDIR}/var/games/tetris.scores ]; then \

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.4 1999/03/12 03:02:37 pjanzen Exp $
# $OpenBSD: Makefile,v 1.5 2002/05/23 18:43:00 deraadt Exp $
PROG= trek
SRCS= abandon.c attack.c autover.c capture.c check_out.c checkcond.c \
@ -11,7 +11,6 @@ SRCS= abandon.c attack.c autover.c capture.c check_out.c checkcond.c \
MAN= trek.6
DPADD= ${LIBM}
LDADD= -lm
HIDEGAME=hidegame
.if make(install)
SUBDIR+= USD.doc

View File

@ -1,9 +1,8 @@
# $OpenBSD: Makefile,v 1.4 1998/07/24 00:10:46 millert Exp $
# $OpenBSD: Makefile,v 1.5 2002/05/23 18:43:00 deraadt Exp $
PROG= worm
MAN= worm.6
DPADD= ${LIBCURSES}
LDADD= -lcurses
HIDEGAME=hidegame
.include <bsd.prog.mk>

View File

@ -1,8 +1,7 @@
# $OpenBSD: Makefile,v 1.4 1997/09/21 11:37:20 deraadt Exp $
# $OpenBSD: Makefile,v 1.5 2002/05/23 18:43:00 deraadt Exp $
PROG= wump
MAN= wump.6
HIDEGAME=hidegame
beforeinstall:
${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 \