aboutsummaryrefslogtreecommitdiff
path: root/doc/bugs/taint_and_-T.mdwn
blob: 21ef17673a05132bb7f1fec015e60fe7c15bf367 (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
By default, tflag is not defined. But ikiwiki.in has -T causing build failure:

perl -Iblib/lib   ikiwiki.out -libdir . -setup docwiki.setup -refresh
"-T" is on the #! line, it must also be used on the command line at ikiwiki.out
line 1.

> pm_filter removes the -T from ikiwiki.in when generating ikiwiki.out
> unless NOTAINT=0 is set. I cannot reproduce your problem. --[[Joey]]

>> Thanks. Now I see. NetBSD and DragonFly and several other systems don't have /usr/bin/perl so that path is replaced in the sh-bang lines of various scripts. So it doesn't match in the pm_filter expression. Can you please consider providing a variable or not matching on that assumed path to perl.

    --- pm_filter.orig      2008-04-28 07:59:58 -0700
    +++ pm_filter   2008-04-28 08:01:21 -0700
    @@ -20,6 +20,6 @@
                    $_="use lib '$libdir';\n";
            }
     }
    -elsif ($. == 1 && ($ENV{NOTAINT} || ! exists $ENV{NOTAINT}) && m{^(#!/usr/bin/perl) -T$}) {
    +elsif ($. == 1 && ($ENV{NOTAINT} || ! exists $ENV{NOTAINT}) && m{^(#!.*) -T$}) {
            $_=qq{$1\n};
     }

>> --[[JeremyReed]]

>> I could look for "#!.*perl -T", if that would work. #!.*-T is perhaps
>> over-broad. --[[Joey]]

>>> Yes, being more precise should be fine. Note that some may have bin/perl5 or bin/perl5.8.8 for example, so please consider optional number, like ^(#!/.*/perl[0-9]*.*) -T$ or something like that.

[[done]]