Commit Graph

18887 Commits (77d70540a048a67c9087387e2a7cc9e61b2b67c0)

Author SHA1 Message Date
Simon McVittie 3429e81596 changelog so far 2014-10-16 22:44:29 +01:00
Simon McVittie e1deb28e08 build-depend on libcgi-pm-perl too, for tests 2014-10-16 22:40:52 +01:00
Simon McVittie edbc54ec6e Explicitly depend on CGI.pm, which is no longer in Perl core
I was going to depend on the version that has CGI->param_fetch,
but that has been supported since 2.37, which is older than oldstable.
2014-10-16 22:24:48 +01:00
Amitai Schlair 09e7c1ad99 IkiWiki::Plugin::openid: as a precaution, do not call non-coderefs
We're running under "use strict" here, so if CGI->param's array-context
misbehaviour passes an extra non-ref parameter, it shouldn't be executed
anyway... but it's as well to be safe.

[commit message added by smcv]
2014-10-16 22:24:48 +01:00
Amitai Schlair cfbcbda0ad Call CGI->param_fetch instead of CGI->param in array context
CGI->param has the misfeature that it is context-sensitive, and in
particular can expand to more than one scalar in function calls.
This led to a security vulnerability in Bugzilla, and recent versions
of CGI.pm will warn when it is used in this way.

In the situations where we do want to cope with more than one parameter
of the same name, CGI->param_fetch (which always returns an
array-reference) makes the intention clearer.

[commit message added by smcv]
2014-10-16 22:24:47 +01:00
Simon McVittie f4ec7b06d9 Make sure we do not pass multiple CGI parameters in function calls
When CGI->param is called in list context, such as in function
parameters, it expands to all the potentially multiple values
of the parameter: for instance, if we parse query string a=b&a=c&d=e
and call func($cgi->param('a')), that's equivalent to func('b', 'c').
Most of the functions we're calling do not expect that.

I do not believe this is an exploitable security vulnerability in
ikiwiki, but it was exploitable in Bugzilla.
2014-10-16 22:24:47 +01:00
https://www.google.com/accounts/o8/id?id=AItOawk8U772S3jDrZJCO0WA5WaDLjJv5mMl6Yw d8943d8668 Added a comment: It was an Apache problem... 2014-10-16 10:57:26 -04:00
smcv 99bc12a3ab branch 2014-10-16 08:11:52 -04:00
smcv 6de6479b3c comment 2014-10-16 07:52:05 -04:00
Simon McVittie 22961f81dd Emit vestigial xmlns so people can still pass ikiwiki output through XSLT 2014-10-16 11:25:28 +01:00
Simon McVittie b679fc65f5 We no longer have a test for DTD-valid XHTML 1.0, but at least check well-formedness
This means that people can do XSLT nonsense if they want to.

The failures are currently marked TODO because not everything in the
docwiki is in fact well-formed.
2014-10-16 11:25:10 +01:00
Simon McVittie fb7225dbe6 Remove now-redundant test-cases for a non-default html5 setting 2014-10-16 11:08:01 +01:00
Simon McVittie a052771287 Now that we're always using HTML5, <base href> can be relative 2014-10-16 11:05:19 +01:00
Simon McVittie 490a1eca7b Always produce HTML5 doctype and new attributes, but not new elements
According to caniuse.com, a significant fraction of Web users are
still using Internet Explorer versions that do not support HTML5
sectioning elements. However, claiming we're XHTML 1.0 Strict
means we can't use features invented in the last 12 years, even if
they degrade gracefully in older browsers (like the role and placeholder
attributes).

