aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
Commit message (Expand)AuthorAge
...
* git: change calling convention of safe_git to have named argumentsSimon McVittie2016-12-28
* git: Do the revert operation in a secondary working tree•••This avoids leaving the git directory in an inconsistent state if the host system is rebooted while we are processing a revert. Simon McVittie2016-12-28
* git: Turn $git_dir into a stack•••This will be necessary when we use a secondary working tree to do reverts without leaving the primary working tree in an inconsistent state. Simon McVittie2016-12-28
* Try revert operations (on a branch) before approving them•••Otherwise, we have a time-of-check/time-of-use vulnerability: rcs_preprevert previously looked at what changed in the commit we are reverting, not at what would result from reverting it now. In particular, if some files were renamed since the commit we are reverting, a revert of changes that were within the designated subdirectory and allowed by check_canchange() might now affect files that are outside the designated subdirectory or disallowed by check_canchange(). It is not sufficient to disable rename detection, since git older than 2.8.0rc0 (in particular the version in Debian stable) silently accepts and ignores the relevant options. OVE-20161226-0002 Simon McVittie2016-12-28
* Revert "Tell `git revert` not to follow renames"•••This doesn't work prior to git 2.8: `git revert` silently ignores the option and succeeds. We will have to fix CVE-2016-10026 some other way. This reverts commit 9cada49ed6ad24556dbe9861ad5b0a9f526167f9. Simon McVittie2016-12-28
* Force CGI::FormBuilder->field to scalar context where necessary•••CGI::FormBuilder->field has behaviour similar to the CGI.pm misfeature we avoided in f4ec7b0. Force it into scalar context where it is used in an argument list. This prevents two (relatively minor) commit metadata forgery vulnerabilities: * In the comments plugin, an attacker who was able to post a comment could give it a user-specified author and author-URL even if the wiki configuration did not allow for that, by crafting multiple values to other fields. * In the editpage plugin, an attacker who was able to edit a page could potentially forge commit authorship by crafting multiple values for the rcsinfo field. The remaining plugins changed in this commit appear to have been protected by use of explicit scalar prototypes for the called functions, but have been changed anyway to make them more obviously correct. In particular, checkpassword() in passwordauth has a known prototype, so an attacker cannot trick it into treating multiple values of the name field as being the username, password and field to check for. OVE-20161226-0001 Simon McVittie2016-12-28
* git: do not fail to commit if committer is anonymousSimon McVittie2016-12-28
* git: don't issue a warning if rcsinfo is undefined•••The intention here seems to be that $prev may be undefined, and the only way that can legitimately happen is for $params{token} to be undefined too. Simon McVittie2016-12-28
* Make pagestats output more deterministic.•••Sort in lexical order the pages that have the same number of hits. intrigeri2016-12-19
* Tell `git revert` not to follow renames•••Otherwise, we have an authorization bypass vulnerability: rcs_preprevert looks at what changed in the commit we are reverting, not at what would result from reverting it now. In particular, if some files were renamed since the commit we are reverting, a revert of changes that were within the designated subdirectory and allowed by check_canchange() might now affect files that are outside the designated subdirectory or disallowed by check_canchange(). Signed-off-by: Simon McVittie <smcv@debian.org> Simon McVittie2016-12-19
* inline: Prevent creating a file named ".mdwn" when the postform is submitted ...Joey Hess2016-09-21
* Update my surname to its new legal spelling.Amitai Schlair2016-09-14
* Use git log --no-renames for recentchanges•••Otherwise, recent git releases show renames as renames, and we do not see that newdir/test5 was affected. Bug-Debian: https://bugs.debian.org/835612 Simon McVittie2016-09-03
* Detect image type from .JPG just like .jpg (etc.).Amitai Schlair2016-05-08
* img: make img_allowed_formats case-insensitiveSimon McVittie2016-05-07
* inline: expand show=N backwards compatibility to negative N•••[[plugins/contrib]] uses show=-1 to show the post-creation widget without actually inlining anything. Simon McVittie2016-05-06
* img: Add back support for SVG images, bypassing ImageMagick and simply passin...•••SVG scaling by img directives has subtly changed; where before size=wxh would preserve aspect ratio, this cannot be done when passing them through and so specifying both a width and height can change the SVG's aspect ratio. (This patch looks significantly more complex than it was, because a large block of code had to be indented.) [smcv: drop trailing whitespace, fix some spelling] Simon McVittie2016-05-06
* img: check magic number before giving common formats to ImageMagick•••This mitigates CVE-2016-3714 and similar vulnerabilities by avoiding passing obviously-wrong input to ImageMagick decoders. Simon McVittie2016-05-05
* img: restrict to JPEG, PNG and GIF images by default•••This mitigates CVE-2016-3714. Wiki administrators who know that they have prevented arbitrary code execution via other formats can re-enable the other formats if desired. Simon McVittie2016-05-05
* img: force common Web formats to be interpreted according to extension•••A site administrator might unwisely set allowed_attachments to something like '*.jpg or *.png'; if they do, an attacker could attach, for example, a SVG file named attachment.jpg. This mitigates CVE-2016-3714. Simon McVittie2016-05-05
* Correctly handle filenames starting with a dash in add/rm/mv.Florian Wagner2016-03-17
* Process .md like .mdwn, but disallow web creation.Amitai Schlair2016-03-08
* loginselector: When only openid and emailauth are enabled, but passwordauth i...Joey Hess2016-03-02
* Fix typo.Amitai Schlair2016-02-20
* Compose relative URLs in RSS feeds correctly•••If the relative link from the (page generating the) RSS to the target would start with "./" or "../", just concatenating it with the URL to the directory containing the RSS is not sufficient. Go via URI::new_abs to fix this. Simon McVittie2016-01-21
* Force comments URL in RSS feeds to be absolute•••Now I'm going to get bug reports about wanting the URLs to be protocol-relative, but we can't win there as long as we generate RSS, because RSS doesn't have well-defined semantics for relative URLs (and the W3C's validator complains about them). If absolute URLs are a problem for you, please use Atom feeds. Simon McVittie2016-01-21
* Silence "used only once: possible typo" warnings for variables that are part ...Simon McVittie2016-01-19
* Merge remote-tracking branch 'smcv/pagestats-show'Simon McVittie2015-11-30
|\
| * pagestats: rename disp to show, and document itSimon McVittie2014-09-14
| * pagestats: consistent indentationSimon McVittie2014-09-14
| * pagestats: add disp parameterLouis2014-09-14
* | Merge remote-tracking branch 'smcv/ready/limit'Simon McVittie2015-11-30
|\|
| * Rename show parameter of [[!inline]] and [[!pagestats]] to limit•••The old name still works, if its value is numeric. This name allows a non-numeric "show" to mean the same thing it does for [[!map]] (show title, show description, etc.). Simon McVittie2014-09-14
* | ensure_committer: don't do anything if we have the environment variablesSimon McVittie2015-11-30
* | Don't memoize ensure_committer•••This makes it harder to test, and if we're invoking git anyway, a couple of extra subprocesses are no big deal. Simon McVittie2015-11-30
* | git: if no committer identity is known, set it to "IkiWiki <ikiwiki.info>" in...•••This resolves commit errors in versions of git that require a non-trivial committer identity. Simon McVittie2015-11-30
* | emailauth: Added emailauth_sender config.Joey Hess2015-10-02
* | Fix [[!meta name=foo]] by closing the open quote.Amitai Schlair2015-08-22
* | Squelch regex deprecation warnings from Perl 5.22.•••Specifically: "Unescaped left brace in regex is deprecated, passed through in regex" Amitai Schlair2015-06-14
* | img: stop ImageMagick trying to be clever if filenames contain a colon•••$im->Read() takes a filename-like argument with several sets of special syntax. Most of the possible metacharacters are escaped by the default `wiki_file_chars` (and in any case not particularly disruptive), but the colon ":" is not. It seems the way to force ImageMagick to treat colons within the filename as literal is to prepend a colon, so do that. Simon McVittie2015-06-13
* | inline: change default sort order from age to "age title" for determinismSimon McVittie2015-06-13
* | polygen: if deterministic build is requested, use a well-known random seedSimon McVittie2015-06-09
* | haiku: if deterministic build is requested, return a hard-coded haikuSimon McVittie2015-06-09
* | brokenlinks: sort the pages that link to the missing page, for better reprodu...Simon McVittie2015-06-09
* | Make the attachment plugin work with CGI.pm 4.x (Closes: #786586; workaround ...Simon McVittie2015-06-07
* | Do not directly enable emailauth by default, only indirectly via openid•••This avoids nasty surprises on upgrade if a site is using httpauth, or passwordauth with an account_creation_password, and relying on only a select group of users being able to edit the site. We can revisit this for ikiwiki 4. Simon McVittie2015-05-27
* | sohrten url in subjectJoey Hess2015-05-19
* | nicer layout of subjectJoey Hess2015-05-19
* | add url to subject of email•••The wikiname can be pretty un-helpful, the user will probably regognise the url since they were just at it. Joey Hess2015-05-19
* | cloak user PII when making commits etc, and let cloaked PII be used in banned...•••This was needed due to emailauth, but I've also wrapped all IP address exposure in cloak(), although the function doesn't yet cloak IP addresses. (One IP address I didn't cloak is the one that appears on the password reset email template. That is expected to be the user's own IP address, so ok to show it to them.) Thanks to smcv for the pointer to http://xmlns.com/foaf/spec/#term_mbox_sha1sum Joey Hess2015-05-14