summaryrefslogtreecommitdiff
path: root/Build/source/texk/kpathsea/doc/kpathsea.texi
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2009-11-10 10:26:52 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2009-11-10 10:26:52 +0000
commite6a9c88ada2f11dd61e4c4e39dff84944bed5787 (patch)
treefc83368bc46443e81c90a00e6864dd335a38f48e /Build/source/texk/kpathsea/doc/kpathsea.texi
parent522d28cda597706bae8ff7308c71f17901457300 (diff)
towards TL2010: texk/kpathsea
git-svn-id: svn://tug.org/texlive/trunk@15963 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/kpathsea/doc/kpathsea.texi')
-rw-r--r--Build/source/texk/kpathsea/doc/kpathsea.texi37
1 files changed, 32 insertions, 5 deletions
diff --git a/Build/source/texk/kpathsea/doc/kpathsea.texi b/Build/source/texk/kpathsea/doc/kpathsea.texi
index 371fad1f6f4..8c2af02124e 100644
--- a/Build/source/texk/kpathsea/doc/kpathsea.texi
+++ b/Build/source/texk/kpathsea/doc/kpathsea.texi
@@ -2,7 +2,7 @@
@setfilename kpathsea.info
@settitle Kpathsea: A library for path searching
-@set version 5.0.0
+@set version 5.1.0
@set month-year June 2009
@copying
@@ -2395,6 +2395,33 @@ words, if you are looking up a VF or some other file that need not
exist, don't use this.
@item
+@findex kpathsea_out_name_ok
+@TeX{} can write output files, via the @code{\openout} primitive; this opens
+a security hole vulnerable to Trojan horse attack: an unwitting user could
+run a @TeX{} program that overwrites, say, @file{~/.rhosts}. Analogous
+security holes exist for many other programs. To alleviate this, there is a
+configuration variable @code{openout_any}, which selects one of three levels
+of security. When it is set to @samp{a} (for ``any''), no restrictions are
+imposed. When it is set to @samp{r} (for ``restricted''), filenames
+beginning with @samp{.} are disallowed (except @file{.tex} because @LaTeX{}
+needs it). When it is set to @samp{p} (for ``paranoid'') additional
+restrictions are imposed: an absolute filename must refer to a file in (a
+subdirectory) of @code{TEXMFOUTPUT}, and any attempt to go up a directory
+level is forbidden (that is, paths may not contain a @samp{..} component).
+The paranoid setting is the default. (For backwards compatibility, @samp{y}
+and @samp{1} are synonyms of @samp{a}, while @samp{n} and @samp{0} are
+synonyms for @samp{r}.) The function @code{kpathsea_out_name_ok}, with a
+filename as second argument, returns @code{true} if that filename is
+acceptable to be opend for output or @code{false} otherwise.
+
+@item
+@findex kpathsea_in_name_ok
+Similarly, the function @code{kpathsea_in_name_ok}, with a filename as
+second argument, returns @code{true} if that filename is acceptable to be
+opend for input or @code{false} otherwise, depending on the value of the
+configuration variable @code{openin_any} (with @samp{a} as default).
+
+@item
@findex kpathsea_finish
To close the kpathsea library instance you are using, call
@code{kpathsea_finish}. This function closes any open log files and
@@ -2418,10 +2445,10 @@ separate library.)
@flindex c-*.h
@pindex autoconf@r{, recommended}
The @file{c-*.h} header files can also help your program adapt to many
-different systems. You will almost certainly want to use Autoconf for
-configuring your software if you use Kpathsea; I strongly recommend
-using Autoconf regardless. It is available from
-@url{ftp://prep.ai.mit.edu/pub/gnu/}.
+different systems. You will almost certainly want to use Autoconf and
+probably Automake for configuring and building your software if you use
+Kpathsea; I strongly recommend using Autoconf and Automake regardless.
+They are available from @url{ftp://ftp.gnu.og/pub/gnu/}.
@node Program-specific files