X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/02c1b8b8c77a58b1f5b3575a3f0d8ed58117e041..623c7e17989f53ef049f12639950d2c50c9edd4f:/doc/bugs/About___37__2F_problem.mdwn?ds=sidebyside diff --git a/doc/bugs/About___37__2F_problem.mdwn b/doc/bugs/About___37__2F_problem.mdwn index 9a8fed22f..d45325711 100644 --- a/doc/bugs/About___37__2F_problem.mdwn +++ b/doc/bugs/About___37__2F_problem.mdwn @@ -14,3 +14,82 @@ Its url include a %2F, like below: > http://172.16.0.109/ikiwiki.cgi?do=blog&from=.%2Fbugs&subpage=1&title=aaa I use ikiwiki 3.20180311 + +---- + +I have found that it is not "%2F"'s problem, it just that inline directive can +not deal with Chinese char, the below link can work + + http://172.16.0.109/ikiwiki.cgi?do=blog&from=aaa%2Fbugs&subpage=1&title=aaa + +--- + +> I don't think this is actually caused by the Chinese text. The problem is that +> you used `rootpage="./bugs"`, which leads to the `blog` request handler +> generating an invalid page name. If you change it to `rootpage="bugs"` does +> that fix the error? +> +> Ideally either the `inline` directive or the `blog` request handler would +> understand and remove `./`, if it's something that makes sense in this context. +> --[[smcv]] + +--- + +> I have found the problem, it is inline plugin can not decode_utf8 "from", the below is patch: + + From f79dde20b275707f70df2d481919a079abec6c19 Mon Sep 17 00:00:00 2001 + From: Feng Shu + Date: Sun, 2 Dec 2018 08:38:34 +0800 + Subject: [PATCH 1/2] Fix inline plugin can no set rootpage to a UTF-8 page + + --- + IkiWiki/Plugin/inline.pm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + + diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm + index a85cd5d2f..f40956821 100644 + --- a/IkiWiki/Plugin/inline.pm + +++ b/IkiWiki/Plugin/inline.pm + @@ -125,7 +125,7 @@ sub sessioncgi ($$) { + error(gettext("please enter a page title")); + } + # if the page already exists, munge it to be unique + - my $from=$q->param('from'); + + my $from=decode_utf8($q->param('from')); + my $add=""; + while (exists $IkiWiki::pagecase{lc($from."/".$page.$add)}) { + $add=1 unless length $add; + -- + 2.19.0 + +--- + +> [Request for clarification removed] +> +> I've now been able to reproduce this bug, and confirmed that your patch +> fixes it. [[Patch now applied|done]]. +> +> (For other maintainers' reference: when testing Unicode bugs that +> relate to page titles, using Unicode that is considered to be +> punctuation, like ¬ or emoji, will probably not work; page titles +> treat `[:alnum:]` and `^[:alnum:]` differently.) +> +> In future bug reports it would be useful if you could provide a minimal +> example or test, perhaps on the [[sandbox]] on this wiki or as a unit +> test in `t/*.t` in the ikiwiki source code, that demonstrates this bug +> and would be fixed by the patch. If you've found multiple bugs, a +> separate example or test for each one would be easiest to deal with. +> +> You can run all the tests with: +> +> ./Makefile.PL +> make +> make test +> +> or a single test with something like: +> +> ./Makefile.PL +> make +> PERL5LIB=. ./t/git-cgi.t +> +> --[[smcv]]