Go to file
Simon McVittie 4729ff0812 Exclude working directory from library path (CVE-2016-1238)
Current Perl versions put '.' at the end of the library search path
@INC, although this will be fixed in a future Perl release. This means
that when software loads an optionally-present module, it will be
looked for in the current working directory before giving up. An
attacker could use this to execute arbitrary Perl code from ikiwiki's
current working directory.

Removing '.' from the library search path in Perl is the correct
fix for this vulnerability, but is not trivial to do due to
backwards-compatibility concerns. Mitigate this (even if ikiwiki is run
with a vulnerable Perl version) by explicitly removing '.' from the
search path, and instead looking for ikiwiki's own modules relative
to the absolute path of the executable when run from the source
directory.

In tests that specifically want to use the current working directory,
use "-I".getcwd instead of "-I." so we use its absolute path, which
is immune to the removal of ".".
2016-07-28 09:50:21 +01:00
Bundle
IkiWiki improve warning message for multiple sources for page 2016-05-31 15:29:09 -04:00
cpan
debian Wrapper: allocate new environment dynamically 2016-05-11 09:18:14 +01:00
doc Revert strange translation of this page to French 2016-07-25 10:44:29 -04:00
icons Replace email authentication icon with one that is more instantly recognizable 2015-06-09 00:44:31 +01:00
plugins
po update 2016-06-23 16:39:36 -04:00
t Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
templates add missing </div> 2016-04-03 15:29:27 -04:00
themes
underlays Add license info to javascript underlay 2016-01-19 11:24:18 +00:00
.gitattributes
.gitignore .gitignore: ignore the l10n wiki 2016-01-21 09:52:44 +00:00
.perlcriticrc
CHANGELOG
IkiWiki.pm HTML-escape error messages (OVE-20160505-0012) 2016-05-05 23:43:17 +01:00
Makefile.PL Standardize on --long-option instead of -long-option 2015-03-01 16:15:01 +00:00
NEWS
README
auto-blog.setup Standardize on --long-option instead of -long-option 2015-03-01 16:15:01 +00:00
auto.setup allow adminuser to be an email address 2015-05-13 23:07:29 -04:00
docwiki.setup Exclude users/* from the HTML documentation 2016-05-06 07:53:53 +01:00
gitremotes
ikiwiki-calendar.in Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
ikiwiki-comment.in Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
ikiwiki-makerepo git: if no committer identity is known, set it to "IkiWiki <ikiwiki.info>" in .git/config 2015-11-30 19:34:04 +00:00
ikiwiki-mass-rebuild Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
ikiwiki-transition.in Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
ikiwiki-update-wikilist Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
ikiwiki-w3m.cgi
ikiwiki.in Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
ikiwiki.spec update 2016-06-23 16:39:36 -04:00
mdwn2man
pm_filter Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
wikilist Standardize on --long-option instead of -long-option 2015-03-01 16:15:01 +00:00

README

Use ./Makefile.PL to generate a Makefile, "make" will build the
documentation wiki and a man page, and "make install" will install ikiwiki.

All other documentation is in the ikiwiki documentation wiki, which is also
available online at <http://ikiwiki.info/>


A few special variables you can set while using the Makefile.PL:

  PROFILE=1 turns on profiling for the build of the doc wiki.
  (Uses Devel::NYTProf)

  NOTAINT=0 turns on the taint flag in the ikiwiki program. (Not recommended
  unless your perl is less buggy than mine -- see
  http://bugs.debian.org/411786)

  MAKE, FIND, and SED can be used to specify where you have the GNU
  versions of those tools installed, if the normal make, find, and sed
  are not GNU.

  There are also other variables supported by MakeMaker, including PREFIX,
  INSTALL_BASE, and DESTDIR. See ExtUtils::MakeMaker(3).

  In particular, INSTALL_BASE is very useful if you want to install ikiwiki
  to some other location, as it configures it to see the perl libraries
  there. See `doc/tips/nearlyfreespeech.mdwn` for an example of using this to
  install ikiwiki and its dependencies in a home directory.