summaryrefslogtreecommitdiffstats
path: root/crawl-ref/INSTALL.txt
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2010-12-26 17:16:35 +0100
committerAdam Borowski <kilobyte@angband.pl>2010-12-26 22:01:45 +0100
commitcfd4ff5b06abeded847e2f77b629002b77fa0351 (patch)
treeea0340f2201cdbb05ee87cdea1fdb0a9746a95da /crawl-ref/INSTALL.txt
parent645151cb5fe6ede8ceb035e1955df9cdea3952ed (diff)
downloadcrawl-ref-cfd4ff5b06abeded847e2f77b629002b77fa0351.tar.gz
crawl-ref-cfd4ff5b06abeded847e2f77b629002b77fa0351.zip
Update INSTALL.txt a bit.
* setgid installs are gone * SAVEDIR must be set * Lua bindings are on by default (since forever)
Diffstat (limited to 'crawl-ref/INSTALL.txt')
-rw-r--r--crawl-ref/INSTALL.txt54
1 files changed, 20 insertions, 34 deletions
diff --git a/crawl-ref/INSTALL.txt b/crawl-ref/INSTALL.txt
index 1a24282913..eb3c55c543 100644
--- a/crawl-ref/INSTALL.txt
+++ b/crawl-ref/INSTALL.txt
@@ -109,7 +109,7 @@ Stone Soup 0.6 includes Lua 5.1.4 in its source tree. Crawl uses Lua for
dungeon generation. In addition, Crawl has a (rudimentary) Lua interface
for users to run scripts which can do things such as conditionalise parts of
the .crawlrc/init.txt. Such user Lua scripts are enabled by default, but
-can be turned off by removing -DCLUA_BINDINGS from your makefile.
+can be turned off by appending NO_LUA_BINDINGS=y to the make invocation.
Unicode support needs libncursesw and its header files; these are usually
available in your operating system's package-management system. Unicode is
@@ -121,17 +121,6 @@ libncursesw).
Building on Unix (Linux, *BSD, Solaris, etc.)
---------------------------------------------
-Security:
-
-If you have untrusted local users, we highly recommend you do not install
-Crawl setgid or setuid. Just running "make install" will install Crawl
-setgid games, do *not* do this unless you're sure you trust your users.
-
-If you have untrusted users, you can use a chrooted game launcher such as
-dgamelaunch or compile with SAVEDIR=~/.crawl/, in which case each user has
-his or her own save directory and bones are not shared.
-
-
To install or not to install:
If only one user on the system (you) is going to be playing Crawl, you do
@@ -190,21 +179,17 @@ Building:
If you would rather, you can go to the source/contrib directory and type
'make', and the required libraries should be built for you.
-* If you want to install Crawl for multiple users, you can add the savegame
- path and game data path to the 'make' command line. For instance:
-
- make prefix=/usr/games/crawl SAVEDIR=saves/ DATADIR=data/
-
- Please note that SAVEDIR and DATADIR are relative to 'prefix'.
-
- Of course, you should make sure that SAVEDIR and DATADIR reference the
- appropriate directories. This is not necessary if only one user is going
- to play Crawl.
+* If you want to install Crawl system-wide rather than play from the build
+ directory, you need to specify a directory to hold the save and data files.
+ Specifying a prefix of /usr or /usr/local will default SAVEDIR to
+ "~/.crawl" and DATADIR to share/crawl (relative to the prefix).
+ SAVEDIR must be writeable and owned by the user running crawl, so except
+ for special cases it should be inside "~" (home directory).
* If you're installing Crawl for multiple users, run 'make install' as root.
Crawl will be copied into the directory specified by 'prefix' (see above).
- The save and data directories will be created if necessary, and the level
- layout and help files will be copied to the data directory.
+ The data directory will be created if necessary, and the level layout,
+ tile and help files will be copied there.
* If you do not want players to be able to script Crawl with Lua, add
'NO_LUA_BINDINGS=y' to the 'make' command-line.
@@ -241,10 +226,8 @@ for various reasons.
build configurations are intended for development and may not result in a
binary that can be distributed to others.
-* If you'd like users to be able to script Crawl with Lua, you can edit
- AppHdr.h, uncomment
- // #define CLUA_BINDINGS
- and rebuild to compile with Lua support. See the section on Lua for more
+* If you would like users to be unable to script Crawl with Lua, you can
+ specify NO_LUA_BINDINGS=y when building. See the section on Lua for more
information.
@@ -419,13 +402,16 @@ Lua
Security on multiuser systems (Unix):
-Enabling Lua user scripts is unsuitable for Crawl installed setuid or setgid
-- we have not audited the user scripting interface for security. If you're
-not planning to install Crawl setuid/setgid (not running set[ug]id is a good
-idea in general), you can enable the Lua user-script bindings safely.
+As of 0.8, setuid and setgid installs are no longer supported, thus any
+previous concerns are no longer applicable. Lua user scripts are sandboxed
+and should be generally safe even on public servers (besides increasing the
+attack surface).
-As of 0.3, the Lua source is included with Crawl. The only step needed to
-enable user-scripts is to uncomment CLUA_BINDINGS in AppHdr.h.
+As of 0.3, the Lua source is included with Crawl. It will be used if you
+don't have Lua headers installed. Note that we don't provide security
+support for Lua, and thus if you run a public server or a kiosk, it is
+strongly recommended to use system Lua which does receive security updates
+from whatever distribution you use.
PCRE