Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 78941
Collapse All | Expand All

(-)sword-1.5.8_pre1/utilities/diatheke/cgi/diatheke.pl.orig (-6 / +22 lines)
Lines 25-35 Link Here
25
25
26
$version = "4.2";
26
$version = "4.2";
27
27
28
sub shell_escape {
29
    my $input = shift;
30
    my $result = '';
31
32
    foreach my $i (split //, $input) {
33
       if ($i eq "'") {
34
           $result .= "'\\''";
35
       } else {
36
           $result .= $i;
37
       }
38
    }
39
    return $result;
40
}
41
28
sub plussifyaddress  {
42
sub plussifyaddress  {
29
    ($p_ver = @_[0]) =~ tr/ /+/; 
43
    ($p_ver = @_[0]) =~ tr/ /+/; 
30
    $p_newline = "<a href=\"$scriptname?verse=$p_ver&@_[1]=on\">";
44
    $p_newline = "<a href=\"$scriptname?verse=$p_ver&@_[1]=on\">";
31
    return $p_newline;
45
    return $p_newline;
32
}
46
}
47
$locale = shell_escape($locale);
33
48
34
sub urlvers {
49
sub urlvers {
35
    $u_verse = @_[0];
50
    $u_verse = @_[0];
Lines 85-93 Link Here
85
	    $verse = $mydata;
100
	    $verse = $mydata;
86
	    $verse =~ tr/+/ /;
101
	    $verse =~ tr/+/ /;
87
	    $verse =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
102
	    $verse =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
103
            $verse = shell_escape($verse);
88
	}
104
	}
89
	elsif ($varname eq "search" && $mydata ne "" && $mydata ne "off") {
105
	elsif ($varname eq "search" && $mydata ne "" && $mydata ne "off") {
90
	    $search = "-s $mydata";
106
            $search = "-s '" . shell_escape($mydata) . "'";
91
	}
107
	}
92
	elsif ($varname eq "range" && $mydata ne "" && $mydata ne "off") {
108
	elsif ($varname eq "range" && $mydata ne "" && $mydata ne "off") {
93
	    $range = $mydata;
109
	    $range = $mydata;
Lines 141-153 Link Here
141
	    $debug = 1;
157
	    $debug = 1;
142
	}
158
	}
143
	elsif ($varname eq "locale") {
159
	elsif ($varname eq "locale") {
144
	    $locale = $mydata;
160
            $locale = shell_escape($mydata);
145
	}
161
	}
146
	elsif ($varname eq "maxverses") {
162
	elsif ($varname eq "maxverses") {
147
	    $maxverses = $mydata;
163
            $maxverses = shell_escape($mydata);
148
	}
164
	}
149
	elsif ($mydata eq "on" || $mydata eq "ON") {
165
	elsif ($mydata eq "on" || $mydata eq "ON") {
150
	    $versions[$n] = $varname;
166
            $versions[$n] = shell_escape($varname);
151
	    $n++;
167
	    $n++;
152
	}
168
	}
153
    }
169
    }
Lines 431-437 Link Here
431
}
447
}
432
for ($i = 0; $i < $n; $i++) {
448
for ($i = 0; $i < $n; $i++) {
433
    
449
    
434
    $line = "$diatheke $search $range $optionfilters $latinxlit -l $locale -m $maxverses -f cgi -b $versions[$i] -k \"$verse\" $err";
450
    $line = "$diatheke $search $range $optionfilters $latinxlit -l '$locale' -m '$maxverses' -f cgi -b '$versions[$i]' -k '$verse' $err";
435
451
436
    if ($debug) {
452
    if ($debug) {
437
	print "<br /><i>command line: $line\n</i><br /><br />";
453
	print "<br /><i>command line: $line\n</i><br /><br />";
Lines 444-450 Link Here
444
460
445
#    Parse and link to Strong's references if present
461
#    Parse and link to Strong's references if present
446
    
462
    
447
    $info = `$diatheke -b info -k $versions[$i] $err`;
463
    $info = `$diatheke -b info -k '$versions[$i]' $err`;
448
    $info =~ /([^\;]+)\;([^\;]+)/;
464
    $info =~ /([^\;]+)\;([^\;]+)/;
449
    $format = $1;
465
    $format = $1;
450
    $type = $2;
466
    $type = $2;

Return to bug 78941