recently fixed bugs
Having read i18n_characters_in_post_title, I have a page named St John's
in a file named St_John__39__s.mdwn
. Regular wikilinks like \[[St_John's]]
successfully point to that page. However, if I tag a page with [[tag St_John's]]
, that link is shown as pointing to a non-existant page. Modify the tag to read [[tag St_John__39__s]]
works around the problem.
done in 1.49 --Joey
Posted Sun Aug 30 21:49:15 2009- The URL is rewritten to http://cvs.savannah.gnu.org/viewvc/gnumach/ddb%2Fdb%5Fexpr%2Eh?view=log&root=hurd&pathrev=gnumach-1-branch, which the remove server doesn't like. Mind the esacping of [^A-Za-z0-9]. Might this be a problem of the web server?
Also, I'd like to put the shortcut usages into backticks
-- <a href="http://ikiwiki.info/shortcuts/">shortcuts</a>
--
to have them displayed in the usual backtick-formatting.
That also doesn't work, but this is an already-reported issue, as far as I know.
Posted Sun Aug 30 21:49:15 2009The encoding of the shortcut text is done so that a shortcut can have spaces in it etc and they're converted into a valid url. As in the example of a shortcut to the wikipedia page for "War of 1812" (although the example puts underscores in, it should also work without them).
I suspect that if I dropped the endoding of characters other than space and maybe plus, it would break some shortcuts though. Consider a shortcut used to do a google search for "foo&bar". You want to encode the "&" in that search, otherwise google will search for just foo!
It does seem to be partly a web server problem, since savannah's viewvc doesn't decode the escaped characters in the path string.
I could add a %S that is not escaped, and leave %s escaped.. --Joey
done
Using ikiwiki version 2.5gpa1 (the backport to Debian 3.1), I suddenly started getting the following error when rebuilding the wiki:
successfully generated /home/ikiwiki/cgi-bin/ikiwiki.cgi Insecure dependency in rmdir while running with -T switch at /usr/share/perl5/IkiWiki/Render.pm line 242. BEGIN failed--compilation aborted at (eval 5) line 130.
I've no idea what's happening (hey, I'm a C programmer), but I've hacked prune() to workaround this as follows:
use Scalar::Util qw(tainted); sub prune ($) { #{{{ my $file=shift; unlink($file); my $dir=dirname($file); if (!tainted($file) && $dir =~ /^(.*)$/) { $dir = $1; } while (rmdir($dir)) { $dir=dirname($dir); if (!tainted($file) && $dir =~ /^(.*)$/) { $dir = $1; } } } #}}}
Posted Sun Aug 30 21:49:15 2009Old versions of perl are known to have bugs with taint checking. I don't really support using ikiwiki with the perl 5.8.4 in debian oldstable, and would recommend upgrading. --Joey
The mercurial backend does not pass the --quiet option to hg, and it sometimes prints messages which are then taken for CGI output, causing errors and general trouble. --MichaĆ
--- iki/usr/share/perl5/IkiWiki/Rcs/mercurial.pm 2006-12-29 02:48:30.000000000 +0100
+++ /usr/share/perl5/IkiWiki/Rcs/mercurial.pm 2007-03-18 22:45:24.000000000 +0100
@@ -55,7 +55,7 @@
}
sub rcs_update () { #{{{
- my @cmdline = ("hg", "-R", "$config{srcdir}", "update");
+ my @cmdline = ("hg", "-q", "-R", "$config{srcdir}", "update");
if (system(@cmdline) != 0) {
warn "'@cmdline' failed: $!";
}
@@ -80,7 +80,7 @@
$message = possibly_foolish_untaint($message);
- my @cmdline = ("hg", "-R", "$config{srcdir}", "commit",
+ my @cmdline = ("hg", "-q", "-R", "$config{srcdir}", "commit",
"-m", "$message", "-u", "$user");
if (system(@cmdline) != 0) {
warn "'@cmdline' failed: $!";
@@ -92,7 +92,7 @@
sub rcs_add ($) { # {{{
my ($file) = @_;
- my @cmdline = ("hg", "-R", "$config{srcdir}", "add", "$file");
+ my @cmdline = ("hg", "-q", "-R", "$config{srcdir}", "add", "$file");
if (system(@cmdline) != 0) {
warn "'@cmdline' failed: $!";
}
Thanks much for the patch. done --Joey
Posted Sun Aug 30 21:49:15 2009As far as I can tell, ikiwiki is not checking the SSL certificate of the remote host when using openid authentication. If so, this would allow for man-in-the-middle type attacks. Alternatively, maybe I am getting myself confused.
Test #1: Enter URL as openid server that cannot be verified (either because the certificate is self signed or signed by an unknown CA). I get no SSL errors.
Test #2: Download net_ssl_test from dodgy source (it uses the same SSL perl library, and test again. It seems to complain (on same site ikiwiki worked with) when it can't verify the signature. Although there is other breakage with the version I managed to download (eg. argument parsing is broken; also if I try to connect to a proxy server, it instructs the proxy server to connect to itself for some weird reason).
For now, I want to try and resolve the issues with net_ssl_test, and run more tests. However, in the meantime, I thought I would document the issue here.
-- Brian May
Posted Sun Aug 30 21:49:15 2009Openid's security model does not rely on the openid consumer (ie, ikiwiki) performing any sanity checking of the openid server. All the security authentication goes on between your web browser and the openid server. This may involve ssl, or not.
For example, my openid is "http://joey.kitenet.net/". If I log in with this openid, ikiwiki connects to that http url to determine what openid server it uses, and then redirects my browser to the server (https://www.myopenid.com/server), which validates the user and redirects the browser back to ikiwiki with a flag set indicating that the openid was validated. At no point does ikiwiki need to verify that the https url is good. --Joey
If rootpage is "foo/Bar" and a directory "foo/bar" exists already, the new pages go into the "foo/Bar" directory instead of the existing "foo/bar".
But maybe this is intended behavior? --rdennis
Posted Sun Aug 30 21:49:15 2009It is. Ikiwiki does not try to subvert the case sensativity of the filesystem. It just avoids you having to get the case right when referring to existing files, by wikilinks or pagespecs --Joey
The following four PNG files have permissions 600 instead of 644 in the source tarball of ikiwiki-1.43:
- basewiki/smileys/icon-info.png
- basewiki/smileys/prio1.png
- basewiki/smileys/prio2.png
- basewiki/smileys/prio3.png
done in my sources --Joey
Thank you --Brix
Posted Sun Aug 30 21:49:15 2009I try to create wikilink in table. But it does not work. Here is example:
[[table class=table1 data="""
[[wikilink_test|index]]
[[wikilink_test\|index]]
[wikilink test](/servers/webmail1)
"""]]
First two wikilink entries do not work.
The last one is url link and it works but it is not a wikilink. Or maybe it does not matter if I use URL links in stead of wikilinks for local wiki content?
fixed --Joey
works !! Great!
What exactly is a difference between wikilink and URL reference to the same page ?
ikiwiki will not be able to track pages linked using urls as having a link.
Trying to report this I found something weird. I changed in the example [[ with || because wiki renders something wrongly. You can see what I tried originally here:
[[table class=table1 data="""
[[wikilink_test|servers/webmail1]]
[[wikilink_test|servers/webmail1]]
[wikilink test](/servers/webmail1)
"""]]
Please click edit to see unrendered text. First, it is not monospace-d (I have 4 spaces) and second, some wierd html is shown... Am I doing something wrong ?
Posted Sun Aug 30 21:49:15 2009See above for the right way to do it. Note that I also fixed a minor bug in ikiwiki to allow this. --Joey
Just curious ... if I wanted to have that block in monospace (four spaces in front of each line), how can I do that ?
Writing Low frequency oscillation causes the word "frequency" to show up in italics, since underscores are Markdown for italics. Using low frequency oscillation works in this case, because Wikipedia will redirect, but it's hardly clean. Maybe the shortcuts plugin should run pagetitle() on the text of its link? --Ethan
Posted Sun Aug 30 21:49:15 2009done --Joey
Versions 2.0 and 2.1 of ikiwiki, and I think earlier versions as well, allowed wiki links to have spaces in the link text. For example, [[ikiwiki logo page|logo]] should create an anchor tag referencing the logo page, and [[ikiwiki logo|logo/ikiwiki.png]] should create an image tag referencing the logo.
As of version 2.2, this no longer works. I think the pattern [[...|...]] should allow spaces before the pipe. I suspect this is the same problem as reported in discussion.
The above examples are ambiguous, only worked due to a bug, and were never documented to work. So I'm not inclined to re-add support for them.
If you look at WikiLink, it is clear that spaces cannot be used in WikiLinks. It also shows how to use underscores in the link text if you want multiple words.
This was a decision I made a long time ago due to the ambiguity between a WikiLink and a PreProcessorDirective. Is "[[foo bar|baz]]" a wikilink to baz with a link text of "foo bar", or an instance of preprocessor directive "foo" with a parameter of "bar|baz"? If it's interpreted as a wikilink today, that could change tomorrow if a new preprocessor directive is added.
Before version 2.2, ikiwiki actually first treated it as a preprocessor directive. If that failed, it output the preprocessor directive back onto the page, and next the wikilink code tried treating it as a wikilink. In 2.2, I fixed several problems with the way an unhandled preprocessor directive was re-output onto the page, by prefixing it with a '\' ... which makes it not be treated as a WikiLink.
If WikiLinks had ever been documented to work with spaces in them, then I'd feel I needed to support the pre 2.2 behavior, but I don't feel that I have to support old behavior that was never documented and happened due to a bug, so I current have no plans to bring the old behavior back. --Joey
I agree that the grammar should be unambiguous. It seems to me that the problem with spaces-in-wikilinks is caused by overloading the wikilink and preprocessor syntax to use the same symbols. If they didn't (and is there much advantage in them using the same symbols? I know in some cases you have something which is a wikilink and a preprocessor directive, but how often?) there'd be no problem with spaces.
If there was ever a future, syntax-breaking major release of ikiwiki (similar to python3000) I'd like to see this fixed as part of that. --JonDowland
You can enable
prefix_directives
and get the disambiguated behavior and spaces in wikilinks today. It will become the default in 3.0. --Joey
done
Posted Sun Aug 30 21:49:15 2009