MiniWikiBugs

This page keeps track of bugs in MiniWiki. Once they are fixed in CVS, they will be marked as fixed here. Once they are in a released version, they can be removed from here.



Content-Type

This is wrong:

$r->send_http_header("image/$img_ext");

There is no such type as image/jpg for instance. Ok, if we're running in mod_perl you don't do this, you use a sub-request which is likely to be more accurate. Perhaps it's not worth trying to continue support for running outside mod_perl, if you have to make compromises like this. --jammin

Since I don't run any non-mod_perl environments, I've been thinking of stripping all that code out and forcing mod_perl... what do people think? --Wim


Encoding

$cvstext =~ s/</</g;
$cvstext =~ s/>/>/g;

For correct escaping you should use Apache::Util::escape_html or HTML::Entities::encode_entities. In particular the above misses conversion of ampersand to & amp; which means that the above lines get wrecked every time this text is edited --jammin

I've fixed this in my local copy just now, but I'm having problems committing to CVS... Wim



Sorry to be a bugbear ;-) --jammin

No worries, I'm glad the coding is getting reviewed. There are some security and performance issues that can probably be ferrited out yet. --Wim


Caching listchanges

Caching .listchanges defeats the getargs. For instance if the first call to listchanges is "listchanges?maxpages=10", all subsequent calls even with maxpages=30 get the cached list of 10. Conversely if the first call doesn't have any getargs, all subsequent getargs will fail to do anything. --jammin

Regarding the arguments: I'll probably have to add that to the cached filename or something. Means there will be more dot files but that's ok. --Wim

Listchanges

I think listchanges only lists the most recent change in each file. I don't think this is what most people expect or want. The most recent change is not necessarily the most important one. --jammin

It was easiest to code that way, considering how the pages are stored in RCS. As long as maxpages/maxchanges are being used, it's fairly fast. Currently, it's essentially order the files by last modified date, then grabbing the last comment from it. Having to look at every change in the log files could get nasty. A review of what rlog offers might have to be done. --Wim


Page titles with spaces

You can make page titles with spaces in them, and almost everything works. The listpages page doesn't, though. The RCS object isn't made correctly. If you fix the call to rcs_open so that you don't pass it spaces like this

my $spaceless = $page;
$spaceless =~ s/(\s)/\\$1/g;

my $obj = &rcs_open($r, $spaceless);

around line 1162, then that page is made a little better.

I then had to augment the regular expression in the rcs_open sub:

if ($file =~ /^([0-9a-zA-Z\ \_\:\.\-\\]+)$/) {

Everything else appears to work fine. I'm not sure if I mind pages with spaces or not, but sometimes they get made. --amoore

Actually, I found it a lot easier to fix it in RCS.pm. I sent a patch to the author, but he hasn't included it yet... Wim


Not a bug in MiniWiki but in HTML::FromText as a result of using text2html with tables=>1 and paras=>1 when there are paras with trailing space. Basically, my apache error logs are packed with warnings as a result!

See http://rt.cpan.org/NoAuth/Bug.html?id=11516 for bug report with minimal test case --msemtd


See also MiniWiki