This means our output is no longer valid according to any particular
DTD. Real browsers and other non-validator user-agents have never
cared about DTD compliance anyway, so I don't think this is a real loss.
2014-10-16 11:04:53 +01:00
Simon McVittie 1561fbb365 Replace PayPal and Flattr buttons with text links
In particular, this avoids loading third-party resources from the
offline documentation (see
<https://lintian.debian.org/tags/privacy-breach-donation.html>).
2014-10-16 09:47:07 +01:00
http://anastigmatix.net/ 0a6ca5c892 mention pagespec_alias patches 2014-10-15 22:53:41 -04:00
smcv a67e0d212c Added a comment 2014-10-15 19:30:22 -04:00
smcv 12d72abaa3 Added a comment 2014-10-15 19:26:52 -04:00
openmedi cbf05056d4 Added a comment 2014-10-15 14:49:16 -04:00
https://www.google.com/accounts/o8/id?id=AItOawlcaGfdn9Kye1Gc8aGb67PDVQW4mKbQD7E 6c4c71c558 Added a comment 2014-10-15 09:43:25 -04:00
openmedi a454b4c0f0 Added a comment 2014-10-15 08:33:40 -04:00
https://www.google.com/accounts/o8/id?id=AItOawmbuZI4n1RsTe3Yeaqb5F-yhtR7a8BWEIE 9802e98652 2014-10-15 00:18:10 -04:00
Amitai Schlair 3b6674a695 as usual, macports hasn't moved 2014-10-14 18:46:41 -04:00
https://www.google.com/accounts/o8/id?id=AItOawlcaGfdn9Kye1Gc8aGb67PDVQW4mKbQD7E f5c57d36b9 Added a comment 2014-10-14 18:41:59 -04:00
https://www.google.com/accounts/o8/id?id=AItOawlobQ5j7hQVIGkwMWW3yKB_DWqthJcpnsQ 555dd086ce 2014-10-14 18:31:11 -04:00
https://www.google.com/accounts/o8/id?id=AItOawlcaGfdn9Kye1Gc8aGb67PDVQW4mKbQD7E cee4c16187 Added a comment 2014-10-14 18:25:13 -04:00
Amitai Schlair ed35163be0 one report suffices; not yet clear there's a bug 2014-10-14 18:19:09 -04:00
https://www.google.com/accounts/o8/id?id=AItOawk8U772S3jDrZJCO0WA5WaDLjJv5mMl6Yw 194c0a1084 2014-10-14 09:46:55 -04:00
https://www.google.com/accounts/o8/id?id=AItOawk8U772S3jDrZJCO0WA5WaDLjJv5mMl6Yw 627ed5f93c 2014-10-14 09:20:24 -04:00
Amitai Schlair bc6efdd735 clarify 2014-10-13 16:21:15 -04:00
Amitai Schlair e42b1409b2 findings and questions 2014-10-13 16:13:33 -04:00
Simon McVittie 17fccbca94 Do not pass ignored sid parameter to checksessionexpiry
checksessionexpiry's signature changed from
(CGI::Session, CGI->param('sid')) to (CGI, CGI::Session) in commit
985b229b, but editpage still passed the sid as a useless third
parameter, and this was later cargo-culted into remove, rename and
recentchanges.
2014-10-12 18:03:57 +01:00
Simon McVittie 4e2bfe1e17 comments: don't log remote IP address for signed-in users
The intention was that signed-in users (for instance via httpauth,
passwordauth or openid) are already adequately identified, but
there's nothing to indicate who an anonymous commenter is unless
their IP address is recorded.
2014-10-12 18:03:28 +01:00
Simon McVittie 08fd2e0806 google search plugin: use https for the search 2014-10-12 17:57:31 +01:00
smcv 4854473690 default User-Agent changed 2014-10-12 12:49:24 -04:00
Simon McVittie 56f8223f95 Set default User-Agent to something that doesn't mention libwww-perl
It appears that both the open-source and proprietary rulesets for
ModSecurity default to blacklisting requests that say they are
from libwww-perl, presumably because some script kiddies use libwww-perl
and are too inept to set a User-Agent that is "too big to blacklist",
like Chrome or the iPhone browser or something. This seems doomed to
failure but whatever.
2014-10-12 17:45:27 +01:00
smcv d7e749572c removed 2014-10-12 12:43:14 -04:00
smcv 202f172346 Added a comment 2014-10-12 12:42:54 -04:00
Amitai Schlair ec085acd82 help Markdown make a list 2014-10-12 12:42:13 -04:00
https://www.google.com/accounts/o8/id?id=AItOawlcaGfdn9Kye1Gc8aGb67PDVQW4mKbQD7E 59bb4bcc13 Added a comment: fixed in a recent release, I think 2014-10-12 12:40:18 -04:00
openmedi ee3b2429f3 2014-10-12 12:06:59 -04:00
Amitai Schlair 67e778f461 Replace shebang paths with the build-time $(PERL).
On non-Debian systems, /usr/bin/perl might not be the best available
Perl interpreter. Use whichever perl was used to run Makefile.PL,
unless it was "/usr/bin/perl", in which case there's nothing to do.
2014-10-12 11:08:13 -04:00
Amitai Schlair 47fff754c8 Extract test subs for each site. No change meant. 2014-10-12 09:30:31 -04:00
Amitai Schlair 508457fc05 Extract run_cgi(). No functional change intended. 2014-10-12 00:01:09 -04:00
Amitai Schlair 0db1679a3d Extract check_generated_content(). Same output. 2014-10-11 09:52:21 -04:00
Amitai Schlair dc872e42c8 Extract check_cgi_mode_bits(). No change intended. 2014-10-10 21:17:39 -04:00
Amitai Schlair cd9297322a Extract thoroughly_rebuild(), a slight test change.
I didn't try to parameterize when a test should fail when we can't
remove ikiwiki.cgi because there already isn't one. (Hooray, natural
language.) Instead, we stop worrying about it and always tolerate
ENOENT.
2014-10-10 20:40:24 -04:00
Amitai Schlair 7d82570fe0 Extract write_setup_file(). No functional change.
Test output differs only by the line numbers of the TODO items.
2014-10-10 20:25:54 -04:00
https://www.google.com/accounts/o8/id?id=AItOawmbuZI4n1RsTe3Yeaqb5F-yhtR7a8BWEIE 9f874c49d7 2014-10-09 23:47:44 -04:00
smcv 79df1b4a50 clarify further 2014-10-09 14:50:00 -04:00