aboutsummaryrefslogtreecommitdiff
path: root/doc/bugs/Insecure_dependency_in_eval_while_running_with_-T_switch.mdwn
blob: c3beb82199fc581fb5704d89a4ede7036fe7a8bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Hello,

I had to fix a location of one page in my repo via `svn move` and now I have
a problem with rebuilding my ikiwiki pages:

    ikiwiki --setup ikiwiki.setup
    [...]
    tworzenie strony ubuntu/linki.mdwn
    tworzenie strony knoppix/bootowalny_pendrive_usb.mdwn
    tworzenie strony helponformatting.mdwn
    Insecure dependency in eval while running with -T switch at /usr/share/perl5/IkiWiki/Plugin/conditional.pm line 30.
    BEGIN failed--compilation aborted at (eval 5) line 110.

Temporarily I've disabled conditional plugin to avoid that bug.

PS. I still use ikiwiki 1.50 backported for Debian 'sarge'.

--[[Paweł|ptecza]]

---

Hello again :)

I've just builded successfully ikiwiki 2.00 package for Debian 'sarge'.
Unfortunately, now I still can't to rebuild my ikiwiki pages:

    ikiwiki --setup ikiwiki.setup
    [...]
    renderowanie ikiwiki/backport.mdwn
    renderowanie ikiwiki/instalacja.mdwn
    renderowanie ikiwiki/problemy.mdwn
    Insecure dependency in eval while running with -T switch at /usr/share/perl5/IkiWiki.pm line 1005.
    BEGIN failed--compilation aborted at (eval 5) line 111.

I didn't apply your following old patch against `Ikiwiki.pm` file:

    --- IkiWiki.pm-orig 2007-05-10 11:16:47.000000000 +0200
    +++ IkiWiki.pm      2007-05-10 11:16:07.000000000 +0200
    @@ -993,7 +993,18 @@
        my $spec=shift;
        my $from=shift;
 
    -   return eval pagespec_translate($spec);
    +   my $pagespec = pagespec_translate($spec);
    +
    +   my $newpagespec;
    +
    +   local($1);
    +   if ($pagespec =~ /(.*)/) {
    +           $newpagespec = $1;
    +   } else {
    +           die "oh";
    +   }
    +
    +   return eval $newpagespec;
     }
 
     package IkiWiki::PageSpec;

because `patch` command fails:

    patch -p0 < ../IkiWiki.pm.patch 
    patching file IkiWiki.pm
    Hunk #1 FAILED at 993.
    1 out of 1 hunk FAILED -- saving rejects to file IkiWiki.pm.rej

Could you please fix that patch?  I guess how to do it, but I don't want
to break the code I distribute in my backport ;)

--[[Paweł|ptecza]]

> It's not my patch.. IIRC my suggestion was simply to do this: --[Joey]]

	Index: IkiWiki.pm
	===================================================================
	--- IkiWiki.pm	(revision 3565)
	+++ IkiWiki.pm	(working copy)
	@@ -1005,7 +1005,7 @@
 			unshift @params, "location";
	 	}
	 
	-	my $ret=eval pagespec_translate($spec);
	+	my $ret=eval possibly_foolish_untaint(pagespec_translate($spec));
	 	return IkiWiki::FailReason->new("syntax error") if $@;
	 	return $ret;
	 }

>> Thanks a lot, Joey! It works :)
>>
>> BTW, I was quite sure that you sent me the old patch via e-mail long time ago.
>> Maybe I found it at old ikiwiki home page? I don't remember it now.
>>
>> --[[Paweł|ptecza]]

----

I'm marking this [[done]] since it only affects sarge. Sarge users should
use the patch above. --[[Joey]]